2016-06-29 18 views
0

Ниже приводится раздел кода, который у меня есть в моей программе VBA:Тип Несовпадение при выборе столбца с формулой VBA (Excel)

Columns("currentColumn:(currentColumn+1)").Select 

По какой-то причине у меня есть несоответствие типов, когда я запускаю это. currentColumn - целое число. Это мой первый раз, когда я использую VBA, поэтому я уверен, что чего-то не хватает. Мне было интересно, может ли кто-нибудь указать мне на правильный путь.

Благодаря

+0

О, я вижу. Есть ли что-то похожее на столбцы, которые позволяют мне передавать цифры? – bugsyb

+0

'Диапазон (Столбцы (текущая колонка), Столбцы (currentColumn + 1)). –

ответ

0

Выработать по предложению Скотта:

Проблема заключается не только в том, что Columns не принимает входные сигналы как "2:3" (Rows будет работать с этим, но для Columns вам нужно "B:C"). Проблема также в том, что "currentColumn:(currentColumn+1)" - это строка, состоящая из этих символов. Переменная currentColumn" не заменяется, и дополнение +1 не выполняется. Если вы хотите построить строку с номером currentColumn и не строку "currentColumn вам нужно использовать &:

currentColumn & ":" & currentColumn + 1 'if currentColumn = 2 then this is the same as "2:3" 

к сведению, что вы обычно не нужно Select объектов. Here - некоторые примеры того, как избежать этого.

Смежные вопросы