У меня есть макрос, который вставляет 2 столбца на мой текущий лист и вставляет информацию с другого листа.Переменная для столбцов Excel. Столбец, присвоенный переменной
Я хочу создать две переменные, назначенные каждому столбцу, которые будут меняться при следующем запуске макроса для вставки информации в следующие два столбца.
Columns("BO:BO").Select
Selection.Insert Shift:=xlToRight
Range("BO2").Select
ActiveCell.FormulaR1C1 = "Feb weekly-wk 2"
Range("BO19").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(Comparison!RC2,'Jan16 wk4'!R3C15:R34C24,9,FALSE)"
Range("BO19").Select
Selection.AutoFill Destination:=Range("BO19:BO47"), Type:=xlFillDefault
Range("BO19:BO47").Select
Columns("BP:BP").Select
Selection.Insert Shift:=xlToRight
Range("BP2").Select
Selection.Style = "20% - Accent6"
Range("BP2").Select
ActiveCell.FormulaR1C1 = "Diff"
Range("BP19").Select
ActiveCell.FormulaR1C1 = "=RC[-2]-RC[-1]"
Моя идея - установить переменную, которую я бы заменил текущим кодом «BO» и «BP».
Dim X as String, Y as String
X = "BO"
y = "BP"
Когда я запускаю макрос, то он изменит переменную для этого примера «BO» на «BQ» и «BP» в «БР». В следующий раз, когда я запустил макрос, вы измените «BQ» на «BS» и «BR» на «BT».
, то вы должны использовать его следующим образом 'Columns (x &": "& x)' –
Альтернатива предложению @ ScottCraner: 'Range (Столбцы (x), Столбцы (x))'. – BruceWayne
А также, может быть, вы не знаете, но вы также можете обратиться к столбцу по его индексу (столбец A = 1, B = 2 и т. Д.). Я использую эту * тонну * в циклах. Вы можете использовать одну переменную, например 'Dim i as Long', а затем сделать цикл:' для i = от 1 до 10 ... Столбцы (i). Выбрать ... next i' будет проходить через столбцы A-J, и выберите их. Или вы можете использовать как 'Columns (i + 1)', где вы не можете делать 'Columns (« BO »+1)'. – BruceWayne