Excel VBA: Copy multiple Column of a Table


New Member
I am trying to use VBA coding to copy a table to another table. But I am only interested in copying row 2 to row 20 (minus Header and row 1) to another table. I understand there is a function .databodyrange, but this will copy every data in the table which is not what I am looking for.


MrExcel MVP
Welcome to the board

See if this helps:

Dim lstO As ListObject

Set lstO = ActiveSheet.ListObjects("MyTable")

lstO.Range.Offset(2, 0).Resize(18).Copy Destination:=Range("Z1")
Last edited:


MrExcel MVP
Similar if you want to use .DataBodyRange

lstO.DataBodyRange.Offset(1, 0).Resize(18).Copy Destination:=Range("Z1")

Some videos you may like

This Week's Hot Topics

  • Importing multiple excel files into one spreadsheet
    Hi, I'm trying to import multiple excel files (with the same format into a single spreadsheet) so that each day's file is listed underneath the...
  • find many based on a certain criteria
    good evening, I hope someone can help me? I have a workbook sheet 2 contains lots of data.... I would like to be able to find anything on sheet...
  • How to copy multiple rows using If
    Hi all, I'm very new to VBA and have written this simple code to copy certain cells if a certain cell within that row contains any data. I need...
  • VBA If statement
    Dear All, I have two dates, where I'd like a message box to pop, if the dates are between this criteria. [CODE] sDate1 = #10/1/2019#...
  • Text Format
    I have a sheet for user to keyin the data. The format of the data can be 451 / 1903, 0012 / 9908 or 00287 / 0099. The number after the "/" is...
  • Syntax errors
    Good Morning, Trying to compile a workbook, I keep getting a few errors. Here are the first two: [code=rich]Syntax Error: Function...