分享

30个有用的Excel VBA代码(21~25)

 shelbypf 2019-04-03

30个有用的Excel VBA代码(21~25)

21.突出显示所选数据集中的空白单元格

虽然可以使用条件格式或“转到特殊”对话框突出显示空白单元格,但如果必须经常这样做,最好使用宏。

创建后,你可以将代码保存在个人宏工作簿中。

Sub HighlightBlankCells() Dim Dataset As Range Set Dataset = Selection Dataset.SpecialCells(xlCellTypeBlanks).Interior.Color = vbRed End Sub

在这个代码中,指定了红色单元格中要突出显示的空白单元格。

22.按单列对数据排序

可以使用下面的代码按指定列对数据排序。

Sub SortDataHeader() Range('DataRange').Sort Key1:=Range('A1'), Order1:=xlAscending, Header:=xlYes End Sub

请注意,我创建了一个名为“datarange”的命名范围,并使用它来代替单元格引用。

这里还使用了三个关键参数:参照之前的文章

23.按多列对数据排序

下面是将根据多个列对数据排序的代码(A列先排序,在进行B列排序)。

Sub SortMultipleColumns() With ActiveSheet.Sort .SortFields.Add Key:=Range('A1'), Order:=xlAscending .SortFields.Add Key:=Range('B1'), Order:=xlAscending .SetRange Range('A1:C13') .Header = xlYes .ApplyEnd With End Sub

注意,这个代码指定了首先根据A列排序,然后根据B列排序

24.如何只从字符串中获取数字部分

如果只从字符串中提取数字部分或文本部分,则可以在VBA中创建自定义函数.

然后,您可以在工作表中使用这个vba函数(就像普通的Excel函数一样),它将只从字符串中提取数字或文本部分.

下面是将创建函数从字符串中提取数字部分的VBA代码:

Function GetNumeric(CellRef As String) Dim StringLength As Integer StringLength = Len(CellRef)  For i = 1 To StringLength  If IsNumeric(Mid(CellRef, i, 1)) Then Result = Result & Mid(CellRef, i, 1)  End If Next i GetNumeric = Result End Function

您需要将代码放入模块中,然后可以在工作表中使用函数'=GetNumeric'.

此函数只接受一个参数,即要从中获取数值部分的单元格的单元格引用。

25.总是在激活特定选项卡的情况下打开工作簿

如果要打开一个工作簿,该工作簿总是在特定工作表的情况下打开,则可以使用以下代码。

当您希望在工作簿打开时激活指定工作表时,这将非常有用。

Private Sub Workbook_Open() Sheets(“Sheet1”).Select End Sub

请注意,此代码需要放在ThisWorkbook对象的“代码”窗口中

这意味着当您在VB编辑器中时,需要双击此工作簿对象并复制粘贴其中的代码。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多