Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 310
  • Last Modified:

Excel - Combining Worksheets

Hi,

I have an Excel workbook with 12 worksheets.

Other than copy/paste, is there a method to combine the rows of all 12 worksheets into one worksheet  - 13. All sheets have the same cells in the header row.

Thank you
0
tahirih
Asked:
tahirih
  • 3
  • 2
1 Solution
 
Saurabh Singh TeotiaCommented:

You can do it by use of macro..Help me understand does in your worksheet you have 13 sheets only..? or there are more worksheets?

Also what is the 13th sheet callled where you want to move the data to?

I also assume that all your 12 worksheets have same amount of data..as in column headings...
0
 
tahirihAuthor Commented:
There are more worksheets - I want to combine the first 12 (or 'n' for that matter).

The 12 (n) worksheets do not have the same amount of data (they vary in the number of rows filled)

Thanks
0
 
Saurabh Singh TeotiaCommented:

What's the worksheet name as in by what name you call them which you want to combine..?? And what is the worksheet 13 called..?
0
 
tahirihAuthor Commented:
They have varying names - not a consistent naming system (e.g. 1 - 12)

Thank you
0
 
Saurabh Singh TeotiaCommented:

You can use the following code and i have assumed all your worksheets i.e 1-12 are in order..This will do what you are looking for...

Saurabh...
Sub movemydata()
    Dim ws As Worksheet
    Dim lr As Long, cl As Long
    Dim lrw As Long
    Dim k As Long
    Dim ws1 As Worksheet
    Set ws = Sheets("13")

    Application.ScreenUpdating = False

    Sheets("1").Select

    For k = 1 To 11
        cl = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByColumns).Column
        lr = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
        On Error Resume Next
        If Err.Number = 91 Then lrw = 1
        Err.Clear
        lrw = ws.Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
        Range("A1:" & Cells(lr, cl).Address).Copy ws.Range("A" & lrw + 1)

        ActiveSheet.Next.Select
    Next k





    Application.ScreenUpdating = True
End Sub

Open in new window

0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now