Скопируйте данные, используя VBA в Excel с конкретными условиями - PullRequest
0 голосов
/ 22 января 2019

Мой начальник попросил меня заполнить тарифы клиентов в файле Excel, который содержит 171 город (в каждом городе есть 5 разных тарифов - т.е. )

Я пишу код VBA (никогда не делал этого раньше для работы), который будет копировать тарифы из исходного листа в этот лист после сопоставления названия города и вставки соответствующих тарифов рядом с городом.

Мой код может сканировать и сопоставлять названия городов, но он всегда вставляет 5 классов тарифа в первый ряд, а не рядом с реальным городом, которому он соответствует. Я узнаю о вещи x1Down, но это сложно.

Вот мой код:

Sub Button54_Click()

For Each c In Range("C2:C170")
 If c.Value = Range("O14").Value Then

*****O14 contains the source city name which I pasted from the source file. I can fix this later****

 Range("E2:J2").Value = Range("P14:U14").Value

**** P14: U14 содержит скорости исходных файлов, которые я вставил. Я могу исправить это позже ****

 End If
Next c
End Sub

Я хотел бы помочь с битом (xlUp), чтобы Range ("E2: J2") увеличивался с приращением при сканировании списка на соответствие названию города. Я играл с этим, но помощь была бы признательна.

1 Ответ

0 голосов
/ 22 января 2019

Вместо использования (xlUp) или (xlDown) вы можете использовать номер строки c для вывода в соответствующую соответствующую строку

Sub VendorStop()

For Each c In Range("C2:C170")
    If c.Value = Range("O14").Value Then
        Range("E" & c.Row & ":J" & c.Row) = Range("P14:U14")
    End If
Next c

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