Excel-VBA Скопируйте данные с одного листа на другой лист и вставьте в новую строку - PullRequest
0 голосов
/ 15 мая 2018

Я новичок в VBA. И ниже мой код. Что я пытаюсь сделать, это скопировать данные с одного листа и вставить его в другой лист. Единственная проблема с моим кодом состоит в том, что каждый раз, когда я пытаюсь скопировать новый файл, он перезаписывает предыдущие данные. Что я хочу, чтобы вставить данные в новой строке.

Private Sub CommandButton1_Click()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim Sheet As Worksheet
Dim PasteStart As Range
Dim erow
Set wb1 = ActiveWorkbook
Set PasteStart = [Dominoes_Excel!A1]
FileToOpen = Application.GetOpenFilename
If FileToOpen = False Then
    MsgBox ("No File Specified.")
    Exit Sub
Else
    Set wb2 = Workbooks.Open(Filename:=FileToOpen)
    For Each Sheet In wb2.Sheets
        With Sheet.UsedRange
        .Copy PasteStart
        Set PasteStart = PasteStart.Offset(.Rows.Count)
        End With
    Next Sheet
End If
    wb2.Close
End Sub

1 Ответ

0 голосов
/ 15 мая 2018

Следующая строка внизу задается как

Set PasteStart = PasteStart.Offset(1,0)   '1 row down, no columns

Следующая пустая строка на листе (я подозреваю, что вы хотите) задается как

set pastestart = worksheets("Dominoes_Excel").cells(worksheets("Dominoes_Excel").rows.count,1).end(xlup).offset(1,0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...