#excel #vba
Вопрос:
поэтому я пытаюсь выполнить длинный список значений и проверить, равно ли значение в столбце А списку в столбце F, а затем, если это верно, проверьте, равен ли месяц в столбце В горизонтальному списку месяцев в столбцах строки 1 f:ab, а затем, если выполнены оба условия, вставьте значение в правильный квадрат сетки…в противном случае продолжайте циклически перебирать значения i, и как только он дойдет до конца значений i, затем перейдите к следующему j и начните снова. Он продолжает застревать в моей функции вставки, но я не могу понять, почему.
Вот код:
Dim i As Integer
For j = 6 To 28
For i = 2 To 4061
If Range("A" amp; i).Value = Range("F" amp; i).Value Then
If Range("B" amp; i).Value = Cells(1, j 5).Value Then
Range("D" amp; i).Copy
Range(Cells(i, j)).Paste
End If
End If
Next i
Next j
Комментарии:
1.
Range
У A нетPaste
метода. Плюс тебе не стоит заворачиватьсяCells
Range
.Range("D" amp; i).Copy Destination:=Cells(i, j)
2. для меня петли кажутся перевернутыми. Если вы поместите цикл j внутри первого, если в цикле i, он не будет зацикливаться для этой строки, если первое значение if равно false, экономя некоторое зацикливание.