Calculation Of The Cells Update But Very Many Of Them Do Not Change At All
Jul 20, 2006
I've created a bit of a monster Excel model taking in an enormous range of inputs and outputs. Most of the formulas are vlookups and sumif's. The workbook is now about 15meg. I've got autocalculate turned off because of the great deal of time it takes to recalculate. When I do try and re-calc some of the cells update but very many of them do not change at all. If I then go into these cells and edit them (F2 enter) the correct output is given! If I close the book and re-open it normally shows the correct outputs, after a while it goes back to the error above.
I have several data validation style drop down menus, and I basically don't want excel to recognize changes in these cells and execute a calculation of the entire workbook. Since there is a large number of calculations being performed in the workbook the sheet gets really slow.
Overall the way excel "automatically calculates" really screws me up a lot. This built in functionality could be a lot smarter in my opinion.
I have two spreadsheets 1 of which gathers data on individuals for a daily basis for the duration of 1 month via a database query. The other sources this data (not via a lookup) for 20 staff members of staff and details this in a report. The report allows staff members names to change and automatically update their information from the previous sheet.
My problem is that even though the file size is 694kb when asked to update the sheet takes an age to load. Is there anything I can do with my sheet?
My current task is to create a spreadsheet that will auto-hide/show rows based upon values in other cells. I am currently about halfway 40% complete with this aspect of the file. I've read over many forums, and the best what that I've seen individuals do it on other sample spreadsheets posted were a =Rand() in a random cell somewhere in the sheet, and a Private Sub worksheet_calculate(). I'm far from a VBA expert. I'm trying to learn as I go along. Here is my current VBA:
I have one source spreadsheet, where are columns NAME, DATE. I read these data by ADO to other spreadsheet, where I can change/delete data and then run macro for update data in source spreadsheet. The problem: In source spreadsheet is column "NAME" and column "DATE", with values e.g. "Joseph"; 1.1.1980. I read this data to other spreadsheet, then I delete in it value 1.1.1980. When I run macro Update, it messages error.
Sub UpdateItem ... .Fields.Item(1).value = activecell 'activecell value = "Joseph" If Not isempty(activecell.offset(0,1)) Then .Fields.Item(2).value = activecell.offset(0,1).value Else .Fields.Item(2).value = "" 'I tried Empty and 0 too but when I read data again then, it displays 0.1.1900, nothing works End If ... End Sub
It seems that in source spreadsheet has data in column "Date" format Date and when I try to update data in format String ("") in source spreadsheet by Update macro, it messages error. When I used
.Fields.Item(2).Value = Empty ' or .Fields.Item(2).Value = 0
after rereading data it displays 0.1.1900 What I want to get is that if the cell with date (in other spreadsheet) is empty, the cell in column Date in source spreadsheet after updating will be blank (contains no values).
I have a set of procedures that require auto recalc to be on to work correctly. I've tried application.volatile and Application.CalculateFull with no luck. I'm trying to put together code that makes sure recalc is on, but that first determines the current recalc status and then changes it back to Manual when necessary. I don't know how to determine the current status. The following code should work if the red sections are fixed.
Sub TempAuto() Dim CurrentState As unknown CurrentState = Application.Calculation status Application.Calculation = xlAutomatic If CurrentState = Manual Then Application.Calculation = xlManual End If End Sub
I have a range of cells ( C2, C5, C8:N1007, P8:P1007 ....) on a worksheet that I want to be able to clear the contents of through a macro - worksheet is entitled Database
I have 3 additional worksheets all of which have summary information on and some of the formulas are huge.
I've inserted a module and produced this code;
Sub ClearContents() Application.Calculation = xlCalculationManual Range("C2, C5, C8:N1007, P8:P1007, ....").ClearContents Application.Calculation = xlCalculationAutomatic End Sub
Because of all the 3 summary page formulas the code is taking a few seconds to run.
I'm new to VBA and just wondered whether I could switch the calculation setting for the entire workbook onto manual at the beginning of the code and then switch it back to automatic at the end of the code? Think this might speed things up.
I have set up 2 sheets with one called "2007" and the other called "Updt" What I would like to do is when I change the value in "2007" Tab to say "2008" or "2009" etc. it would update corresponding cells in the "Updt" Sheet i.e. Cells B2, B3, B4, B5, B6, B7 and B8.
I have the below vba and would like to have the '''event calculated ''' on any event on the worksheet. Right now it only update if updating the val1 thru val6 cells. How can i get the worksheet to update on any event or change on the sheet?
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next fr = Range("a65536").End(xlUp).Row Set Rng = Range("a2" & ":n" & fr) If Intersect(Target, Rng) Is Nothing Then Exit Sub
I`m trying to work out the best way to propogate a cell's format accross an entire range. What I ultimately want is for a user to only have to change the text colour of one cell, and for the entire row to immediately change to the same colour with it. Even if this means always having to update for example the cell in column A to change the text colour accross that row.
When I update the pivot table with new data, the column where I have some percentage numbers the formatting changes. One number goes back to standard. The new numbers that enter the column also enters as standard numbers. How do I get the column to stay in percentage numbers?
I have not used an event macro before and am trying to one update a cell when changing a cell. I am basically copying a number to another cell that is an input for a calculation and then returning the calculated value back. How do I reference r69 in the code to start the event macro?
in either the csDepositTextBox_Change or _AfterUpdate events, it causes the number to be stored as text in the worksheet. Curiously I can put the code in the corresponding event for another textbox and it does not corrupt the formatting.
Suppose I have a department List, and I made a list from that column (Department List), and I enter more staff and selected a department for them during registering, now one of the Department List Item change, How is it possible to change all the entry which has that department? For more info see the attachment.
I'm trying to use " autofilter". I put the code as Worksheet_Change(ByVal Target As Excel. Range)
so it'll update by itself. My criteria are on row 5 and all my data is below row 7. Row 7 contains the headers. This all works fine for text-fields. My question is if someone can get it working with numbered fields?
Sheet 2. A1: Drop down datavalidation list selected from A3, sheet 1.
On sheet 2, a user can select from the list. If a user changes the value in A2, sheet 1, I want the value that is associated and already selected in A1, sheet 2 to automatically update. There is a 1 to many relationship with the concat and the drop down. In that, sheet 2 can have multiple rows with the same value from sheet 1 A3. Is there a way when A3 sheet 1 changes, to search in A:A in sheet two and update the values for those records that match the original value in A3, sheet 1?
I am comparing a set of common variables across 2 sets of independent financial data. When comparing a variable across the 2 sets e.g. profit I want to colour a neighbouring cell based on the size of the difference. For example if the difference between the two values is within plus or minus 1 make it green, plus or minus 5 red etc.
I need a formula that I can place in, lets say, Cell A1 that will reference Cells B1, B2, B3 and C1, C2, C3. These all have numbers & %'s in them. However, I want to "weight" the B cells by the percentages in C cells. The problem I am having is that when I change the %'s nothing is changing in the output...almost like I was doing nothing but averaging B1:B3 without the % to adjust.
This is how I envision it, but my calculation may be wrong of course : A1 = average(sum(B1,B2,B3)*C1, sum(B1,B2,B3)*C2, sum(B1,B2,B3)*C3)
This would allow me to change the output depending on the percentage. So if I am looking at days to an appointment and the B cells represent areas of a city: B1 = 10, B2 = 5, B3 = 2 the average would be 5.6, however, I know that B1 city has more "weight" to it with our customer base so I want B1 to be closer to what will show as days out (which is obviously important as 10 days is not good). So I would assign C1 = 60%, C2 = 30%, C3 = 10%. This should pull the average more to 7 or 8 as it would lean more towards the B1 value. I hope this makes sense.
I did try going more of a route where I did something like =average(B1*C1,B2*C2,B3*C3) but that lowered all the original values instead and averaged them instead of pushing the number more towards the higher weighted % of B1 cell value. I can send an example spreadsheet if I am losing anyone.
I have a spreadsheet that is designed to aid a production department to complete and track their orders. I need two things from this.
1) I have an order of 500 baskets. Baskets are stacked, but the heights vary from 16 to 20. I need the spreadsheet to be able to work this out for me. Example: 500 baskets 20 high = 25 stacks. 500 baskets 16 high = 31 stacks and 4 baskets.
Excel would work the last equation out as 31.25. How can I get excel to use the remainder (in this case 0.25) to work out the required number of baskets?
2) Using the above, I need the sheet to fill out a certain area with information. So, if the order is 500 baskets at 20 high, I need 25 of the cells in the specific area to display the number 20. Likewise, if the order is 500 baskets at 16 high, I need 31 cells to display 16 and the remaining cell to show 4.
I have a worksheet in which i have rows with yellow colour. In that sheet I Have written formula in that cells & rows. But i want that as soon as the total (SUM) of yellow coloured row crosses value 20 ALL THE ROW CELLS SHOULD BE ZERO. How can i do this
I don't want my sheet to auto calculate every time I change a cell that has nothing to do with the range I want to calculate. What would be the code to only have auto calculate run in range("A13:L17") when a worksheet_change happens in range("A13:L17").
I was looking for a solution through the excel questions but could not find anything which would help me.
As you can see in column B are two different colored Sun, red and magenta as well as Mon and Tue.
I would like to find a formula or macro without creating an extra column which looks for the color magenta i.e. if the particular cells are magenta (Sun, Mon and Tue) then perform an action.
I cannot use the formula in K7.