Я пытаюсь сделать цикл, где ЕСЛИ условие истинно, а индекс ячейки n (столбец E) совпадает с индексом n + 1 ячейки, чтобы скопировать значение столбца C в столбец G.Как сделать «Do While» с условием?
К сожалению, значение столбца последней C не копируется в колонке G, поэтому я просто решить его с помощью строки:
Sheets("Report KIT").Range("G" & n) = Sheets("Report KIT").Range("C" & n).Value
после Do While. Может ли кто-нибудь помочь с этим, пожалуйста? Благодаря
Sub Macroarea1()
Dim ws As Worksheet
Dim LastRow As Long
Dim LastRow1 As Long, LastRow3 As Long
Dim i, n As Integer, x As Integer, y As Integer
Set ws = ActiveWorkbook.Sheets("Report KIT")
If Sheets("Migrazioni").Range("F" & 7) = "si" Then
n = Sheets("Migrazioni").Range("N" & 7).Value
Do While _
Sheets("Report KIT").Range("E" & n) = Sheets("Report KIT").Range("E" & n + 1)
Sheets("Report KIT").Range("G" & n) = Sheets("Report KIT").Range("C" & n).Value
n = n + 1
Loop
Sheets("Report KIT").Range("G" & n) = Sheets("Report KIT").Range("C" & n).Value
End If
End Sub
Обязательно проверяйте логику перед выполнением кода. Вы говорите, что если текущая ячейка не равна следующей, ничего не делайте. Вам понадобится оператор 'или' в вашем' Do While', чтобы проверить, равна ли ячейка выше. –