Мне нужно скопировать значение столбца G из таблицы «Nouveautés 2020» в столбец C таблицы «Feuil2», в зависимости от значения столбца AM.
Я могу это сделать, но я застрял только в одном ряду.
Я должен быть в состоянии выполнить для всей таблицы.
Кроме того, это то, что мне нужно выполнять несколько раз, не копируя дважды одну и ту же строку
Sub COPYVALUE()
Dim v1, v2, i As Long
If Range("AM5") <> 0 Then
v1 = Array("G5")
v2 = Array("C4")
For i = LBound(v1) To UBound(v1)
Sheets("Feuil2").Range(v2(i)).Value = Sheets("Nouveautés 2020").Range(v1(i)).Value
Next i
End If
End Sub
Хорошо, выше был первый код.
После полного рабочего дня я набрал следующий текст:
Sub COPYVALUE()
a = Worksheets("Nouveautés 2020").Cells(Rows.Count, 1).End(xlUp).Row
For i = 5 To a
If Worksheets("Nouveautés 2020").Cells(i, 39).Value <> 0 And Worksheets("Nouveautés 2020").Cells(i, 2).Value <> "Abandonné" Then
Worksheets("Nouveautés 2020").Activate
Range("G" & (i)).Copy
Worksheets("Feuil2").Activate
b = Worksheets("Feuil2").Cells(Rows.Count, 3).End(xlUp).Row
Worksheets("Feuil2").Cells(b + 1, 3).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next
Application.CutCopyMode = False
End Sub
Работает отлично, копирует все ячейки, в зависимости от значения других ячеек, и вставляет только значение в ожидаемый столбец.
Однако я все еще застрял на том, как избежать вставки значения, которое уже включено в лист Feuil2, при повторном выполнении макроса.
Последний пункт, я не могу вставить в таблицу, это должен быть простой лист, как угодно?
Было бы еще лучше, если бы он мог быть активным (не нужно выполнять какой-либо макрос, но каждый раз, когда новая строка соответствует критериям, он автоматически копируется на другой лист