Mak*_*kah 4 vba microsoft-excel
我每天在工作中使用 VBA,但我不知道 Range 语法糖。我上个月看到 MSDN Range 页面时才知道。我试图找到具有此功能的文章,但没有找到。
有人知道VBA是否有比这更多的语法糖吗
范围:Range("A4:C100")
到[A4:C100]
或者
范围:Range("MY_DATE")
到[MY_DATE]
这些都做同样的事情:
Range(Cells(1, 2), Cells(2, 2)).Select
Range("B1:B2").Select
Dim rngB As Range
Set rngB = Range("B1:B2")
rngB.Select
Run Code Online (Sandbox Code Playgroud)
[B1:B2].Select
你没有很多选择
Dim strA As String
strA = "hello"
Run Code Online (Sandbox Code Playgroud)
strA = strA + "world"
并
strA = strA & "world"
做同样的事情(与号是首选)
strA &= "world"
并且strA += "world"
不工作。
您通常可以使用带有编号的实际默认工作表,而不是工作表的名称:
Worksheets("Name").Activate
Sheets("Name").Activate
'Worksheet "Name" is Sheet1 object
Sheet1.Activate
Run Code Online (Sandbox Code Playgroud)
另一个语法快捷方式用于访问和评估工作表函数。您可以使用方括号来评估公式,就像它在工作表上一样,而不是将繁琐的 VBA 语句串在一起。
Run Code Online (Sandbox Code Playgroud)Sub sugartest() 'long version MsgBox Application.WorksheetFunction.Average(ActiveSheet.Range("A1:D1")) 'short version MsgBox [AVERAGE(A1:D1)] End Sub
另一个语法快捷方式用于访问和评估工作表函数。您可以使用方括号来评估公式,就像它在工作表上一样,而不是将繁琐的 VBA 语句串在一起。
Sub sugartest()
'long version
MsgBox Application.WorksheetFunction.Average(ActiveSheet.Range("A1:D1"))
'short version
MsgBox [AVERAGE(A1:D1)]
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
395 次 |
最近记录: |