Results 1 to 6 of 6

Thread: How To Copy Data By Worksheet Name

  1. #1
    Junior Member
    Join Date
    Sep 2012
    Posts
    14
    Rep Power
    0

    How To Copy Data By Worksheet Name

    Hi,

    My workbook has sheet "Main" and other sheets with names like Oct-2012, Nov-2012 ....Ian-2013... Dec-2020)

    Sheet "Main" is a report, all other sheets are hidden.

    In B7 you can choose "All" or Name1, Name2....Name27
    In B2 you can choose January, February ....December
    In D2 you can choose 2010, 2011, .....2020

    If in B7 is "ALL" and in B2 (month) October and in D2 is 2012 Then:
    It will copy range(B8:B34) of sheet Oct-2012 in "Main" worksheet in Range (B8:B34).
    It will copy range(C8:Q34) sheet Oct-2012 in the "Main" sheet Range (D8:R34).

    If B7 is "ALL" and in B2 B2 (month) Novembre and D2 is 2012 then:
    clean range(B8:B34) and Range (D8:R34) in sheet "Main"
    It will copy range (B8: B34) of sheet Nov-2012 in "Main" worksheet in Range (B8: B34).
    It will copy range (C8: Q34) sheet Nov-2012 in "Main" worksheet in Range (D8: R34).

    and so on ...

    if in B7 if you not choose "All" then will be no data in range(B8:B34) and Range (D8:R34).

    Thanks for any help.
    Attached Files Attached Files
    Last edited by TomyLee; 08-04-2013 at 02:27 AM.

  2. #2
    Administrator Admin's Avatar
    Join Date
    Mar 2011
    Posts
    1,122
    Rep Power
    10
    Hi

    Code:
    Option Explicit
    
    Dim ShtMain     As Worksheet
    
    Sub kTest()
        
        Set ShtMain = Worksheets("Main")
        
        With ShtMain
            If .Range("b7").Value = "All" Then
                CopyPaste Left$(.Range("b2").Value, 3) & "-" & .Range("d2").Value
            Else
                .Range("b8:b34").ClearContents
                .Range("d8:r34").ClearContents
            End If
        End With
        
    End Sub
    
    Sub CopyPaste(ByVal ShtName As String)
        
        Dim Sht As Worksheet
        
        On Error Resume Next
        Set Sht = Worksheets(ShtName)
        If Err.Number <> 0 Then
            MsgBox "Sheet '" & ShtName & "' could not be found.", vbCritical + vbOKOnly
            Exit Sub
        End If
        
        On Error GoTo 0
        
        With ShtMain
            .Range("b8:b34") = Sht.Range("b8:b34").Value2
            .Range("d8:r34") = Sht.Range("c8:q34").Value2
        End With
        
    End Sub
    and call the kTest macro
    Cheers !

    Excel Range to BBCode Table
    Use Social Networking Tools If You Like the Answers !

    Message to Cross Posters

    @ Home - Office 2010/2013/2016 on Win 10 (64 bit); @ Work - Office 2016 on Win 10 (64 bit)

  3. #3
    Junior Member
    Join Date
    Sep 2012
    Posts
    14
    Rep Power
    0
    Hello Admin,

    Thank you. Excellent. Code is excellent. Thank you very much.
    How can I modify the code to be executed on every change in cell B7, B2 and D2.

  4. #4
    Junior Member
    Join Date
    Sep 2012
    Posts
    14
    Rep Power
    0
    @Admin,

    I managed to make the code to run automatically at each change of cell B7, B2 and D2.
    Once again thank you.

  5. #5
    Administrator Admin's Avatar
    Join Date
    Mar 2011
    Posts
    1,122
    Rep Power
    10
    Hi

    Put this code in 'Main' sheet module.

    Code:
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        
        If Target.Cells.Count > 1 Then Exit Sub
        Select Case Target.Address(0, 0)
            Case "B2", "B7", "D2": kTest
        End Select
        
    End Sub
    Cheers !

    Excel Range to BBCode Table
    Use Social Networking Tools If You Like the Answers !

    Message to Cross Posters

    @ Home - Office 2010/2013/2016 on Win 10 (64 bit); @ Work - Office 2016 on Win 10 (64 bit)

  6. #6
    Junior Member
    Join Date
    Sep 2012
    Posts
    14
    Rep Power
    0
    Admin,

    Thank you very much.

Similar Threads

  1. Replies: 2
    Last Post: 07-02-2013, 06:52 PM
  2. Copy Template Worksheet And Rename With Custom Name
    By peter renton in forum Excel Help
    Replies: 5
    Last Post: 06-07-2013, 03:50 PM
  3. Dynamic Worksheet Generator Sheet Copy
    By mfaisalrazzak in forum Excel Help
    Replies: 2
    Last Post: 03-01-2013, 05:38 PM
  4. Print Nth Worksheet To Mth Worksheet using VBA
    By Ryan_Bernal in forum Excel Help
    Replies: 2
    Last Post: 02-28-2013, 06:57 PM
  5. Replies: 5
    Last Post: 12-05-2012, 03:01 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •