Consulting

Results 1 to 5 of 5

Thread: Sleeper: Save 2 Sheet's - criteria in a particular cell

  1. #1
    VBAX Tutor
    Joined
    Sep 2012
    Location
    London
    Posts
    237
    Location

    Sleeper: Save 2 Sheet's - criteria in a particular cell

    Hello to all
    after much searching on the internet, I still have not managed to find a solution to my problem.
    So I turn to you, great minds with the hope you can help me.
    That is the difficulty with which I can do:
    On the desktop I have a folder with a name in it I have 70 folders with names of cities, have 1 excel file with 3 sheets (sheet1 (it manage all actions (macros) that I have), sheet2 and sheet3), - my problem is how to make a macro to a button placed on sheet1 and when I press this button to check the macro cell C5 in Sheet2 and depending on which city is written in cell C5, let me open the folder on the desktop and then the folder name of the city to allow me to write the title of the new file and my copy two sheets (Sheet2 and Sheet3).
    I will try to simplify it with an example:
    1 workbook - example name Countries
    3 sheets - Sheet1 - permanent, sheet2 and Sheet3 - create a button macro in Sheet1.
    in Sheet2 - Documentary write things and the most important is my cell C5, which set the town.
    in Sheet3 - write in many cells, names, addresses, workplaces, and many other things.
    Back in sheet1 - I have my button.
    Press the button and the macro (here is the big problem) examine cell C5 in sheet2, dialog box opens (I mean Save as ........) (but I've already put in the macro path to the folder "Countries" and he should find a folder with the name of the city that is in cell C5, and open the folder) I wrote a title and pressing Save - Sheet2 and Sheet3 already be present in the folder and they're so each subsequent time.
    I hope you understand me, I tried to explain it in the easiest possible way.
    Thank you in advance!

  2. #2
    Moderator VBAX Sage SamT's Avatar
    Joined
    Oct 2006
    Location
    Near Columbia
    Posts
    7,814
    Location
    K0st4din,

    Start by Inserting a new Module in the Workbook and Cutting all the code from Sheet 1 and paste it into the new module. This should let the macros have access to all the sheets.

    If that doesn't help you enough, post your code here on VBAX.
    I expect the student to do their homework and find all the errrors I leeve in.


    Please take the time to read the Forum FAQ

  3. #3
    VBAX Tutor
    Joined
    Sep 2012
    Location
    London
    Posts
    237
    Location
    Hello SamT,
    I think you can understand.
    All other macros work perfectly without any errors, but the macro can not do it.
    I need your help to make my explanations above macro.
    I found many examples that show how one workbook to copy the first sheet and keep in a new workbook, but I could not find how the criteria in a cell and then check to keep the second sheet's (Sheet2 and Sheet3).
    Okay, I found this macro, which is roughly good, but you'll have to change it after you save the new file name can be set to open a folder on the desktop and automatically find the folder with the name of the city (taken from cell C5) and save it there.
    Option Explicit
    Sub TwoSheetsAndYourOut()
        Dim NewName As String
        Dim nm As Name
        Dim ws As Worksheet
    If MsgBox("Copy specific sheets to a new workbook" & vbCr & _
        "New sheets will be pasted as values, named ranges removed" _
        , vbYesNo, "NewCopy") = vbNo Then Exit Sub
        With Application
            .ScreenUpdating = False
    '       Copy specific sheets
    '       *SET THE SHEET NAMES TO COPY BELOW*
    '       Array("Sheet Name", "Another sheet name", "And Another"))
    '       Sheet names go inside quotes, seperated by commas
            On Error GoTo ErrCatcher
            Sheets(Array("Sheet2", "Sheet3")).Copy
            On Error GoTo 0
    '       Paste sheets as values
    '       Remove External Links, Hperlinks and hard-code formulas
    '       Make sure A1 is selected on all sheets
            For Each ws In ActiveWorkbook.Worksheets
                ws.Cells.Copy
                ws.[A1].PasteSpecial Paste:=xlValues
                ws.Cells.Hyperlinks.Delete
                Application.CutCopyMode = False
                Cells(1, 1).Select
                ws.Activate
            Next ws
            Cells(1, 1).Select
    '       Remove named ranges
            For Each nm In ActiveWorkbook.Names
                nm.Delete
            Next nm
    '       Input box to name new file
            NewName = InputBox("Please Specify the name of your new workbook", "New Copy")
    '       Save it with the NewName and in the same directory as original. 
    ' I am referring here to make a change, ie once 
    ' I set my path to desktop - how then to automatically find the name of the city and there to save?
            ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & NewName & ".xls"  'perhaps to use it or something else -> strName = Range("C5") ActiveWorkbook.SaveAs Filename:= ThisWorkbook.Path & "\" & strName 
            ActiveWorkbook.Close SaveChanges:=False
    .ScreenUpdating = True
        End With
        Exit Sub
    ErrCatcher:
        MsgBox "Specified sheets do not exist within this workbook"
    End Sub
    Last edited by k0st4din; 06-01-2013 at 03:32 AM.

  4. #4
    VBAX Tutor
    Joined
    Sep 2012
    Location
    London
    Posts
    237
    Location
    Hello you do not have any idea, no you can not help me?

  5. #5
    VBAX Tutor
    Joined
    Sep 2012
    Location
    London
    Posts
    237
    Location
    Friends, really nobody can help me?
    So much hard is my question about this macro?

Posting Permissions

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