2015-12-21 5 views
0

У меня есть вопрос, я пытаюсь определить имя ячейки в excel с помощью vba. Теперь, чтобы выбрать одну ячейку только я использую следующий код, который доказывает, что работает отлично: Range("A1").Name = "zm_1"Определение группы имен ячеек с помощью vba

Однако мне нужно назвать количество ячеек в т.е. колонке:

Range("A1").Name = "zm_1" Range("A2").Name = "zm_2" Range("A3").Name = "zm_3" Range("A4").Name = "zm_4"

Поскольку довольно утомительно для 100 клеток, я пытался использовать массив:

For i=1 to 100 Range("A(i)").Name = "zm_(i)" next

^это, однако, дает ошибку, которую я имею б een невозможно отслеживать. Любые идеи/предложения о том, как это можно сделать? Благодаря!

ответ

1

Вам не нужен массив, только ваш цикл:

For i = 1 to 100 
Range("A" & i).Name = "zm_" & i 
next 
3

Проблема с Range("A(i)").Name = "zm_(i)" «указывают, что-то текст, так что вы должны поместить (I) из».

Для первой части это тихо, так как вы также можете использовать порядок строк и столбцов для описания ячейки. Поэтому то, что становится

Range(Cells(i,1)).Name

Для второй части вам нужно сцепить текст и цифры. Это становится: "zm_" & i

+0

Спасибо за объяснение! отлично работали – user5702568

+0

Добро пожаловать. Als смотрят на ответ Paresh J, явно ссылаясь на книгу и рабочий лист, это хорошая вещь, о которой нужно помнить. Если ваш код невелик и состоит только из одной книги и рабочего листа, то этот способ не будет отличаться от его, однако, когда вступает в игру больше рабочих листов или книг, важно иметь в виду правильные. Теперь ваш код просто предполагает, что открытая рабочая книга - это то, что должны выполняться одни вычисления, но когда несколько листов вступают в игру, важно явно указать, что код должен идти. – Luuklag

+0

@ user5702568, не могли бы вы также признать мой ответ, приняв его, и, сделав так, пусть другие знают, что этот вопрос разрешен. – Luuklag

1

Попробуйте приведенный ниже код и надеюсь, что это поможет вам:

For i = 1 To 100 
ThisWorkbook.Sheets(1).Range("A" & i).Name = "zm_" & i 
Next 

Где Sheet(1) относится к Лист1 текущей книги.

+0

Спасибо за ваш андерсер! ура – user5702568

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