I am trying to create a tracking spreadsheet in which modules need to move through certain phases. I have tabs for all appropriate phases. I would like to be able to select from a pull-down the current phase and have the spreadsheet automatically populate the appropriate tab. Ideally, I would like to be able to edit the process in any of the phases and have it backfill as well (ie if the status changes while in phase 3, I don't have to go back to phase 1 to change it, I can edit it in the phase 3 tab and phase 1 will automatically update).
Additionally, I would like it to calculate this constantly not just when the spreadsheet opens.
I have achieved this partially with formulas but I am finding that it is extremely slow and also doens't always update correctly. I also can't get the circular referencing to work so I don't have full capability using the formulas.
In my sheet called summary I have the names of the rest of the tabs in the book in cells B5 to B34. We want to be able to change the names of the tabs by changing their respective cell on the summary tab. So “sheet1” corresponds to B5, “sheet2” to B6, “sheet3” to B7, etc.. So if I change the name in B5 to say “APPLE” I want the tab for sheet1 to change to APPLE. When I change B10 from “sheet6” to “Lemon” I want sheet6 to be titled “Lemon”.
I receive a workbook each day with approx 500 tabs of call data and I would like to relabel all the tabs with the user names. The user names are in a merged range "A7:M7". I'm having difficulty getting the following script to rename the sheets. Currently the values in "A7:M7" look like "User: ADAM ENGEMANN-558".
I am trying to delete each occurrence of "User: " while naming the sheets as well as removing the merged range before doing so that the names are in A7 only. The sheet names should look like "ADAM ENGEMANN-558", or, ideally just "ADAM ENGEMANN". For some reason my code will not modify the cells. (See attached example)
This works if I manually unmerge the cells before running and remove the ":".
VB: Sub RenameSheets2() Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets If ws.Range("A7").Value <> "" Then
[Code] .....
This his how I modified it but it doesn't work on the supplied sheets. Please note that if I manually insert some blank sheets into my workbook and merge the cells etc it does work. There seems to be something odd going on with the sheets they are giving me. (they aren't protected)
VB: Sub RenameSheets2() Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets If ws.Range("A7").Value <> "" Then
I tried adding the following to remove the merged ranges and remove 'User: ' from the names Range("A7:M7").Select With Selection .WrapText = False .MergeCells = False
I am having trouble getting the selection of sheets to work. I have a workbook that has multiple sheets and one constant sheet (Summary). There is code to create new forms in this workbook and insert them after the Summary sheet. These forms all have a date input that is formatted as a date (mm/dd/yyyy), these dates get modified on the day the form is created, there may be any number of sheets created during this process. I have to print the summary sheet and only the newest forms created. I need a code to select sheets to print based on the date input of a user for each form. This is what I have so far:
VB: Dim i As Variant i = Range("B5").Value >= InputBox("What date to start PDF from? Format = mm/dd/yyyy") Sheets(Array("i")).Select [code]....
If the dim can be taken out and just included in the line for the array that would be fine with me. The cell "B5" is where the date is located in each form. I want to input a date and the macro will select the sheets where the date is equal to and greater than the date entered. The Summary sheet will always be included in the print set. I have a dialog box for setting which printer to use - this file will be used at different offices and therefor the printers will be different and it will also allow to create a PDF if desired.
I am trying to create a formula which will allow me to type a word in a cell on the Main sheet, and then pull any row from multiple sheets and display them on the Main sheet. For example, my sheet named Main looks like this:
A B C D E 1 Query: 2 Fruit Store Cost Mode Date
And there's a sheet for each month with the same format and different data: A B C D E 1 Fruit Store Cost Mode Date 2 Apple Dominicks 1.99 Bagged 3/16/2014 3 Apple Piggly Wiggly 2.19 Ala Carte 3/14/2014 4 Banana Jewel 0.49 Bagged 3/1/2014 5 Banana Dominicks 0.57 Ala Carte 3/16/2014 6 Banana Costco 0.69 Ala Carte 3/16/2014 7 Cantaloupe Jewel 2.99 Ala Carte 3/14/2014 8 Cantaloupe Dominicks 1.99 Ala Carte 3/1/2014 9 Eggplant Jewel 0.99 Ala Carte 3/30/2014 10 Eggplant Dominicks 1.19 Ala Carte 3/30/2014 11 Eggplant Costco 1.29 Ala Carte 3/21/2014 12 Eggplant Safeway 0.79 Ala Carte 3/16/2014 13 Pears Jewel 1.19 Ala Carte 3/14/2014 14 Pears Dominicks 1.59 Bagged 3/1/2014 15 Pears Piggly Wiggly 0.99 Ala Carte 3/30/2014 16 Rhubarb Jewel 0.99 Ala Carte 3/14/2014 17 Rhubarb Piggly Wiggly 0.59 Ala Carte 3/14/2014 18 Rhubarb Costco 0.89 Ala Carte 3/14/2014 19 Tomatoes Jewel 1.99 Ala Carte 3/1/2014 20 Tomatoes Safeway 1.69 Bagged 3/30/2014 21 Tomatoes Dominicks 1.89 Carton 3/27/2014
... and so on. On my main sheet in Cell B1, I want to type a fruit name, such as Banana, and have every row in every sheet with Banana in column A,pulled and displayed on the Main sheet. Firstly, is this even possible with a macro?
Currently I have it setup to copy rows to a sheet "Report" based on a single cell value. But now I need the same thing but have it copy the rows based on 2 cells values to sheet "Report". So for example I wanted to copy and paste each row in my workbook that contain values in Columns N:N that contain the value "Test" and in columns AB:AB that contain "1".
Sub copyagain() Application.ScreenUpdating = False Dim sh As Worksheet, findThis As String, fAdr As String, fLoc As Range findThis = "1"
I am looking for a solution, where is able to take certain cell info from the same template (used on different sheets) and record that in a single row on a summary sheet. E.g.
On each sheet, we have a customer name, contract number, quantity ,sales foreign value, sales local value, charge description, charge rate. These sheets are per customer.
1. I would like to create a record sheet and by using VBA macros, record the information off each sheet
2. Each time a new sheet is create the record sheet is automatically updated with the new information
I found this very nice code on this site that changes the names of my sheets based on the first sheet, works great. What I want though is to have the sheets be unhidden when their name changes from the generic name "sheet1" to whatever else we call it. Can this code be manipulated to do that? I want the sheets whose names do not change to stay hidden, the others to unhide.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lCount As Long
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next If Not Intersect(Target, Range("A2:A11")) Is Nothing Then For lCount = 2 To 11 If Sheets(lCount).Name <> Me.Name Then Sheets(lCount).Name = Me.Cells(lCount, "A") End If Next lCount End If
I currently have an excel work book with multiple sheets per year. What I want to happen is that whenever I input data in one of the Year sheets, it will automatically go to the Master sheet.
So, I'm setting up an accounting book. There's a master sheet that needs to pull from the other sheets that are made. The problem is, with each new sheet that is made, I have to update the formulas on the master. I would like that if I made a new sheet, the master would automatically pull from it.
Example:
Master pulls renter fee info from May 3rd, May 7th
I create sheet (May 15th)
Master pulls renter info from May 3rd, May 7th, May 15th
I have the below VBA code associated with a sheet called "Select View". When the workbook opens there is another code that displays only "Select View", all the other sheets are hidden. In "Select View" there is a data validation list. Based on the selection the user gets to see only certain sheets. For example, if the user selects "Region 1" they see only the sheets "Region 1", "Panama City" and "Pensacola".
As you can see some of the names in the "Target.Value" are the same as sheets in an array. The ones that do are lead schedules, that is information from other sheets in an array roll into it. That is values from "Pensacola" and "Panama City" flow into "Region 1", the lead sheet.
What I am trying to do is finish the code where based on the "Target.Value" selected it automatically takes the user to the lead sheet. For example, when the user selects "Region 1" in the data validation it takes the user directly to the sheet "Region 1". The user of course can also see the other sheets in the array, that is "Pensacola" and "Panama City" and can manually select the tab to view or go into one of the later
Private Sub Worksheet_Change(ByVal Target As Range) Dim sh As Worksheet If Not Application.Intersect(Range("B10"), Target) Is Nothing Then For Each sh In Sheets(Array("Panama City", "Pensacola", "Region 1")) sh.Visible = Target.Value = "Region 1" Next sh
I have several rows worth of tasks with several columns associated with each one of them. In other words, each task will have some event, comment, date etc. and a flag at the end if it's complete or not. Below is a very simplified idea.
A B C D
1 Event Date Done
2 Party 12/10/2013 Yes
3 Marathon 12/20/2013 Yes
4 Graduation 01/15/2013 No
Formulas that I have used so far have accomplished everything I need except one thing. I would like to copy rows to a different sheet (tab) based on the flag condition i.e. if the string says "Yes" (in this example), I would like to copy that row to a different sheet and do that for each row. In the example above, rows 2 and 3 would be copied to a different sheet creating a list/summary of complete events. As that is copied, I would use that information again on that new sheet to do more things.
I want to make things easier for myself when filling in my worksheets by having certain cells autofill based on a product number.
So I have my main worksheet and I have my product information sheet. When I type in the product number in cell 13C, I want it to auto fill cell 13B with the product name which is located in collumn A on the product info sheet, but dependent upon that product number. Collumn B in my product info sheet has all of the product numbers. From there I would need 13G on my main worksheet to fill in with Collumn D from the product sheet, but again dependent upon that product number.
There are more that need to fill yet, but I can figure out what to do once I have a starting point with the above I believe.
I have a workbook with a hidden sheet ("Template") and a visible sheet("New Job"). I need code so when cell F1 in "New Job" is populated:
1-the sheet is renamed to the value of F1, 2-a new tab is made (a carbon copy of the hidden sheet "Template") 3-the new tab is named "New Tab" and marked as unhidden.
Public Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Name = Range("F1").Value End Sub
Function WorksheetExists(SheetName As String, _ Optional WhichBook As Workbook) As Boolean Dim WB As Workbook Set WB = IIf(WhichBook Is Nothing, ThisWorkbook, WhichBook) On Error Resume Next WorksheetExists = CBool(Len(WB.Worksheets(SheetName).Name) > 0) End Function..................
I currently have a large spreadsheet that multiple people fill out. Each person fills out all the information in a row. At the end of the row, I would like a button that says "Generate Form" so that when clicked, a new sheet automatically opens with a template form that I created and is already filled out with the information that was just inputted into the spreadsheet. Also, there are four different template forms that could generate. For example, there are forms A, B, C and D. If the user inputs "B" into the first column of the row, then when he goes to click "Generate Form", a new sheet is created with all the information filled out in Form B.
I need help with creating a macro that runs when a user enters a value in the 'Numbers' column, copies and pastes data in the corresponding worksheet 'Worksheet' column by the value of 'Numbers' column data. An excel file is attached.
I'm trying to copy data from one sheet to another sheet automatically based on a number selected in a drop down control.
I have used OFFSET to pull some information successfully from a list. This is easy for me to do with single entries and a list and has worked well. I want to do similar but with a dataset not just single cells.
But, I can't seem to make OFFSET work to show a set of data easily.
Perhaps I will need VB code to do so? Or there is another control I'm not aware of? I've done very little with VB.
I'll attach a sample file to try to show better what I'm trying to do.
I've got a spreadsheet with a 'data' sheet and I want to add and name additional sheets based on the contents of a range in the 'data' sheet - it could be 1 extra sheet, it could be 100, the range is open ended.
I am making a new stock card system to keep track of stock at work for a new storeman working in my department. What I want to be able to do it hide/show sheets bases on their colour, the reason I want to do this is because I want the new storeman to be able colour code products and only show certain ones at any one time to stop him from having to sort through loads of sheets, but also for him to be able to add extra sheets and asign them a colour and not need me to modify code and put it into category X So in summary, I want code that will hide all sheets that colour is red or blue etc and not need updating when new sheets are added.
I have multiple sheets in one file. I need a code (that will be ran at random) to look at all the sheet names and the ones that end in the word "Archive" to move to another file.
I have 25 sheets in the workbook and a combobox on the main page, The combobox references a range of 1-25 that represents the 25 hidden pages. right now i can get the sheets to unhide one at a time based on the selection e.g. combobox option 1 will unhide sheet 1 but the sheet are representing sites in a design so i need to have the option to select multiple sites in the combobox option so for example if i select 5 then sheets 1-5 should unhide. I hope I've explained that clearly.
The other question or option would be to just duplicate sheet 1 based on the combobox selection e.g. selection 5 duplicates sheet 1 5 times.
I have a document to track funding and would like to be able to auto-populate individual task sheets within the workbook based on a task drop-down. So if I choose Safety from the "Task Area" drop down it would auto populate the full row from the Master Sheet to the Safety Sheet. I have uploaded my document so you can better understand.
I have a set of sheets on a workbook that contain addresses, which are all combined on the first sheet (as you can see in the attached file). I would like to use a formula to compare the addresses on the Main sheet with the other sheets, then return in the D column of Main a colored cell indicating on which sheet the address was found on; different colors for different sheets. I tried to figure out some conditional formatting, but to no avail. Also, on occasion I have spreadsheets with 5 or 6 sheets containing these mixed addresses. Is there a solution that won't be limited to just a few sheets for comparison?
On sheet "CoA" i have at table of periodic payments that is created via an input form and what I want to do is have accounting entries automatically generated in my cask book based on dates.
I am trying to find a way to copy the contents of an entire row to a new sheet in a workbook based on the value of a column, specifically column K with the value of "good". There are 3 sheets that im searching. This is where I run into problems. Im looking to start with sheet1, and copy all rows deemed "good" into entries on sheet 4. Then search sheet2 and copy all relevant entries into the next available row on sheet4, and then repeat on sheet3.
Is it possible to loop through a list of sheets and execute some calculations that have sheet references from a different list of worksheets? For example, you have a list (list 1) of your worksheets, which will be the destinations of the calculations, and you have a second list (list 2) of worksheets that the calculations are based on. So, lets say there are sheet1 and sheet2 in list 1, and sheetA and sheetB in list 2. The calculations based on sheetA would appear in sheet1, and calculations based on sheetB would appear in sheet2. I thought the code would look something like this:
Code: Sub LoopthroughWorksheets() Dim sheet_name As Range Dim sheet_name2 As Range Set sheet_name2 = Sheets("WS").Range("F:F")
[Code] ......
I'm getting a "Run-time error '1004: Application-defined or object defined error" at this line: