Как я могу определить диапазон вставки, используя поиск для нескольких значений - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь скопировать несколько столбцов с одного листа на другой. Некоторые из них имеют одинаковый заголовок, большинство, если они немного отличаются (на одном листе заголовок - «адрес», а на листе, куда я хотел вставить, - «адресная строка»). Я не хочу определять диапазон вставки на основе номера столбца или буквы столбца, но на основе заголовка столбца. Причина в том, что порядок столбца меняется еженедельно, а также имя заголовка, так что самый простой способ, который мне удалось найти, - это определить все заголовки на обоих листах, используя код vba, и когда порядок или имя изменилось, я может изменить код. Мне удалось найти в Интернете следующий код и адаптировать его к своим потребностям (спасибо всем за то, что поделились своими знаниями).

Sub Order_columns()
Sheets("Original Data").Select

With Sheets("original data").Rows(1)
   Set t = .Find("address", LookAt:=xlWhole)

     If Not t Is Nothing Then
        Columns(t.Column).EntireColumn.copy _
          Destination:=Sheets("Contract data").Range("f1")---- here the column name is Address line
 With Sheets("original data").Rows(1)
   Set t = .Find("country", LookAt:=xlWhole)

     If Not t Is Nothing Then
        Columns(t.Column).EntireColumn.copy _
          Destination:=Sheets("Contract data").Range("j1") 'here the column name is Country and state
end sub

Код отлично работает для поиска столбца с заголовком «адрес», скопируйте его и вставьте в столбец F. Я просто хочу вставить его, если заголовок - это строка адреса.

...