这是我第一次在这里发帖提问。我正在写一个MS Excel VBA项目,我在子程序之间传递一个字符串。在第二个子例程中,我使用字符串来确定CASE条件。 EG 4000至9999; 4050至5000,5050; 5051至6000,6501至7000是三个例子。当在CASE之后键入这些字符串时,它可以工作,但是将值作为字符串传递并不是。我的项目涉及多次运行子程序,每次都需要更改case语句。有什么建议吗?
非常感谢 NC 这是我的代码示例。我遗漏了所有的暗淡和计算 - 我很肯定这些都无济于事, 感谢
Sub Calling_Sub ()
'Operating Income
Title = "Operating Income"
GL_Range = "5000 to 9499"
add_me_up Title, GL_Range
'Other Income
Title = "Other Income"
GL_Range = "4050 to 5000, 5050"
add_me_up Title, GL_Range
'Debts
Title = "Debts"
GL_Range = "5051 to 6000, 6051 to 7000"
add_me_up Title, GL_Range
'Other
Title = "Other"
GL_Range = "8051, 8055, 8070, 8075"
add_me_up Title, GL_Range
'and so on and so forth for all the other combinations
End Sub
Sub add_me_up (Title as string, GL_Range as string)
...
For Each lrowC In lrngC.Cells 'pivot table data rows
Select Case lrowC.Cells.Offset(0, 1)
Case ****GL_Range****
If lrowC.Cells(1, 1) = Fin_Year Then 'current month & YTD
Select Case Period
Case 1
...
end sub