Мне дали старый файл Excel с макросом, который копирует оценки и бронирования из всех листов этой книги в первый лист. Рабочие листы были дополнены дополнительными полями комментариев, и я попытался обновить макрос, чтобы он также отображал его на первом рабочем листе, но безрезультатно. Вот код:
sno = 1
lastcol = Sheets(1).Range("iv8").End(xlToLeft).Column
resrow = 9
headers = Array("Registration information", "CASE DETAILS (GENERAL) SCREEN", "Sender INFORMATION", "Client SCREEN", "PRODUCT", "Price")
For i = 2 To Sheets.Count
observ = ""
observno = 1
resrow = resrow + 1
rescol = 10
lastrow = Sheets(i).Range("c65535").End(xlUp).Row
Sheets(1).Cells(resrow, 1) = sno
Sheets(1).Cells(resrow, 2) = Sheets(i).Range("d2")
Sheets(1).Cells(resrow, 4) = Sheets(i).Range("d9")
Sheets(1).Cells(resrow, 3) = Sheets(i).Range("d3")
Sheets(1).Cells(resrow, 5) = Sheets(i).Range("d4")
Sheets(1).Cells(resrow, 6) = Sheets(i).Range("d5")
Sheets(1).Cells(resrow, 7) = Sheets(i).Range("E9")
While rescol <= lastcol - 4
For j = 9 To lastrow
If Sheets(i).Cells(j, 3) <> "" Then
Sheets(1).Cells(resrow, rescol) = Sheets(i).Cells(j, 3)
If Sheets(i).Cells(j, 3) > 0 And j <> lastrow Then
observ = observ & observno & ". " & Sheets(i).Cells(j, 4) & vbCrLf
observno = observno + 1
End If
rescol = rescol + 1
End If
Next j
Wend
Sheets(1).Cells(resrow, 8) = observ
sno = sno + 1
Next i
End Sub
Новое поле на листах называется комментариями, и я попытался скопировать и изменить эту часть
While rescol <= lastcol - 4
For j = 9 To lastrow
If Sheets(i).Cells(j, 3) <> "" Then
Sheets(1).Cells(resrow, rescol) = Sheets(i).Cells(j, 3)
If Sheets(i).Cells(j, 3) > 0 And j <> lastrow Then
commen = commen & commenno & ". " & Sheets(i).Cells(j, 4) & vbCrLf
commenno = commenno + 1
Но безрезультатно.
Вот столбцы в главном листе (строка 9 в листе)
Вот пример других листов