Solved

Excel - Combining Worksheets

Posted on 2011-02-11
5
300 Views
Last Modified: 2012-05-11
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
Comment
Question by:tahirih
  • 3
  • 2
5 Comments
 
LVL 59

Expert Comment

by:Saurabh Singh Teotia
ID: 34873526

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
 

Author Comment

by:tahirih
ID: 34873561
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
 
LVL 59

Expert Comment

by:Saurabh Singh Teotia
ID: 34873592

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
 

Author Comment

by:tahirih
ID: 34874036
They have varying names - not a consistent naming system (e.g. 1 - 12)

Thank you
0
 
LVL 59

Accepted Solution

by:
Saurabh Singh Teotia earned 500 total points
ID: 34874297

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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question (http:/Q_27311462.html), I created an alternative function to the Excel Concatenate() function that you might find useful.  I tested several solutions and share the results in this article as well as t…
Excel can be a tricky bit of software to get your head around. Whilst you’ll be able to eventually get to grips with the basic understanding of how to get by, there are a few Excel tips that not everybody will even know about let alone know how to d…
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question