Reputation: 3
I have a sheet with raw data called "Raw Data" I want to copy this data into another sheet called "Data".
In "Raw Data" I have a Named Range called "RawTab1" In "Data" I have a Table called "DataTable" where I want to paste the data from range "RawTab1" but not the two first two rows from the range "RawTab1"
A have made this macro to cleare the data in the DataTable before pasting the new data from RawTab1:
Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("Data")
Range("A3:M3", sht.Range("A3:M3").End(xlDown)).ClearContents
End Sub
And this is the macro to copy the data from RawTab1 range into the DataTable
Sub CopyRawTab1()
Application.Goto Reference:="RawTab1"
Selection.Copy
Sheets("Data").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
So my questions are:
Upvotes: 0
Views: 58
Reputation: 57683
It should be something like the following:
Option Explicit
Public Sub Combined()
Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("Data")
sht.Range("A3:M3", sht.Range("A3:M3").End(xlDown)).ClearContents
With Worksheets("Raw Data").Range("RawTab1")
'copy everything from RawTab1 but not the first 2 rows
.Resize(RowSize:=.Rows.Count - 2).Offset(RowOffset:=2).Copy
End With
sht.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
Note that I used a combination of the Range.Resize property and the Range.Offset property to remove the first to rows of the RawTab1
range before copying it.
Upvotes: 1