Мне нужна помощь в присвоении имен всему столбцу - PullRequest
0 голосов
/ 19 апреля 2019

Мне нужна помощь в присвоении имен всему столбцу.

Dim x, y, r As Integer 'x is customer , y is rows

For x = 1 To 25
For y = 2 To 102 Step 4


 ActiveWorkbook.NAmes.Add Name:="Name" & x, RefersToR1C1:="='Main '!RyC4"

Next y
Next x

Я хочу, чтобы мои результаты были: имена каждой ячейки, а не содержимое ячейки ***

строка 2, столбец 3 = имя 1

строка 6, столбец 3 = имя 2

строка 10, столбец 3 = имя 3

И так далее ...

1 Ответ

0 голосов
/ 19 апреля 2019

Хотя я немного растерялся, я думаю, что ваша ошибка кода - это использование y и может быть исправлено до:

Dim x, y, r As Integer 'x is customer , y is rows
For x = 1 To 25
    For y = 2 To 102 Step 4
        ActiveWorkbook.NAmes.Add Name:="Name" & x, RefersToR1C1:="='Main '!R" & y & "C4"
    Next y
Next x

Протестированный код, показывающий имя менеджера:

enter image description here


Посмотрев на это, я считаю, что вам нужно исправить свой цикл x и присвоить имена ... у вас есть перезаписывающие имена, что означает, что вы сами увидите D102 для каждого столбца, как показано на рисунке выше.

Возьмите удар с помощью:

Dim x as long, y as long, r As long 'MUST STATE "AS" FOR EACH VARIABLE, OTHERWISE THEY ARE VARIANT (X, Y, R AS INTEGER MEANS X AND Y ARE VARIANT)
r = 1
For x = 1 To 25
    For y = 2 To 102 Step 4
        ActiveWorkbook.NAmes.Add Name:="Name" & r, RefersToR1C1:="='Main '!R" & y & "C4"
        r = r+1 'this should fix all of your names to keep showing up
    Next y
Next x

См. Теперь обновленный менеджер имен: enter image description here


После всего этого вам все еще нужно выяснить, что вы пытаетесь сделать с данными ... x не проблема (на самом деле не используется)

Стоит ли смотреть на нижеследующее? Или, возможно, x должен ссылаться на компонент столбца в вашем R1C1 (в настоящее время вы используете y в качестве строки).

Dim y As Long, r As Long ', x as long
r = 1
'for x = 1 to 25
For y = 2 To 102 Step 4
    ActiveWorkbook.Names.Add Name:="Name" & r, RefersToR1C1:="='Main '!R" & y & "C4" 'or maybe: "='Main '!R" & y & "C" & x  ???
    r = r + 1 'this should fix all of your names to keep showing up
Next y
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...