Excel VBA извлекает подстроку на основе InStr и вставляет ее в цикл worksheet2 для всех ячеек в столбце - PullRequest
0 голосов
/ 16 мая 2018

Microsoft Excel VBA

У меня есть список строк, содержащих коды идентификатора магазина и адрес, объединенные в столбце Y, и я хочу пройти по этому списку, извлечь только код идентификатора и вставить его во второйэлектронная таблица в столбце C.

Я борюсь с тем, как использовать оператор For, чтобы выполнить цикл для каждой ячейки в столбцах, так как я хочу, чтобы оператор находил информацию из ячейки в столбце Activesheet Y, затем вставьтеподстрока в столбец C части 1 листа, а затем цикл до следующей ячейки в диапазоне для обоих листов.

Мой недостаточный код:

настройка цикла for для столбца Y в ActiveSheetгде хранится информация об идентификаторе магазина

For Each cell In ActiveSheet.Range("Y:Y")

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

    Dim location As Integer

создайте объект, который хранит, где заканчивается код ID в моей строке

    location = InStr(1, ActiveSheets.Range("Y:Y"), " ")-1

, используя функцию left с объектом location, скажите Excel, что я хочу скопировать идентификатор магазина и pукажите это в столбце C в листе части 1.

    Left(xCell, location).Copy Sheets("Part 1").Range("C:C")

Next

Полный код без аннотаций:

For Each cell In ActiveSheet.Range("Y:Y")
    Dim location As Integer
    location = InStr(1, ActiveSheets.Range("Y:Y"), " ")-1
    Left(xCell, location).Copy Sheets("Part 1").Range("C:C")
Next

Спасибо за любые советы

1 Ответ

0 голосов
/ 16 мая 2018
Dim Location as long
Dim c as range
For each c in range("Y:Y")
    Location = instr(" ",trim(c.text))
    if location >0 then
        sheets("Part 1").range("C" & c.row).value = left(c,location)
    end if
 next c

Предполагается, что вы хотите, чтобы они отображались в столбце C в той же строке, что и в столбце Y

Правка для исправления моей ошибки и добавления обрезки - я подозреваю, что у вас естьведущий пробел в колонке Y?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...