我在嘗試添加 2 個要搜索的值時遇到了一個問題,我的代碼似乎有問題。
部分是我添加了 2 For each ,但我認為這不是它應該的樣子。
我有 2 個詞:PMC(F 欄)和 PRM(C 欄)。如果它們在作業表 Main Data 中匹配,則復制該行并粘貼到 Second Data。
Sub Copyrow()
Dim c As Range
Dim D As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
Dim lRow As Long
Set Source = ActiveWorkbook.Worksheets("Main DATA")
Set Target = ActiveWorkbook.Worksheets("Second Data")
Lastrow = ActiveSheet.Cells(Rows.Count, "F").End(xlUp).Row 1
j = Cells(Rows.Count, 2).End(xlUp).Row
For Each c In Source.Range("F1:F20000")
For Each D In Source.Range("C1:C20000") ' Second ( FOR ) for addition search word.
If c = "PMC" & D = "PRM" Then
Source.Range("A" & c.D.Row, "O" & c.D.Row).copy
Target.Range("A" & j, "O" & j).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
j = j 1
End If
Next D
With Range("H1:H5000")
.NumberFormat = "General"
.Value = .Value
End With
End Sub
uj5u.com熱心網友回復:
這是未經測驗的,方法是對For行進行 a并檢查行中 C 列和 F 列的單元格值i。
Sub Copyrow()
Dim j As Long
Dim Source As Worksheet
Dim Target As Worksheet
Dim lRow As Long
Set Source = ActiveWorkbook.Worksheets("Main DATA")
Set Target = ActiveWorkbook.Worksheets("Second Data")
lRow = Source.Cells(Source.Rows.Count, "F").End(xlUp).Row 1
j = Target.Cells(Target.Rows.Count, 2).End(xlUp).Row
Dim i As Long
For i = 1 to lRow
If Source.Cells(i, 6).Value = "PMC" And Source.Cells(i,3).Value = "PRM" Then
Source.Range(Replace("A#:O#","#",i)).Copy
Target.Range(Replace("A#:O#","#", j).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
j = j 1
End If
Next i
With Target.Range("H1:H5000")
.NumberFormat = "General"
.Value = .Value
End With
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/353784.html
上一篇:根據特定條件復制和粘貼
下一篇:更改現有文本框形狀的字體大小
