0
我是这个vba /宏的新手。我需要复制特定的列并将其粘贴到另一个工作表中。我使用从前一个线程提供的代码。但是,我需要将数据粘贴到第一行。目前,数据粘贴在第二行。以下是代码:如何从一张纸上复制特定列并粘贴到第一行的另一张纸上?
Sub copypaste()
Dim lastrow As Integer, erow As Integer, sheet1 As Worksheet, sheet2 As
Worksheet, icol As Long
Set sheet1 = Worksheets("Sheet1")
Set sheet2 = Worksheets("Sheet2")
lastrow = sheet1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To lastrow
erow = sheet2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
sheet2.Cells(erow, 2) = sheet1.Cells(i, 1)
sheet2.Cells(erow, 3) = sheet1.Cells(i, 2)
sheet2.Cells(erow, 7) = sheet1.Cells(i, 3)
sheet2.Cells(erow, 5) = sheet1.Cells(i, 5)
sheet2.Cells(erow, 4) = sheet1.Cells(i, 6)
sheet2.Cells(erow, 8) = sheet1.Cells(i, 11)
sheet2.Cells(erow, 9) = sheet1.Cells(i, 8)
sheet2.Cells(erow, 13).Value = sheet1.Cells(i, 9).Value
Next i
Worksheets("Sheet1").Columns().AutoFit
Cells(1, 1).Activate
End Sub
sheet1中的头也不需要复制。
谢谢。 Link from the previous thread. Assistance was given by Tim Wilkinson
上述问题昨天由@sktneer解决。数据已成功粘贴在第一行。
但是,与相同的情况有关,我怎样才能从Sheet1复制过滤的数据? 我已经在autofilter代码中指定了复制粘贴过程的标准,但不知道我是否正确地完成了它。
下面是调整后的代码:
sub copypaste()
Dim lastrow As Integer, erow As Integer, sheet1 As Worksheet, sheet2 As
Worksheet, lrow As Long
Set sheet1 = Worksheets("Sheet1")
Set sheet2 = Worksheets("Sheet2")
strSearch = "LOCAL"
lastrow = sheet1.Cells(Rows.Count, 1).End(xlUp).Row
With sheet1
AutoFilterMode = False
lrow = sheet1.Range("L" & .Rows.Count).End(xlUp).Row
With .Range("L3:L" & lrow)
.AutoFilter Field:=1, Criteria1:="=*" & strSearch & "*"
For i = 4 To lastrow
If sheet2.Cells(1, 2) = "" Then
erow = 1
Else
erow = sheet2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
End If
sheet2.Cells(erow, 2) = sheet1.Cells(i, 1)
sheet2.Cells(erow, 3) = sheet1.Cells(i, 2)
sheet2.Cells(erow, 7) = sheet1.Cells(i, 3)
sheet2.Cells(erow, 5) = sheet1.Cells(i, 5)
sheet2.Cells(erow, 4) = sheet1.Cells(i, 6)
sheet2.Cells(erow, 8) = sheet1.Cells(i, 11)
sheet2.Cells(erow, 9) = sheet1.Cells(i, 8)
sheet2.Cells(erow, 13).Value = sheet1.Cells(i, 9).Value
Next
End With
AutoFilterMode = False
End With
Worksheets("Sheet1").Columns().AutoFit
Cells(1, 1).Activate
End Sub
请多关照家伙。
感谢@sktneer了迅速反应。这是工作。 – hanaa
不客气哈娜!很高兴我能帮上忙。 – sktneer
@hanaa那是什么?你为什么删除所选答案的标签? – sktneer