Я создал сценарий, который я хочу позволить пользователю выбрать файл (главный файл), и если условие выполнено, я хочу скопировать данные в книгу Excel (на которой выполняется сценарий). Идея о том, что я пытаюсь сделать. В настоящее время оператор if просто проверяет, содержит ли A2 значение 5. Я хочу, чтобы он проверял каждую строку в столбце, а не только одну ячейку.
Sub copyData()
Dim FolderPath As String, Filepath As String, Filename As String
FolderPath = Application.GetOpenFilename(FileFilter:="Excel Files (*.XLS*),
*.XLS*", Title:="Select File To Be Opened")
Dim numTest As Integer
Filename = Dir(FolderPath)
Dim lastrow As Long, lastcolumn As Long
Do While Filename <> ""
Workbooks.Open (FolderPath)
numTest = ActiveSheet.Range("A2").Value
lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
lastcolumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(1, 1), Cells(lastrow, lastcolumn)).Copy
Application.DisplayAlerts = False
ActiveWorkbook.Close
erow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
MsgBox "Testing: " & ActiveSheet.Name & " " & Cells(2, 1).Value & " is >= 5"
If numTest >= 5 Then
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range(Cells(erow, 1),
Cells(erow, 10))
Else
MsgBox ("test1")
End If
Filename = Dir
Loop
End Sub
Я также выяснил, как выбрать диапазон для копирования:
Range(Cells(1, 1), Cells(lastrow, lastcolumn)).Copy
Как я могу изменить это так, чтобы копировались только определенные столбцы?