У меня есть главная таблица с 7 столбцами, кодовое имя «ShNote», я хочу запустить код, который находит значение 20 в последнем столбце («I»). После этого он автоматически скопирует имя клиента (столбец D) и его значения (в зависимости от условия должно быть равно 20) в столбец I.
Я ожидаю, что макрос скопирует эти данные и вставит их на другой лист, кодовое имя ShPPT, в столбец C & D, начальная строка = 6.
Обычно у меня 4 клиента, поэтому он скопировал только 1 клиента
Можете ли вы помочь мне присмотреть за кодом, пожалуйста?
Я читаю в некоторых блогах, что вы можете использовать массив для оптимизации вашего кода, чтобы стать эффективными
P.s: это только начало моего кода, в столбце I, я ищу этот диапазон значений
1. 20
2. 17-20
3. 15 - 17
4. 11 - 15
5. <11 </p>
Каждый раз, когда запускается мой макрос, он автоматически копирует имя клиента и соответствующие ему значения.
Sub NoteLog()
'1. Copy the client's name and its note ranked by 4 particular conditions (20;17-20;15-17;11-15;<11)
Dim finalrow As Long, c As Long, i As Long, rowppt As Long, colppt As Long
finalrow = ShNote.Range("I" & Rows.Count).End(xlUp).Row
rowppt = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
colppt = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
For c = 6 To finalrow
If ShNote.Range("I" & c).Value = 20 Then
ShNote.Range("D" & c).Copy
ShPPT.Cells(rowppt + 6, 3).PasteSpecial xlPasteValues
ShNote.Range("I" & c).Copy
ShPPT.Cells(colppt + 6, 4).PasteSpecial xlPasteValues
End If
Next c
rowppt = rowppt + 1
colppt = colppt + 1
End Sub