Открытие .XLSX файлов и копирование / вставка данных - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь создать макрос, который перебирает все нетекстовые файлы в папке, открывает их, копирует выделение из открытого файла и затем вставляет его на определенный лист в файле с макросом (в зависимости от на какой файл копируется). У меня работают первые две части, но я не могу заставить работать копию. Он продолжает копировать файл, который должен быть файлом вставки. Есть идеи, что я делаю не так?

Private Sub CommandButton1_Click()

Dim Path As String
Dim File As String
Dim PasteFile As String
Dim Month As String
Dim FY As String

Month = "feb"
FY = "18"
PasteFile = ThisWorkbook.Name

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

Path = "[file path]"
file = Dir(Path)
Do While file <> "*.txt" Or file <> ""

    If file = "[file name]" & Month & FY & ".xlsx" Then
    Workbooks.Open Path & file
    Workbooks(file).Worksheets("Sheet1").Activate
    Range(Cells(1, 1), Cells(5, 5)).Copy
    Workbooks(myFile).Worksheets("Sheet1").Activate
    Cells(10, 3).PasteSpecial xlPasteValues

    End If
File = Dir()
Loop
End Sub

1 Ответ

0 голосов
/ 25 апреля 2018

Избегайте использования .Activate и .Select

Как избежать метода выбора в VBA и почему

Private Sub CommandButton1_Click()

Dim Path As String
Dim File As String
Dim PasteFile As String
Dim Month As String
Dim FY As String

Month = "feb"
FY = "18"
PasteFile = ThisWorkbook.Name

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

Path = "[file path]"
File = Dir(Path)
Do While File <> "*.txt" Or File <> ""

    If File = "[file name]" & Month & FY & ".xlsx" Then

    Workbooks.Open Path & File

    With Workbooks(File).Worksheets("Sheet1")
    .Range(.Cells(1, 1), .Cells(5, 5)).Copy
    End With

    With Workbooks(myFile).Worksheets("Sheet1")
    .Cells(10, 3).PasteSpecial xlPasteValues
    End With

    End If

File = Dir()
Loop

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