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

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 .Apply
End 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编辑器中时,需要双击此工作簿对象并复制粘贴其中的代码。

私信 SQL 可以获取SQL代码的Excel文件

私信 视频 可以获取54集VBA入门视频

私信 VBA或 vba 可以获取文章中含VBA代码的Excel文件


分享到:


相關文章: