0
我需要将工作簿上不同工作表中的3个特定列的行内容复制到特定工作表中的特定范围。例如在Sheet1中我有一个从B1到E40的范围我想复制从列B到D中的内容,在列E中显示“TRUE”,然后将其粘贴到名为“Analysis”的Worksheet中。将来自不同工作表的特定列的行内容真实复制到特定工作表中
我希望宏进入工作表2,工作表3和工作表4并执行相同的操作(在E列中查找TRUE,并将符合该条件的行B到D复制)并将值粘贴到另一个下方在工作表“分析”中。
我很新的VBA,我发现了一个代码,我认为这将有助于开始,但我需要帮助。你能给我一个主意吗?我附上了我发现的代码,以便你可以给我你的意见,它可能不是所需要的,但在列表中它可能是一个基础。非常感谢。
Sub MyCode()
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
On Error GoTo Err_Execute
'Start search in row 3
LSearchRow = 3
'Start copying data to row 2 in Sheet2 (row counter variable)
LCopyToRow = 2
While Len(Range("A" & CStr(LSearchRow)).Value) > 0
'If value in column BA = "Soccer", copy entire row to Sheet2
If Range("BA" & CStr(LSearchRow)).Value = "Soccer" Then
'Select row in Sheet1 to copy
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy
'Paste row into Sheet2 in next row
Sheets("Sheet2").Select
Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
ActiveSheet.Paste
'Move counter to next row
LCopyToRow = LCopyToRow + 1
'Go back to Sheet1 to continue searching
Sheets("Sheet1").Select
End If
LSearchRow = LSearchRow + 1
Wend
'Position on cell A3
Application.CutCopyMode = False
Range("A3").Select
MsgBox "All matching data has been copied."
Exit Sub
Err_Execute:
MsgBox "An error occurred."
End Sub
嗨,感谢您的快速回复。我试图插入代码,但似乎没有做任何事情。我也尝试在“分析”工作表中插入范围,但它似乎仍然不起作用。你有什么想法吗?非常感谢您的帮助。 – Gabriel
子Copy_Paste() 昏暗我只要,J只要,LR长,LASTROW只要 昏暗WS作为工作表 集WS = Sheet 1中 LR = ws.Cells(ws.Rows.Count,5) (i,j)表示列(2)= B,并且4表示列(4)= D 如果ws.Cells(i,j)= 1,则对于i = 1到lR 。 .Value <>“”和ws.Cells(i,5).Value = True然后 lastRow = ThisWorkbook.Worksheets(“Analysis”)。Range(“A1:C”)。Cells(Rows.Count,1)。 End(xlUp).Row ThisWorkbook.Worksheets(“Analysis”)。Range(“A1:E”)。Cells(lastRow + 1,1).Value = ws.Cells(i,j) End If Next j Next i End Sub – Gabriel
请用文字告诉我:您想在哪里复制这些值? “分析”表上的哪一栏?每个“Sheet”一列? –