У меня есть столбец, который мне нужно скопировать в конец одного и того же столбца дважды. Мой код:
Range("AQ2:AQ" & LastRow).Copy Range("AQ" & LastRow + 1)
Тем не менее, я не могу просто написать эту строку дважды, потому что это увеличит число строк в четыре раза, а не утроит их. Например, если столбец AQ состоял из 4 строк, при его копировании и вставке один раз получается 8 строк, но при повторении этой строки эти 8 копируются и вставляются, что дает 16 строк. Однако я хочу только 12 строк (4 строки копируются один раз и вставляются дважды).
Спасибо
2 ответа
Все, что вам нужно сделать, это вставить дважды. Но важно отметить, что вам нужно будет обновить LastRow
перед вставкой во второй раз.
Также стоит упомянуть, что при кодировании VBA очень рекомендуется использовать объект листа. Это явно определит ваши рабочие листы для ваших программ и может сэкономить вам много хлопот в будущем. Принять привычку :)
Смотрите ниже код (не проверено):
Sub CopyPaste()
Dim LastRow As Long
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
'find lastrow
LastRow = ws.Range("AQ" & ws.Rows.Count).End(xlUp).Row
'copy
ws.Range("AQ2:AQ" & LastRow).Copy
ws.Range("AQ" & (LastRow + 1)).Paste
'update last row
LastRow = ws.Range("AQ" & ws.Rows.Count).End(xlUp).Row
'paste again
ws.Range("AQ" & (LastRow + 1)).Paste
'clear clipboard
Application.CutCopyMode = False
'clear ws object
Set ws = Nothing
End Sub
Sub copycopy()
Dim sh As Worksheet
Dim i As Integer
Dim lRow As Long
Dim rng As Range
Set sh = Sheets("Sheet1")
'determine range to be copied
Set rng = sh.Range(sh.Range("AQ2"), sh.Range("AQ2").End(xlDown))
'find last row
lRow = sh.Cells(Rows.Count, "AQ").End(xlUp).Row + 1
'copy range twice
For i = 1 To 2
rng.Copy Destination:=sh.Range("AQ" & lRow)
lRow = sh.Cells(Rows.Count, "AQ").End(xlUp).Row + 1
Next i
End Sub
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию объектов или файлов Excel или по разработке формул. Вы можете комбинировать тег Excel с тегами и вопросами VBA, VSTO, C#, VB.NET, PowerShell, OLE и другими тегами и вопросами, связанными с программированием, если это применимо. НЕ используйте с другим программным обеспечением для работы с электронными таблицами, например [google-sheets].