【发布时间】:2013-08-06 01:21:25
【问题描述】:
我想问一下在Excel中的VBA中是否有可能将部分代码存储在例如字符串中,我的意思是在下面的示例中显示(此代码不起作用):
Sub newMacro()
Dim wb As Workbook
Dim ws As Worksheet
Dim sAdditional As String
Dim rngWhereCount_1 As Range
Dim rngWhereCount_2 As Range
Dim iCellValue As Integer
Dim i as integer
Set wb = ThisWorkbook
Set ws = wb.Worksheets(1)
Set rngWhereCount_1 = ws.Columns(1)
Set rngWhereCount_2 = ws.Columns(2)
For i = 1 To 10
If (i = 1) Or (i = 2) Then
sAdditional = ", rngWhereCount_2, i"
Else
sAdditional = ""
End If
iCellValue = Application.WorksheetFunction.CountIfs(rngWhereCount_1, 1 & sAdditional)
Next i
End Sub
所以问题是是否有一种简单而聪明的方法来声明 sAdditional(可能不是字符串),而是让它在循环内成为可选的,同时 sAdditional 在里面包含 Range 和字符串......
提前致谢! P.
【问题讨论】:
-
我知道
CountIf函数接受Range和Range接受String所以那里可能有一些东西......因为你可以存储额外的范围作为Strings,只需致电Range(strValue)... -
问题是
sAdditional并不总是Range或String,而是这两者的结合。