Option Explicit
Sub CopyRange()
' Reference the workbook.
Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containing this code
' Reference the Source range.
Dim sws As Worksheet: Set sws = wb.Sheets("Raw Data")
Dim slRow As Long: slRow = sws.Range("B1").Value + 2
Dim srg As Range: Set srg = sws.Range("B2", sws.Cells(slRow, "E"))
' Reference the first Destination cell.
Dim dws As Worksheet: Set dws = wb.Sheets("Master")
Dim dfCell As Range: Set dfCell = dws.Range("A1") ' adjust!?
' Either copy values, formulas and formats,...
srg.Copy dfCell
' or copy only values (more efficient):
'dfCell.Resize(srg.Rows.Count, srg.Columns.Count).Value = srg.Value
' Inform.
MsgBox "Range copied.", vbInformation
End Sub
2条答案
按热度按时间fnx2tebb1#
复制范围
egdjgwm82#
我喜欢为Range创建一个硬编码的起始点。
然后从那里进入获取最后一列,然后是最后一行。
像这样的东西...
次主要()
结束子组件
这将动态地为您提供除查找范围的第一个单元格之外的所有内容,这很容易,但就像您所说的,您将其硬编码为“B2”,因此我认为这是相关的。一旦您获得了实际需要的范围,如上面所写的,您可以轻松地将该范围复制并粘贴到该工作表中。我以为你需要更多的帮助与动态范围比复制和粘贴的范围,如果不是这样,我可以再次回复你的问题。我没有回复这里的很多问题,如果我没有帮上什么忙,我很抱歉。我已经尽了最大的努力来解决你的问题。我真的希望这能帮助你。