I have a very large workbook which includes 100 sheets (A) each containing fixed data relevant to one unit (n) (in this case n = a building; there are 100 buildings), a few sheets (B) containing parameters & settings, and then 1 main sheet (C) which does complex calculations pulling & combining data from sheets (A) based on the parameters in sheets (B). The workbook is so large, (100MB+) that it has to be set to calculate manually.
One of the settings in one of the sheets (B) dictates which building (n) is currently being looked at. As such, sheet (C) effectively builds a report for building (n) and so can report on just one building at a time, that building (n) being determined by a drop-down box listing all of the available buildings and that list is in turn defined in one of the sheets (B).
If I want to get a consolidated picture for all buildings I currently manually change the building choice (n) in the dropdown box, and then run a macro (m1) which updates the report to show what I want, selects the specific bits of the report I want and copies the selection, switches to a separate pre-formatted consolidation sheet I have created (D), jumps to the last row in that sheet, pastes values and then jumps back to Sheet (C).
I then need to manually change the selection (n) and then rerun macro (m1).
What I would like is another macro (m2), which automatically loops through the different values for (n) so that the whole process is automated. Then in a perfect world, perhaps even a separate macro (m3) which would give me a list of tickboxes so that I could select specific properties for which to run the report.
I have a workbook with many sheets, basically all the sheets are almost the same template with fill-in information for different type of jobs, and for the most part, the information is located in the same areas in each sheet.
I need to look in each sheet for a cell labeled, Committee ID:
And then copy it and the cell to the right of it, so for example:
A8 hasCommittee ID: B8 hasC1234N
So, loop through all the sheets and get these values and then paste them into a new sheet in the same workbook and call that sheet Report. When pasting data into the Report sheet, insert a space between each result.
I am trying to build a macro using two files. The file 'master data.xls' has student details in a table containing 10 column heads as attributes (roll, name, address, email etc). The file 'Student Profile.xls' has been formatted to show individual student details in the form of a report. I want to prepare a macro such that each time I enter a new record in the "master data.xls", the data from new entry is printed in the format as given in "Student Profile.xls" as a pdf file which is saved with a file name defined by "(roll number) (First Name) (Last Name)" and the same is emailed to the student's email ID as specified in the "master data.xls" with the mail containing an address to the student name (ex: Dear Tom) and a standard text message in the body.
I created a contact list that incorporates buttons at the top of the page to sort the data based on two customer type columns (thanks to Richard for help getting this far!).
I am attaching the file so that it will be easier to take a look. Four of the five macros are working fine but the second one ("All Clients") filters on the premise that "yes" is answered in either of the two customer type columns. In other words I am trying to show the records that have "yes" entered in either of these two columns, not necessarily both columns.
I'm trying to build a macro that iteratively runs a goal seek, then reduces a certain value (Let's call it "Bogey") in a different cell by a small amount (note that changing Bogey will affect the desired goal seek value), then runs the goal seek again, reduces Bogey by a small amount again, etc etc, and keeps running in this loop, with the restriction on this loop being that a different cell, affected by Bogey--let's call it "Constraint"--doesn't drop below a certain amount.
I have written two VBA programs around the same time. Both run on open and pull external data and create graphs. My problem is that I want the end user to be able to run the report multiple times by choosing the name of the macro from the Excel macro menu (i.e. Tools>Macro>Macros) but only one of the workbook macros shows up on the menu. why the other macro is not visible on this menu???
I have a macro (written with the help of forumites here) which, when selecting a cell on a particular sheet, will select and copy data from various rows on various sheets, print a resulting chart, before returning to the original sheet.
Now, I use autofilter on the original sheet to help organise the data I wish to copy and print.
My question: is it possible to adapt my macro so that, once it has run through once, will move to the next cell in the autofiltered column and run the macro again, and again, and again... to the bottom of the autofiltered column?
At the moment, I'm running the macro, pressing the 'down' key and then running the macro again until I've exhausted the column. There must be an easier/better way.
The below code outputs a value in the cell corresponding to alpha by drawing information from the range in issueRng. However it will only grab the value from the first cell in the range of issueRng. It grabs this cell value and outputs it in every cell corresponding to alpha. For instance if i have issueRng as the range from C6 to E6 (3 cells), then the code draws the value of C6 and puts it in the cell corresponding to alpha which for the first loop is Cell(7,6). However the code is putting the value from C6 into every cell instead of moving through the range of issueRng.
Dim alpha As Double alpha = 6 Dim issueRng As Range Set wb = ActiveWorkbook
With wb.Sheets("Issues") Set issueRng = Sheets("Issues").Range(.Range("C6"), .Range("C6").End(xlToRight)) End With
I am a bit stuck in looping my macro. I have a working macro that does various functions for a period (say January) and I wish to run for periods 1 to 12. The cell "A1" has a drop down list (jan09, feb09 to Dec09).
Currently I select the month from Cell A1 and run the macro. Now wish to loop this macro so it runs from Jan09 to Dec09 in one go. The cell A1 is being refererence in the Vlookup table that changes ranges in a table that are been used as dynamic ranges in a macro.
Simplied Macro Steps 1. Select month in cell A1 (sheetX), then Calculate. 2.This refeshes lookup table and runs the macro say copies cells (B10:D100) in sheetBud and pastes in sheetTest A10. Insert rows A10:A100. Ends
Currently I manually changes the step 1 and then run this macro for next month. But now wish to run it for 1 to 12 months in one go. Please please can you can help me with the Looping. Please note that the macro does other functions and the steps above are simplied.
What I'm trying to do: While there's a value in Col A starting with A2, I need to then go to the corresponding cell in Column O, starting with O2. Then as long as there's text in the next cell in the same row keep track of those cells so that in the end I can append all text in the adjacent cells to the text in the Col O[X] cell. Then repeat as long as there's text in the next row cell of Col A. I have the routine to append the text, I just need help with the looping.
If I start with the following:
Col A Col O Col P Col Q row 1 ----- ----- ----- ----- row 2 1 Text here new text row 3 2 More text more text 2 more text 3 row 4 (no text in any of this row.......................................)
After running macro this would become
Col A Col O Col P Col Q row 1 ----- ----- ----- ----- row 2 1 Text here..............................
I have created a macro to filter results from a set of data, paste that data to a new file, and then create charts based on that data. Right now, my macro is basically multiplied 20 times to do this for each heading. Is there a way to create a loop that will just redo the same macro but for the next data heading? Here is a sample of the first part of the macro:
A macro that scans Sheet "CSD" Range "B4:B201" for the word "Yellow" and copys the data in the row based on conditions to Sheet "Yellow Ticket" and prints the Ticket. Heres a Pic of my "CSD" Sheet.
Here's a pic of my "Yellow Ticket" ******** ******************** ************************************************************************>Microsoft Excel - Hybels_Loading_Tickets redo for post.xls___Running: 11.0 : OS = Windows XP (F)ile (E)dit (V)iew (I)nsert (O)ptions (T)ools (D)ata (W)indow (H)elp (A)boutA1=ABCDEFGH1R. Hls Inc.2Helping Make Your Business Grow!3 4For questions regarding product please call 800..!5For questions regarding shipping or cart removal please call 888-344.3710!6 7 Load # Drop Letter Cart #(1-30).....................
I'm running a simulation that utilizes the Data Table function. The table itself is quite large (280 elements in the row, 10K in the column). It currently takes about an hour to run. (Full disclosure: I did this instead of a couple of "for" loops because I have to consolidate/manipulate a bunch of data from several sheets and it seemed to be running slower than a data table). how to write a progress bar for this type of code? I.e. code that does not loop and is just time-consuming?
I want to use a piece of VBA to copy values from cells A1, C1, E1, and G1 and paste them into the next blank cell in an existing range called "DCopy". I am trying to use the following code, but as I have never tried writing a looping macro, have no idea what I am doing:
I have a macro that will go into a workbook and copy all applications from a given date onto a master workbook. I have another workbook that has a list of around 20 workbooks and i want the macro to go into each one, and copy over the data onto the master workbook. I have the code to copy it over but i can't get it to loop thru the list of 20 workbooks.
So this code works fine without any error messages but I need to add a sum feature. Any ideas on summing up all the values from the for statement into the cell that corresponds to the value of the variable t. I think i need to store the the value of the for statement as a variable and then at the end of the for statement add the next value from the for statement and so on
Dim t As Integer Dim m As Integer t = 7 m = 11 Do While Cells(t, 7) ""
For m = 11 To (30) col = Split(Columns(m).Address(0, 0), ":")(1) Cells(t, 8).Formula = "=VLOOKUP(G" & t & ",indirect(" & col & 2 & "),2,FALSE)" m = m + 1 Next m t = t + 1 Loop
Sub highlight() Range("AB6,Y6,V6,S6,P6,M6,J6,G6").Select Range("G6").Activate Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, _ Formula1:="=$D$6" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = True End Sub
the only thing is i can't get it to do it for the hole spreadsheet!
i could copy it on to each line! I have 105 .lines and it needs to be compared to a number that is on that line!
I have tried to use some i = 1 to 105 ---- but i don't know what that means, where to put it or how to use it
just so you know the basic of why i'm asking this is i work for a small tv station, as most media it has ratings.. I have to highlight the 15 minute blocks of time that we rank higher in! so for example!
US - time frame - rating Them - rating 1st 15 minutes .05 1st 15 minutes .02 2nd 15 minutes .03 2nd 15 minutes .09
but i have like 8 other stations and a full 24 hour period i normally highlight
I'm having trouble with a macro not looping back to the right place. The macro runs fine but is looping back to the very beginning instead of to the DO WHILE point which is the bit I would like to loop through. The code I have posted is a little long I am afraid (with the first part being largely irrelevant to the issue I am trying to solve), but I have marked where I am trying to get the macro to loop though.
Dim y As String
Dim strResult As String strResult = Dir("K:BTSFilesMQ_FromBloombergutilities.txt") Select Case strResult Case ""
This macro works when there are only a small number of worksheets in a workbook. But as soon as it increases to say 20 or above worksheets, the macro keeps looping without coming to the end of the last worksheet.
Dim intOr As Integer Dim wkscount As Integer
wkscount = ActiveWorkbook.Worksheets.Count For x = 1 To wkscount Worksheets(x).Select
Application. ScreenUpdating = False 'Switches off screen updating and calculations
x = MsgBox("Print in Portrait", vbYesNo, "Printing Choice")............
1) Data - the students are listed in Column A, math scores in Column B, reading scores in Column C and science scores in Column D. The grades of 300 students are entered in this sheet.
Student Math Reading Science
Jimmy 75 84 100
2) Report Card template - This is the report card that needs to be generated for each student. It's pulling the student name and grades from the Data worksheet.
Student Name =Data!$A2
How do I create worksheets (report cards) for additional students? I have 300 students in the school. I need the next worksheet to reference Data!$A3. I know how to cut and paste the report card template and then edit =Data!A2 to be =Data!A3 to create a report card for Sally. How do I create the 300 report cards I need?
I've been teaching for 13 years. I can create a report card for each student in my class and edit each worksheet individually for each student. Now I've been asked to do this for the whole school and I don't know how to create the other 299 sheets I need.
I have a number of spreadsheets, all of the same format, saved into ("C:Email Attachments").
I wish to populate a master workbook, using a macro to loop through all of the workbooks in that folder, copying all of the data (Starting at B52-Q52) using Selection.End.Down, as the row count is always different and pasting it into the master workbook. Sometimes there may only be one row, so an IF statement may be required, to say if there is nothing in B53 then don't do Selection.End.Down. The overall result would be for all of the data from each spreadsheet is detailed as one big list in the master spreadsheet.
How do I write a macro that will delete every other line on a spreadsheet? I can create a macro that delete one line using the Record a macro command but what do I ad at the end of the macro to keep it going until stopped with Ctrl Break?
I have a spreadsheet with multiple departments on it set out in no particular order, (just as they are added) and this sheet needs to stay like that as a record of when added.
The problem I am having is that I need to generate a bordered blank Weekly, Monthly or 52 week planner for what ever department needs it on a different sheet so it may be printed. This will contain that departments items but leave the days/weeks blank for them to fill out.
As an example I use the code below to loop through the original sheet and generate a 52 Week Planner if the criteia matches.