2013-09-06 3 views
-2

Я пытаюсь сделать макрос excel. Как я могу сделать строку переменной? Он должен увеличиваться как A6, A7, A8 ... Я знаю, что я делаю colums переменной, но не могу сделать это для строк. Вот несколько строк из кода.переменная строки макроса Excel

For profnum = 1 To 100 
    Range("A6").Select.Offset(1 + (profnum - 1) * 1, 0).Select 

И у меня есть более 100 профилей графа. Каждый профиль имеет значения x и y. И я изменил 124 (количество значений x и y) как 504, как показано ниже. Но повторение того, что 200 или 500 раз очень тяжело и занимает слишком много времени. Как я могу сделать это с помощью макроса?

=SERİLER("file44.txt";main_excel!$ED$4:$ED$504;main_excel!$EE$4:$EE$504;45) 
+1

Можете ли вы привести пример «создания столбцов переменной»? Кроме того, я ошибаюсь в мышлении «Range (« A6 »). Select.Offset (1 + (profnum - 1) * 1, 0). Выберите« сверху »можно просто переписать как« Диапазон («A6»). (profnum, 0). Выберите? –

ответ

0

Вы используете метод Offset возвращать объект диапазона, который неявно один столбец в ширину, но вы переборе рядами. Это первый аргумент в методе Offset:

object.Offset(row_offset, column_offset)

Так, просто сделать небольшой пересмотр кода, меняя положение аргументов:

Range("A6").Offset(0, 1 + (profnum - 1) * 1).Select

Чтобы сохранить строку постоянный, но колонка меняется, следующий цикл выберет A6, затем B6, затем C6, затем D6 и т. д.

For i = 1 to 100 
    Range("A6").Offset(0, profnum).Select 
Next 

Для того, чтобы поддерживать постоянный столбец, но строка изменяется, следующий цикл будет выбирать A6, A7, A8 и т.д .:

For i = 1 to 100 
    Range("A6").Offset(profnum, 0).Select 
Next 
+0

Но я не хочу, чтобы это было как A6, B6, C6, ... Я хочу, чтобы это было как A6, A7, A8 .... – sonicc34

0

переменных строки?

Вы имеете в виду динамический?

Dim LstRw As Long 
LstRw = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 
Смежные вопросы