如何更改我的代码,以便在复制到sheet2时,行从C列开始?目前,它们被复制到A列的sheet2中。
Dim ws1 As Worksheet, ws2 As Worksheet
Dim firstRowWs1 As Long
Dim lastRowWs1 As Long
Dim lastRowWs2 As Long
Dim searchColumnWs1 As Integer
Dim i As Integer
Dim check As Variant
Dim strSearch As Variant
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
With ws2
lastRowWs1 = ws1.UsedRange.Rows.Count
lastRowWs2 = ws2.UsedRange.Rows.Count
firstRowWs1 = 1
searchColumnWs1 = 10
strSearch = Array("asdf", "fdsa")
For i = firstRowWs1 To lastRowWs1
For Each check In strSearch
If check = ws1.Cells(i, searchColumnWs1).Value Then
ws1.Rows(i).Copy (ws2.Rows(lastRowWs2 + 1))
lastRowWs2 = lastRowWs2 + 1
ws1.Rows(i).Delete shift:=xlUp
i = i - 1
Exit For
End If
Next check
Next i
End With
答案 0 :(得分:0)
你不能 - 如果你复制整行,你必须将它粘贴到整行(即从A开始),否则它不适合。您可以做的是复制少于整行
Application.intersect(ws1.Rows(i), ws1.usedrange).Copy ws2.cells(lastrowws2+1, 3)
或在例行程序结束时,只需在A处插入两列即可将所有内容推到右侧
ws2.columns("A:B").insert xltoright