Вставка данных в следующий пустой столбец с использованием vba - PullRequest
0 голосов
/ 06 июня 2018

Я действительно новичок в VBA, так что это какой-то код, который я нашел в сети и комбинировал.Сейчас есть 3 части (последняя часть не так важна для моего вопроса).Первая часть «compile» проходит по всем файлам в папке и вызывает вторую часть «copydata», которая копирует данные под столбцами с заголовком «direction» или «инструкция» и вставляет их в новый лист «Summary».Прямо сейчас он вставляет новые данные в первый столбец, но новые данные перезаписываются при каждом открытии нового файла.Как я могу обновить свой код, чтобы при каждом открытии файла новые данные помещались в следующий пустой столбец.

1 Ответ

0 голосов
/ 07 июня 2018

Не проверено

Sub CopyData(OldWB As Worksheet, NewWB As Worksheet)
    Dim title As Range
    Dim lColumn As Long

    With OldWB.Rows(1)
        Set title = .Find("direction")
        If title Is Nothing Then Set title = .Find("instruction")
    End With

    'Get last used column, and add 1 (for next one)
    lColumn = NewWB.Cells(1, Columns.Count).End(xlToLeft).Column + 1

    If Not title Is Nothing Then
        title.EntireColumn.Copy
        NewWB.Cells(1, lColumn).PasteSpecial (xlPasteValues)
        Application.CutCopyMode = xlCopy
        NewWB.Columns(lColumn).RemoveDuplicates Columns:=1, Header:=xlNo
        Selection.SpecialCells(xlCellTypeBlanks).Select
        Selection.Delete Shift:=xlUp
        NewWB.Columns.AutoFit
    Else
        MsgBox "Error"
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...