VBA excel: копирование определенных ячеек и столбцов из нескольких файлов - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь скопировать определенную ячейку и 3 столбца из нескольких файлов в один столбец в другой электронной таблице.

Часть, называемая "импорт", просто позволяет выбрать несколько файлов.Часть "Datacopy" должна скопировать нужные значения.

Sub import()
Dim oFileDialog As FileDialog

    Set oFileDialog = Application.FileDialog(msoFileDialogFilePicker)
    oFileDialog.AllowMultiSelect = True
    oFileDialog.InitialFileName = "C:\Users\L18938\Desktop\New_folder"    ' can set your default directory here

    oFileDialog.Show

    Dim iCount As Integer
    For iCount = 1 To oFileDialog.SelectedItems.Count
        Call Datacopy(oFileDialog.SelectedItems(iCount))
    Next

End Sub

Public Function Datacopy(strPath As String)
Dim filePath As String
Dim FileNum As Integer

filePath = strPath

Dim startDate As String
If Range("A2").Value <> "" Then
    Range("A1").End(xlDown).Offset(1, 0).Select
Else:
    Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Offset(1, 0).Select
End If
currentRow = 0
rowNumber = 0

Open filePath For Input As #1

'EOF(1) checks for the end of a file
Do Until EOF(1)

        If rowNumber = 0 Then
            startDate = lineitems(2)
        End If
        If rowNumber > 18 And item <> "" Then

                ActiveCell.Offset(currentRow, 0) = startDate
                ActiveCell.Offset(currentRow, 1) = lineitems(0)
                ActiveCell.Offset(currentRow, 2) = lineitems(1)
                ActiveCell.Offset(currentRow, 3) = lineitems(2)

                currentRow = currentRow + 1
            End If
        End If

    Next item
 rowNumber = rowNumber + 1
Loop
Close #1

End Function

Когда я ее запускаю, я получаю ошибку "sub или function not selected".Ячейки, на которые я нацеливаюсь: - C1 -> - это разные по каждому файлу даты, которые нужно скопировать в столбец A - Столбцы A18: A, B18: B, C18: C -> - данные, которые нужно скопировать в столбцы B,C, D соответственно.

Важно скопировать несколько файлов, так как у меня их больше 180. Любая помощь?Заранее спасибо!

1 Ответ

0 голосов
/ 11 октября 2018

Ваша проблема "startDate = lineitems (2)".В вашем коде нет ничего, что бы присваивало бы значение "lineitems".

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