Цикл в VBA, чтобы забрать следующую клетку - PullRequest
0 голосов
/ 07 июня 2018

Мне было интересно, можете ли вы помочь, у меня есть 2 листа: «Мастер-файл» и «Учетные записи», цель которых - скопировать каждый номер счета ячейки в рабочем листе «Учетные записи», начиная с А2, и закончить и скопировать его в B6 рабочего листа «Мастер-файл».Мне нужно сохранить файл на моем рабочем столе, для которого я написал некоторый код, но я не могу понять, как выбрать ячейку из учетных записей - скопировать в B6 - сохранить, а затем перейти к следующей ячейке.может кто-нибудь помочь?

Private Sub LOOPCELL()

Dim ws1 As Worksheet
Set ws1 = Sheets("Accounts")

Dim ws2 As Worksheet
Set ws2 = Sheets("Masterfile")

Dim lastRow As Integer
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

ws1.Range("A2:A" & lastRow).Copy Destination:=ws2.Range("B6")

Dim filepath1 As String
Dim Filename1 As String
Dim Filename2 As String
Dim Filename3 As String
Path = "C:\Users\mukhan\Desktop"
Filename1 = Range("B6")
Filename2 = Range("D6")
Filename3 = Range("C8")

ActiveWorkbook.SaveAs Filename:=Path & Filename1 & "-" & Filename2 & "-" & 
Filename3 & ".xlsb", FileFormat:=xlExcel12, CreateBackup:=False

End With
End Sub

1 Ответ

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

Мне пришлось сделать несколько предположений, потому что вы не очень конкретны в своем вопросе.Главное, что мой код предполагает, что оба файла находятся в одной книге.

Он выбирает диапазон A2:A__ в «Счета» (до последнего заполненного значения в столбце А) и копирует все этоданные сразу передаются в "Masterfile", начиная с B6.

Sub CopyRange()

    Dim ws1 As Worksheet
    Set ws1 = Sheets("Accounts")

    Dim ws2 As Worksheet
    Set ws2 = Sheets("Masterfile")

    Dim i As Integer
    For i = 2 To ws1.Cells(ws1.Rows.count, "A").End(xlUp).row
        ws1.Range("A" & i).Copy Destination:=ws2.Range("B6")
        ActiveWorkbook.SaveAs Filename:="C:\Users\mukhan\Desktop\Account " & ws1.Range("A" & i).Value2 & ".xlsb", FileFormat:=xlExcel12, CreateBackup:=False
    Next i

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