Я посмотрел информацию относительно атрибутов столбцов. Я пытаюсь выполнить некоторые вставки и копирование информации в массиве. Суть моей проблемы заключается в том, что я хочу выполнить некоторые действия внутри al oop, поэтому мне нужно индексировать столбец по номеру, а не по букве.
Первое, что я делаю, это нахожу отправную точку на основе имя заголовка:
Dim EnvCondCol As String
Dim EnvCondColN As Long
Dim lColVVS As Integer
lColVVS = VET_VS.UsedRange.Columns.Count ' finds last column
For n = 1 To lColVVS
If UCase(VET_VS.Cells(3, n).Value) Like "*ENVIRONMENTAL CONDITION*" Then ' All Caps when using "like"
EnvCondCol = Split(VET_VS.Cells(3, n).Address, "$")(1)
EnvCondColN = Range(EnvCondCol & 1).Column
Exit For
End If
Next n
Это работает, и когда я смотрю, EnvCondCol и EnvCondColN могут видеть EnvCondCol = "I" и EnvCondColN = "9". В конце концов, я хочу вставить новый столбец, и эта строка генерирует синтаксическая ошибка:
VET_VS.Range(Columns.(EnvCondColN)).EntireColumn.Insert
Когда я смотрю EnvCondColN, это число, и я попытался изменить dim на другие типы, такие как целое число
Также в другом месте, я хочу скопировать информация из ячейки в другую ячейку изнутри oop. Это приводит к синтаксической ошибке.
VET_VS.Range(Columns.(EnvCondColN + i)).Copy VET_VS.Range(Columns.(EnvCondColN + j))
Если я заменю EnvCondColN на значение, подобное 5, то это работает. Пример: VET_VS.Range(Columns.(5)).EntireColumn.Insert
Почему переменная не работает как ссылка на столбец ??
Спасибо всем за внимание!