Я пытаюсь написать макрос для копирования и вставки информации с одного листа на другой в зависимости от того, отмечена ли она как «Предстоящие/завершенные/в процессе» в столбце J на исходный лист (это называется «Tracker»). Это работает - но проблема в том, что он копирует всю строку из листа трекера, и я хочу, чтобы она копировала столбцы A: K. В идеале он публикует результаты в разных местах на Sheet1 в зависимости от статуса, но я всегда могу добавить другой макрос, чтобы сделать это потом! Должен признаться, я собираю существующий макрос, поскольку я немного слаб в VBA, так что это может быть частью проблемы. Большое спасибо, ребята.VBA Macro Копирование и вставка, вставка в отдельные местоположения
Sub Copybasedonstatus()
'Niall McCracken 12/12/16
Dim lRow, cRow As Integer
lRow = Sheets("Tracker").Range("A800").End(xlUp).Row
For j = lRow To 1 Step -1
If Sheets("Tracker").Range("J" & j) = "Upcoming" Then
cRow = Sheets("Sheet1").Range("A800").End(xlUp).Row
Sheets("Tracker").Rows(j).Copy Destination:=Sheets("Sheet1").Range("A" & cRow + 1)
ElseIf Sheets("Tracker").Range("J" & j) = "Complete" Then
cRow = Sheets("Sheet1").Range("A800").End(xlUp).Row
Sheets("Tracker").Rows(j).Copy Destination:=Sheets("Sheet1").Range("A" & cRow + 1)
ElseIf Sheets("Tracker").Range("J" & j) = "In Progress" Then
cRow = Sheets("Sheet1").Range("A800").End(xlUp).Row
Sheets("Tracker").Rows(j).Copy Destination:=Sheets("Sheet1").Range("A" & cRow + 1)
End If
Next
End Sub
почему разница в коде внутри вашего 'If's, во всех из них вы выполняете одни и те же вещи,' cRow' получает то же самое значение, и паста на «Sheet1» во всех случаях –