仅复制粘贴部分行,其中一个单元格包含图片,在满足条件时复制粘贴到另一个单元格 sheet
Copy paste only part of rows, with one cell containing a picture, on another sheet when condition is met
我有一个名为数据的工作表,其中我按行列出了产品。每个产品的信息都在 A:W 列中。 A 列用于公司 ID。
根据在下拉列表中选择的 ID,我希望将单元格 P:W 粘贴到名为 Quote 的工作表中,从第 11 行第 A:H 列开始。必须注意工作表数据中的 W 列用于图片。
我在网上找到了一些代码,并尝试将其修改为适合我的情况,但没有成功。首先,我不能复制粘贴图片。我假设我应该使用 Range.Copy 方法而不是 PasteSpecial 方法,但我无法在我的代码中使用它。其次,我找不到仅复制和粘贴列 P:W 中的单元格的正确方法。
Sub Quote()
Dim Data As Worksheet
Dim Quote As Worksheet
Dim CompanyID As String
Dim Finalrow As Integer
Dim i As Integer
Set Data = Sheet3
Set Quote = Sheet2
CompanyID = Sheet6.Range("E5").Value
Data.Select
Finalrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Finalrow
If Cells(i, 1) = CompanyID Then
Range(Cells(i, 1), Cells(i, 23)).Copy
Quote.Select
Rows(11).Select
Range("A200").End(xlUp).Offset(1, 0).PasteSpecial xlPasteAll
Data.Select
End If
Next i
Quote.Select
Range("A11:O200").Delete
Range("A1").Select
End Sub
尝试
Data.Range(Cells(i, 16), Cells(i, 23)).Copy Quote.Range("A200").End(xlUp).Offset(1, 0).resize(1,8)
您可以删除代码中的所有 .Select
行。在 Excel 中,几乎不需要自动化 .Select
。
此外,您已经引用了工作表。如果您使用这些参考资料来确定范围,则无需查看表格。
我有一个名为数据的工作表,其中我按行列出了产品。每个产品的信息都在 A:W 列中。 A 列用于公司 ID。 根据在下拉列表中选择的 ID,我希望将单元格 P:W 粘贴到名为 Quote 的工作表中,从第 11 行第 A:H 列开始。必须注意工作表数据中的 W 列用于图片。
我在网上找到了一些代码,并尝试将其修改为适合我的情况,但没有成功。首先,我不能复制粘贴图片。我假设我应该使用 Range.Copy 方法而不是 PasteSpecial 方法,但我无法在我的代码中使用它。其次,我找不到仅复制和粘贴列 P:W 中的单元格的正确方法。
Sub Quote()
Dim Data As Worksheet
Dim Quote As Worksheet
Dim CompanyID As String
Dim Finalrow As Integer
Dim i As Integer
Set Data = Sheet3
Set Quote = Sheet2
CompanyID = Sheet6.Range("E5").Value
Data.Select
Finalrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Finalrow
If Cells(i, 1) = CompanyID Then
Range(Cells(i, 1), Cells(i, 23)).Copy
Quote.Select
Rows(11).Select
Range("A200").End(xlUp).Offset(1, 0).PasteSpecial xlPasteAll
Data.Select
End If
Next i
Quote.Select
Range("A11:O200").Delete
Range("A1").Select
End Sub
尝试
Data.Range(Cells(i, 16), Cells(i, 23)).Copy Quote.Range("A200").End(xlUp).Offset(1, 0).resize(1,8)
您可以删除代码中的所有 .Select
行。在 Excel 中,几乎不需要自动化 .Select
。
此外,您已经引用了工作表。如果您使用这些参考资料来确定范围,则无需查看表格。