在Excel VBA中select使用单个整数的列
我如何循环使用一个整数作为input的Excel列,如果
myInteger = 1 then X = ThisWorkbook.Sheets("Sheet").Range("B3:B253") Y = ThisWorkbook.Sheets("Sheet").Range("C3:C253") and if myInteger = 2 then X = ThisWorkbook.Sheets("Sheet").Range("D3:D253") Y = ThisWorkbook.Sheets("Sheet").Range("E3:E253")
等等任何myInteger的值(假设从1到1000,使手动IF-ELSE不起作用)?
使用select案例
Sub test() myInteger = 1 Select Case myInteger Case 1 X = ThisWorkbook.Sheets("Sheet").Range("B3:B253") Y = ThisWorkbook.Sheets("Sheet").Range("C3:C253") Case 2 X = ThisWorkbook.Sheets("Sheet").Range("D3:D253") Y = ThisWorkbook.Sheets("Sheet").Range("E3:E253") Case Else X = ThisWorkbook.Sheets("Sheet").Range("D3:D253") Y = ThisWorkbook.Sheets("Sheet").Range("E3:E253") End Select End Sub
使用If … Else ..
Sub test() myInteger = 1 If myInteger = 1 Then X = ThisWorkbook.Sheets("Sheet").Range("B3:B253") Y = ThisWorkbook.Sheets("Sheet").Range("C3:C253") ElseIf myInteger = 2 Then X = ThisWorkbook.Sheets("Sheet").Range("D3:D253") Y = ThisWorkbook.Sheets("Sheet").Range("E3:E253") Else X = ThisWorkbook.Sheets("Sheet").Range("D3:D253") Y = ThisWorkbook.Sheets("Sheet").Range("E3:E253") End If End Sub
如果您需要考虑很多值,并且select / if / else不合适,请尝试范围.Offset
方法。
尝试:
x = ThisWorkbook.Sheets("Sheet").Range("A3:B253").Offset(0,MyInteger) y = ThisWorkbook.Sheets("Sheet").Range("A3:B253").Offset(0,MyInteger+1)