Копирование столбцов с одинаковыми заголовками на двух листах, но пропуск только тех, которые присутствуют на одном листе - PullRequest
0 голосов
/ 13 февраля 2020

Следующий код выполняет копирование целых столбцов на основе заголовков. Заголовок из листа 2, если он найден в листе 1, весь столбец копируется в лист 2.

Можно ли расширить этот код, чтобы пропустить заголовки, присутствующие только в sheet2. Теперь столбцы, присутствующие только в sheet2, перезаписываются пустым столбцом. Это дополнительная информация, и они мне нужны.

Sub CopyCols()
    Application.ScreenUpdating = False
    Dim LastRow As Long, header As Range, foundHeader As Range, lCol As Long, srcWS As Worksheet, desWS As Worksheet
    Set srcWS = Sheets("Sheet1")
    Set desWS = Sheets("Sheet2")
    LastRow = srcWS.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    lCol = desWS.Cells(1, Columns.Count).End(xlToLeft).Column
    For Each header In desWS.Range(desWS.Cells(1, 1), desWS.Cells(1, lCol))
        Set foundHeader = srcWS.Rows(1).Find(header, LookIn:=xlValues, lookat:=xlWhole)
        If Not foundHeader Is Nothing Then
            srcWS.Range(srcWS.Cells(2, foundHeader.Column), srcWS.Cells(LastRow, foundHeader.Column)).Copy desWS.Cells(2, header.Column)
        End If
    Next header
    Application.ScreenUpdating = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...