Yep, this is a good start:
Sub CopywithRowAndColwidths()
Dim lCount As Long
Dim rngCopy As Range
Dim rngPaste As Range
On Error Resume Next
Set rngCopy = Application.InputBox("Select the range to copy", , , , , , ,
If Not rngCopy Is Nothing Then
Set rngPaste = Application.InputBox("Select the cell to paste to", , , , , , ,
On Error GoTo 0
If Not rngPaste Is Nothing Then
rngCopy.Copy
rngPaste.Cells(1, 1).PasteSpecial xlPasteAll
For lCount = 1 To rngCopy.Columns.Count
rngPaste.Cells(1, lCount).ColumnWidth = _
rngCopy.Columns(lCount).ColumnWidth
Next lCount
For lCount = 1 To rngCopy.Rows.Count
rngPaste.Cells(lCount, 1).RowHeight = _
rngCopy.Rows(lCount).RowHeight
Next lCount
Application.CutCopyMode = False
End If
End If
End Sub
Mix your code in here, play with the xlpasteall, change the input boxes to cell ranges, etc.....
Hope that helps. Cheers,
Nate