Excel 如何复制超出范围的数据
我试图从我使用两个字符串设置的范围复制一些列数据。范围设置在列“B”中,我需要将列“C”和“D”中的数据复制到范围的长度,并将它们粘贴到列“B”和“C”中的另一张表中 范围是通过查找两个字符串“实施阶段的原始项目ER”和“25处的原始项目ER”来设置的 到目前为止,我已经成功地编写了将数据复制到正确位置的代码,但它只是复制范围内的数据(列“B”) 下面是一些示例数据,显示了我想要实现的目标 编辑:我已经设法使用偏移量1,1来显示列“C”中的第一组记录,现在只需要“D”这行吗Excel 如何复制超出范围的数据,excel,vba,Excel,Vba,我试图从我使用两个字符串设置的范围复制一些列数据。范围设置在列“B”中,我需要将列“C”和“D”中的数据复制到范围的长度,并将它们粘贴到列“B”和“C”中的另一张表中 范围是通过查找两个字符串“实施阶段的原始项目ER”和“25处的原始项目ER”来设置的 到目前为止,我已经成功地编写了将数据复制到正确位置的代码,但它只是复制范围内的数据(列“B”) 下面是一些示例数据,显示了我想要实现的目标 编辑:我已经设法使用偏移量1,1来显示列“C”中的第一组记录,现在只需要“D”这行吗 fr = "Orig
fr = "Originating Project ERs at Implementation Stage"
fc = "Originating Project ERs at 25"
Set r = Worksheets("Sheet1").Cells.Find(What:=fr, LookAt:=xlWhole)
Set c = Worksheets("Sheet1").Cells.Find(What:=fc, LookAt:=xlWhole)
If Not r Is Nothing Then
StartR = r.Row + 1
Else: MsgBox fr & " not found"
Exit Sub
End If
If Not c Is Nothing Then
EndR = c.Row - 1
Else: MsgBox fc & " not found"
Exit Sub
End If
Range(r.Offset(1, 1), c.Offset(-1, 1)).Resize(, 2).Copy
Worksheets("PriorityProgress").Range("B2").PasteSpecial Paste:=xlPasteValues
通过分别偏移每列来解决此问题
If r.Row And c.Row > 1 Then
Worksheets("Sheet1").Range(r, c).Offset(1, 1).Copy
Worksheets("PriorityProgress").Range("B2").PasteSpecial Paste:=xlPasteValues
Worksheets("Sheet1").Range(r, c).Offset(1, 2).Copy
Worksheets("priorityProgress").Range("C2").PasteSpecial Paste:=xlPasteValues
这将返回运行时错误1004应用程序定义的错误或对象定义的错误在哪一行?您可以通过
再次从相同的范围偏移。范围(r,c)
。偏移(1,2)
非常感谢!真不敢相信它这么简单!
If r.Row And c.Row > 1 Then
Worksheets("Sheet1").Range(r, c).Offset(1, 1).Copy
Worksheets("PriorityProgress").Range("B2").PasteSpecial Paste:=xlPasteValues
Worksheets("Sheet1").Range(r, c).Offset(1, 2).Copy
Worksheets("priorityProgress").Range("C2").PasteSpecial Paste:=xlPasteValues