Иллюстрация:
У меня есть 2 листа: ShNote = справочная таблица и ShPPT = финальная таблица.
У меня есть 4 разных стола внутри финального стола.
Что я ищу: (4 условия)
Найдите значение = 20 в столбце E и скопируйте и вставьте значение и только имя клиента в столбце A на лист окончательной таблицы в 1-й таблице (C: D)
Найдите значение больше 17, но меньше 20 и скопируйте и вставьте значение и только имя клиента в столбце A на лист финальной таблицы во 2-й таблице (F: G)
Найдите значение больше 15, но меньше 17 и скопируйте и вставьте значение и только имя клиента в столбце A на лист окончательной таблицы в 3-й таблице (I: J)
Найдите значение больше 11, меньше 15 и скопируйте и вставьте значение и только имя клиента в столбце A на лист финальной таблицы в последней таблице (L: M)
Я только что обновил свой код, и он хорошо работает
Параметр Явный
Sub Analysis_ClientRating ()
Dim lastrow As Long, я As Long, rowppt As Long, colppt As Long
Dim rowppt1 As Long, colppt1 As Long, rowppt2 As Long, colppt2 As Long
Тусклый rowppt3 As Long, colppt3 As Long
lastrow = ShNote.Range("C" & Rows.Count).End(xlUp).Row
rowppt = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
colppt = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
rowppt1 = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
colppt1 = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
rowppt2 = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
colppt2 = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
rowppt3 = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
colppt3 = ShPPT.Cells(Rows.Count, 1).End(xlUp).Row
Call Entry_Point
For i = 6 To lastrow
Select Case ShNote.Cells(i, 5).Value
Case Is = 20
ShNote.Cells(i, 3).Copy
ShPPT.Cells(rowppt + 6, 3).PasteSpecial xlPasteValues
ShNote.Cells(i, 5).Copy
ShPPT.Cells(colppt + 6, 4).PasteSpecial xlPasteValues
rowppt = rowppt + 1
colppt = colppt + 1
Case Is >= 17
ShNote.Cells(i, 3).Copy
ShPPT.Cells(rowppt1 + 6, 6).PasteSpecial xlPasteValues
ShNote.Cells(i, 5).Copy
ShPPT.Cells(colppt1 + 6, 7).PasteSpecial xlPasteValues
rowppt1 = rowppt1 + 1
colppt1 = colppt1 + 1
Case Is >= 15
ShNote.Cells(i, 3).Copy
ShPPT.Cells(rowppt2 + 6, 9).PasteSpecial xlPasteValues
ShNote.Cells(i, 5).Copy
ShPPT.Cells(colppt2 + 6, 10).PasteSpecial xlPasteValues
rowppt2 = rowppt2 + 1
colppt2 = colppt2 + 1
Case Is >= 11
ShNote.Cells(i, 3).Copy
ShPPT.Cells(rowppt3 + 6, 12).PasteSpecial xlPasteValues
ShNote.Cells(i, 5).Copy
ShPPT.Cells(colppt3 + 6, 13).PasteSpecial xlPasteValues
rowppt3 = rowppt3 + 1
colppt3 = colppt3 + 1
End Select
Next i
Call Exit_Point
End Sub