Я хочу скопировать строку (A: E), строку (F: AH) и строку (AL) из активной книги в строку (A: E), строку (G: AI), строка (AJ) другой книги. Вот код, над которым я работаю. Я видел его здесь и только что редактировал.Скопируйте определенную строку в другую книгу на основе значения ячейки
Dim wb1 As Workbook, wb2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Dim copyFrom As Range
Dim lRow As Long
Dim strSearch As String
Dim ret
ret = Application.GetOpenFilename(FileFilter:="Excel Workbooks (*.xls, .xlsx*),*.xls, .xlsx*", _
Title:="Select data file for Monitoring Log")
Set wb1 = ThisWorkbook
Set ws1 = wb1.Worksheets("Macro Template")
strSearch = "Newly Distributed"
With ws1
.AutoFilterMode = False
lRow = .Range("AL" & .Rows.Count).End(xlUp).Row
With .Range("AL7:AL" & lRow)
.AutoFilter Field:=1, Criteria1:="=*" & strSearch & "*"
Set copyFrom = .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow
End With
'~~> Remove any filters
.AutoFilterMode = False
End With
'~~> Destination File
Set wb2 = Application.Workbooks.Open(ret)
Set ws2 = wb2.Worksheets("Source")
With ws2
If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
lRow = .Cells.Find(What:="*", _
After:=.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row + 1
Else
lRow = 1
End If
copyFrom.Copy .Rows(lRow)
End With
wb2.Save
wb2.Close
Этот код копирует всю строку. Как я могу пересмотреть его для копирования определенных строк.
Вопрос не ясен. Кажется, вы используете «row» значение «column» в некоторых точках. Пожалуйста, опубликуйте исходные данные и ожидаемый результат. –
Моя ошибка, данные из столбца a: e будут скопированы в столбец a: e другой книги. Вместо того, чтобы использовать целую строку, я хочу скопировать выбранные данные из столбцов строки. –