我在A列中搜索特定值。我想将包含值的行从列C到O复制到另一个工作表。
标有数据的工作表是我将信息从C列提取到O的地方。
标有“销售”的工作表是我希望粘贴数据的位置。
Sub Test_Copy_Data()
'Macro to copy sales based on site
'**********************************************************
Dim numentries As Integer
Dim i As Integer
Dim site As String
'***********************************************************
'Define sheet names
Data = "Data1"
Sales = "Sales"
'************************************************************
'Get number of entries and desired scores
numentries = Worksheets(Data).UsedRange.Rows.Count
'*************************************************************
site = Worksheets(Sales).Range("B1").Value
'************************************************************
'Run loop to cycle through all entries (rows) to copy
For i = 1 To numentries
If (Worksheets(Data).Cells(i + 2, 1).Value = site) Then
Worksheets(Data).Range("C:O" & i + 2).Copy _
Destination:=Worksheets(Sales).Range("A2")
End If
Next i
End Sub
答案 0 :(得分:0)
您对Data1工作表上的范围的引用不正确。更新
Worksheets(Data).Range("C:O" & i + 2).Copy Destination:=_
Worksheets(Sales).Range("A2")
为...
Worksheets(Data).Range("C" & i + 2 & ":O" & i + 2).Copy Destination:=_
Worksheets(Sales).Range("A2")
它应该有效。但请注意,每次运行此代码时,它都会将找到的数据表中的值粘贴到“销售”表单(单元格A2)上的相同位置,所以只需猜测,但您也可能希望更新此引用。
(例如Worksheets(Sales).Range("A" & i + 1)
)