Я пытаюсь скопировать определенную ячейку и 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. Любая помощь?Заранее спасибо!