0
如果AG_Label = M_Label,代码将运行并粘贴,但仅限于第一个实例。 我的循环有问题,但我对VBA很新,所以我不知道如何解决它。VBA循环错误。只粘贴一个结果
Dim mrow As Long, ARow As Long, iRows As Long, srow As String
Dim x As Long, j As Long, i As Long
Dim AG_Label As String, AG_val As String, SNL_val As String, SNL_Label As String, M_Label As String, Rng As Range
Dim Vval As Long, Speriod As String, aperiod As String
Dim Count As Integer, Ajay As Variant
Count = 2
ARow = Sheets("AG").Range("A" & Rows.Count).End(xlUp).Row
Do
For i = 2 To ARow
AG_Label = Sheets("AG").Cells(i, "N").Value
'mrow = Sheets("Mappings").Range("A" & Rows.count).End(xlUp).Row
'For j = 2 To mrow
'M_Match_1 = Sheets("Mappings").Cells(j, "P").Value
M_Label = Sheets("Mappings").Cells(Count, "C").Value
If AG_Label = M_Label And Sheets("Mappings").Cells(Count, "L").Value = "FRY-9C" Then
Sheets("Mappings").Cells(Count, "J").copy
Sheets("AG").Cells(i, "AM").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
On Error Resume Next
End If
Application.CutCopyMode = False
Next
'i = i + 1
Loop Until i = ARow + 1
Count = Count + 1
End Sub
对于初学者来说,解决这个线 - 'AROW =表(“公司”)范围(“A”和Rows.Count).END (xlUp).Row'有一个像这样的行的限定引用 - 'ARow = Sheets(“AG”)。Range(“A”&Sheets(“AG”).Rows.Count).End(xlUp).Row' – braX
您的'Count = Count + 1'紧挨在'End Sub'看起来可疑之前 - 绝对没有任何一点递增过程级变量,然后通过退出p来丢弃它rocedure。这应该在你的循环里面吗? – YowE3K
注释掉'On Error Resume Next',除非有很好的理由。 –