Newbee здесь и на этом сайте, и на Excel VBA. Я использовал код RichA в нижнем столбце и смог сделать его хорошо работающим для моей цели заполнения/копирования данных на листе (Sheet2) с другого листа.Excel vba копировать и вставлять петлю в цикл - предел диапазона
CODE ССЫЛКА НА ОРИГИНАЛ POST Excel VBA Copy and Paste Loop within Loop
У меня есть вопрос о том, как ограничить диапазон к «именованного диапазона» (С13: Z111), а не «весь столбец» («C») в этом код. Кажется, я не могу ограничить копирование строк, начиная с последней строки с данными и подсчета до первой строки.
У меня есть несколько строк (C1: C12) с заголовками вверху, и данные начинаются с строки 13. Поэтому при копировании значений с одного листа на другой лист также копируются верхние строки. Я хотел бы закончить копирование данных в строке 13.
Благодарим за помощь.
Вот что работает в настоящее время, за исключением того, что я не могу ограничить диапазон.
Sub Generate_Invoice()
Dim i As Long
Dim ii As Long
Dim i3 As Long
Dim LastRow As Long
Dim wb As Workbook
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Set wb = ThisWorkbook
Set sht1 = wb.Sheets("INCENTIVE")
Set sht2 = wb.Sheets("Sheet2")
Sheets("Sheet2").Select
Range("B11:Z200").ClearContents
'Find the last row (in column C) with data.
LastRow = sht1.Range("C13:C111").Find("*", searchdirection:=xlPrevious).Row
ii = 2
'This is the beginning of the loop >>>This Works BUT BUT BUT goes all the way to the top - REQUESTING HELP WITH CODE ENDS AT ROW 13 AND DOES NOT GO PAST<<<
For i = 3 To LastRow
'First activity
sht2.Range("B" & ii) = sht1.Range("C" & i).Value
sht2.Range("C" & ii) = sht1.Range("G" & i).Value
sht2.Range("D" & ii) = sht1.Range("H" & i).Value
sht2.Range("E" & ii) = sht1.Range("P" & i).Value
sht2.Range("F" & ii) = sht1.Range("R" & i).Value
sht2.Range("G" & ii) = sht1.Range("AD" & i).Value
ii = ii + 1
Next i
'Return to "Sheet2"
Sheets("Sheet2").Select
'Add SUM at bottom of last record in Range"D"
Dim ws As Worksheet
For Each ws In Worksheets
With ws.Range("F" & Rows.Count).End(xlUp).Offset(2)
.FormulaR1C1 = "=SUM(R11C6:R[-1]C6)"
.Offset(, -1).Value = "Total:"
End With
Next ws
End Sub
Изменение 'Для я = 3 в LastRow' к' Для я = 13 в LastRow' или изменения 'II = 2' к«б = 13' ... точно не один, который в момент, потому что я я немного смущен. –