Optimize VBA Loop For Inserting Formula

Aug 4, 2009

I have a spreadsheet with 10,000 rows. In column A dates are mentioned and in column B I'd like to calculate the specific Quarter via VBA code as I can't have formula's in my sheet.
My VBA code is:


Sub QuarterCalc()
Dim myCell As Range
Application. ScreenUpdating = False
For Each myCell In ThisWorkbook.Sheets("Data").Range(Cells(1, 2), Cells(10000, 2))
myCell.Formula = "=INT((MONTH(RC[-1])-1)/3)+1"
myCell.Offset(0, 0) = myCell.Offset(0, 0).Value
Next
Application.ScreenUpdating = True
End Sub

View 9 Replies


ADVERTISEMENT

For Loop - Inserting Row If Certain Condition Met

Aug 29, 2013

Inserting a row. I have a for loop, and after a certain condition is met, add a row.

VB : Rows(i).Insert Shift:=xlDown

View 1 Replies View Related

Optimize Cut Lengths

May 20, 2009

I have a given length of steel bar...Example(550 feet)

I have various cut lengths that I can pick from...
14'-10".....13'- 9".. 12'-8"........(up to 6 different lengths)

I need to know the best combination of lengths to cut the long bar into to have minimal scrap left when we get to the end of the 550 feet.....

Cut as many of the longest cut lengths possiable.....Cut as few of the shortest cut lengths possiable

Due to the fact that I will have to convert this to a PLC application when completed, I want to find a mathmatical way to do this inside excel and not use the "solver"....Assuming that I/we can come up with an equation to do this .....

View 14 Replies View Related

Optimize Calculation Speed

Mar 24, 2009

I have a rather large spreadsheet that takes a very long time to calculate once the new data is added. One of the many things I need to do is look to see if a unique value in range 1 is also in range 2. If it is, return some data (vlookup), if it's not, then I want a "0", not #NA. My question is, which of these two methods will result in a faster calculation (if at all):

Option 1: Do it in one step
=IF(ISNA(VLOOKUP($A3,LY,3,FALSE)),0,VLOOKUP($A3,LY,3,FALSE))

Or option 2: Do it in two steps:
Column N formula:
=VLOOKUP($A3,LY,3,FALSE)

Column N+1 formula:
=IF(ISNA(Column N value),0,=column N value)

I have many columns of data using formulas in option 1, so if I have coded this badly that could be my problem...

View 9 Replies View Related

Optimize Restructuring Macro

Apr 29, 2008

This macro accepts analytical files of constant format, imported into individual worksheets. Each file contains header information, followed by bulk analyses. Header information is extracted and used to tag individual records within an array. A unique header is created for each analytical method and erroneous values are treated. The array is output to a new worksheet, then the macro loops, repopulates the array, attempts to match the headers of the current array with those in the output worksheet and writes records in the corresponding column.

I'm particularly concerned with the section entitled "Match columns to headers" as this involves several nested loops and seems very inefficient.

As it goes, it works. However, as I intend to develop the macro further into something more versatile, it seems sensible to get the fundamentals correct.

Sub Format_Assays()

Dim batchId As String, inArray() As Variant, i As Integer, j As Integer, outRow As Integer, outCol As Integer, outSheet As Worksheet, sExist As Boolean, wSheet As Worksheet, x As Integer, xout As Integer, y As Integer, yout As Integer

'Cycle through required sheets
For Each wSheet In ActiveWorkbook.Sheets
If wSheet. Name = "Assays_All" Then
sExist = True
Exit For
End If
Next wSheet

View 9 Replies View Related

Speed-Up/Optimize Recorded Macro Code

Aug 30, 2006

Im setting up a spreadsheet that does engineering calculations. Im using macros to run sizes from a standard schedule. It basically takes the values from one sheet (schedule) to another (calculation), then the result from the calculation sheet (Value only, not the link) is pasted back into the schedule. The macro seems very bulky and im sure that it can be made more efficient with a loop. here is a sample of the code from the macro;

Sheets("Calc sheet").Select
Range("C6").Select
ActiveCell.FormulaR1C1 = "=Schedule!R[1]C"
Range("C7").Select
ActiveCell.FormulaR1C1 = "=Schedule!RC[1]"
Range("C8").Select
ActiveCell.FormulaR1C1 = "=Schedule!R[-1]C[2]"
Range("C9").Select
Sheets("Schedule").Select
Range("G7").Select..................

View 3 Replies View Related

Optimize Slow Conditional Formatting Code

Jan 23, 2008

I am having a little trouble with this code, which runs in my simple but efective ressource overview. It loops through a rather large range and assigns interior colour to the cells based on certain criteria. On my stationary machine (Excel 2003) it takes approximately 15-30 seconds to run the code which is acceptable. On my laptop (Excel 2007) it takes 5+ minutes which is unacceptable. Is there a workaround so as to optimize the speed? Further, when I run this workbook on Excel 2007, even entering an integer in the sheet takes 3-4 seconds, and no code is running! In my first version I used a Change_Event to colour cells on the fly but this was slow and prevented multible cell editing as well as pasting values into the appropriate range.

Public Sub Farvelade()
Dim icolor, Navn As Integer
Dim TargetRow, LastRow, Previous As Long
Dim Target As Range
MsgBox "Det kan tage 15-30 sekunder at opdatere ressourcekalenderen"
Range("A5").Activate
Range("A5"). CurrentRegion.Select
'Set range
ActiveCell.Offset(Selection.Rows.Count, 0).Activate
LastRow = Cells(Cells.Rows.Count, "A").End(xlUp).Row.....................

View 8 Replies View Related

Optimize Select Random Cell Value Without Duplicates Code

Apr 6, 2013

I have two worksheets. ws1 contains a large number of dates on column 3. ws3 contains around 20 dates on column 3.

I want to pick two dates randomly in ws1 that does not already exist in ws3.

Here is my working code, but it is really slow to process. How to optimize this code? Also I would like to add a function where if the macro is not able to find two random dates that aren't already in ws3 then exit loop.

VB:
Set ws1 = thisworkbook.sheets(1)
Set ws3 = thisworkbook.sheets(3)

lr = ws2.Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
Set rvis = ws2.Range("c2:c" & lr).SpecialCells(xlCellTypeVisible)
mynodate = 0

[Code] .....

View 7 Replies View Related

Optimize Slow Code And Avoid Copy To Clipboard?

Oct 7, 2013

this code to minimize it and avoid copy to clipboard.

VB:
Sub SapOutputRun()
Application.EnableEvents = False
Application.ScreenUpdating = False

[Code].....

View 2 Replies View Related

Inserting A Variable Formula With VBA?

Nov 23, 2012

I have a data set which is structured such that there are variable numbers of products (column A) from 1 - 48 and these repeat multiple times for each "Name" held in column B. I have attached an example of this which uses a data set with 7 entries reapeating 7 times.

I need excel to insert 2 formula for me multiple times which needs to varry according as follows

1. Calculate the average value of data in Column C - G for n cells starting at a specific cell (C2), I have inserted an example of this and highlighted it in yellow. This then needs to repeat down column C several times, the number of times this will repeat depends upon the number of different names held in column B. But I have this calculated already and stored in a cell im my main document.

2. Calculate the variance of each value in the x cells above from the average calculated in point 1 above. I have highlighted this also in yellow.

View 1 Replies View Related

Keep Formula When Inserting (automatic)?

Feb 1, 2014

When inserting a row in lets say row 5, i want the formula to be kept for that row. (e5) Table doesnt seems to work. Any macro for this, and no button but automatically.?

View 2 Replies View Related

Inserting Formula In Every Other Column?

Mar 26, 2013

Is there a quick way to copying formula's from one column to every other column? I am using about 1000 columns.

View 6 Replies View Related

Inserting Formula Into Cell?

Nov 7, 2013

I'm trying to insert a formula into cell "A8" when cell "A1" changes. These formula gives me (into cell "A8") the next week day, depending on the value of cell "A1". If A1="FRIDAY", "A8" will be 08-11-2013.

The problem is that an error ocurred (Run-time error '1004'). If I put the formula directly into cell it works...

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
ActiveWorkbook.Worksheets("Sheet1").Range("A8").Formula = "=TODAY()+8-WEEKDAY(TODAY()-MATCH(A1;{""MONDAY"";""TUESDAY"";""WEDNESDAY"";""THURSDAY"";""FRIDAY""};0))"
End If
End Sub

View 3 Replies View Related

Formula For Inserting Weekly Dates?

Mar 7, 2014

I have a simple time sheet that I want to insert weekly dates by the date I have. I don't know the formula for that. I've attached the time sheet. TimeSheet2.xls

View 10 Replies View Related

Update Formula After Inserting Rows?

May 4, 2014

I have some formula's that look at a range of rows

[Code] .....

The trouble is I insert rows to add new data to my sheet, this then changes the formula. $A$9 then becomes $A$10, I don't want this. I want the start of the formula to stay the same. How do I do this?

View 3 Replies View Related

Formula For Inserting Date Of Last Trading Day?

Aug 5, 2014

I'm trying to come up with a formula that allows me to insert the date of the previous trading day. Because for several reasons I can't create a column array of manually entered holidays, I'm trying to find a formula that would produce this. I've tried this, but excel doesn't like it.

=DATUM(JAHR(ARBEITSTAG(HEUTE();-1;{DATUM(Jahr(heute());01;01);DATUM(Jahr(HEUTE());12;25))})); MONAT(ARBEITSTAG(HEUTE();-1;{DATUM(Jahr(heute());01;01);DATUM(Jahr(HEUTE());12;25))})); TAG(ARBEITSTAG(HEUTE();-1);{DATUM(Jahr(heute());01;01);DATUM(Jahr(HEUTE());12;25))}))

View 6 Replies View Related

Copy Formula When Inserting Rows

Aug 4, 2008

Need "Copy formula when Inserting rows". For instance, A1=5, B1=10 but my formula set far behind in AE1=SUM(A1:B1). So,when I insert new row, I have to go to AE to drag the formula, is there any Macro or tips to simplify it?

View 14 Replies View Related

Syntax For Inserting Formula Into A Cell

Nov 27, 2009

I have this code for setting up a sheet to begin a calculation involving the solver add in. I am getting a "Run Time Error 13: Type Mismatch" on the line that inserts a formula into the cell. I have put the first offending line in bold in the code below. Is this a problem with syntax or is there something else that I have made a mistake on?

View 2 Replies View Related

Inserting Simple Formula In Range

Jan 1, 2010

I would like to insert a formula in a column, the formula is in column D and must be something like "=C1-B1" for row 1, "=C2-B2" for row 2,...etc. I would like to do it without using a loop cycle in VBA...I have attached an example of the data I'm using..

View 3 Replies View Related

Inserting Copied Text Into A Formula Using VBA

Jul 31, 2012

I am trying to write a macro that will allow me to copy the text of a cell, and then insert text around that previously copied string. I am having a problem adding the copied text into my formula. Here is my code below:

Sub Bid()
'
Selection.Copy
ActiveCell.Value = "inventory levels are " & ActiveCell.PasteSpecial(xlPasteValues) & " and oversold by"
ActiveCell.Offset(1, 0).Select
End Sub

View 2 Replies View Related

Inserting Values In Existing Formula

Mar 17, 2009

I need to replace the values in the braces with the values in Column A. Is there an easy way to do this or am I stuck with doing each one manually? There are 92 lines in Column A.....

View 9 Replies View Related

Method To Copy Formula When Inserting A Row

Jul 18, 2006

some method by which a user can insert a row that will then copy any forumulas, not their resultant value, in the row above into the new row. The best would be for a user to be able to just use Insert > Row from the toolbar and then have a macro automatically run, but I am willing to use any possible solutions.

I know that there are other posts on this subject, but I can not figure out how to make the information in them work for me. I know that I need to go to View Code in order to insert the code, but I am not clear on what to do after that in order for the code to function, even how to exactly enter the code (should I enter into General or Worksheet, into Sheet1 or ThisWorkbook, etc..). I saw someone mention something about using now() somehow to get code to automatically run or using toolbar buttons, both of which I do not understand how to do.

View 9 Replies View Related

Copying Last Row Then Inserting It Screws Up Part Of Formula?

Jan 12, 2014

I have a spreadsheet serving as a simple document register. Column A is a unique document reference number, which is a simple concatenation of some text which prefixes all of the document numbers, plus the date in "yyymmdd" format (from column B) and a 3-digit sequence number (from column C).

Column B has no formula - my macro just pastes a timestamp in there.

Column C is a sequence number field which has a formula comparing the "yyymmdd" part of the timestamp with the cell directly above it. If they are different then the sequence number becomes "001" - if they are the same then the sequence number is incremented by 1, so all docs created on the same day have an incremental sequence number.

Here's the problem. When I want to add a new document I need to copy the last row down to the next row (in preparation for the next document to be created by my system) and there are two ways I've been doing this - one which works and one which doesn't.

This works > Say my last row (with the hidden formulae) is row 13. I select A13:C13 plus the three blank cells directly below (A14:C14) and do a Ctrl+D to copy them down. All is well.

But the following doesn't work - why? > I select the entire row 13, copy it, then reinsert it at row 13 so the formulae in row 13 get shifted down to row 14. What goes wrong here is that my formula in column C which WAS comparing the date in B13 to the one in B12 NOW compares B13 to B11

I've attached an example spreadsheet to try and demonstrate the problem. Sheet 1 is the original sheet. Sheet 2 is the "copying down" method which works, and Sheet 3 shows what happens when you copy the entire row 13 and "Insert copied cells".

excel-insertrow-formula-problem.xls

View 9 Replies View Related

Looping Through Range And Inserting Formula Where Condition Met

Feb 6, 2014

I am having trouble looping through a range and inserting a formula where a condition is met.

My range is "h9:i"

My current code inserts a formula in column i when there is a value in the adjacent row in column h:

[Code] .....

However, because there are so many rows (12,000+) it is taking a considerable length of time to run.

Some of the cells in column i will already contain the relevant formula, so to speed this up I want to insert the formula in column i only when the cell value (in column i) is not null, as opposed to inserting it for all cells within the range.

I know how to loop through the range, but the problem is the 'H9' cell reference in the formula in the code above will need to change depending on what row it is being inserted into- so if it is going into "i31" this will need to be "h31".

View 7 Replies View Related

Changing Cell Reference In A Formula When Inserting A Row

Jul 10, 2009

I have a function Sum('1st Qtr:4th Qty'!AW1) in row 1 and dragged down 129 rows so the last reads Sum('1st Qtr:4th Qty'!AW129). If I insert a row the cell reference does not increment automatically below the insert location. How do I get it to do so. The insertion occurs when I run a macro.

View 3 Replies View Related

Inserting Columns On Worksheet And Keeping Formula?

Jan 10, 2012

I have a spreadsheet that I can modify. It currently has a three product column but I need to insert 2 or 3 more columns to make 5 plus the total at the end. It also have a summary sheet. I insert the 2 columns and somehow got the formulas flowing. However when I hit the summary page its not showing results for those two new columns in the total. I am lost. I wish I could post the sheet. Its a multiple product break-even analysis exercise.

View 1 Replies View Related

Excel 2010 :: Inserting Pictures As Formula?

Jan 2, 2013

What will show in column B will change each day as a I am creating a ordering picking list and want to show a pic in column A of the item to pick the item. Is there an easy way of doing this.

I have been messing around with the following

=showpic("C:DesktopItems46004978Thumb.jpg")

And thought I may be able to show this as by doing the following in the desired cells

=IF(ISBLANK(B1),"",INDEX(Sheet1!A:A,MATCH(B1,Sheet1!B:B,0)))

On sheet1 I have all the model numbers next to

=showpic("C:DesktopItems46004978Thumb.jpg")

And the index formula will grab the correct showpic string depending on stock code that is showing in various column B cells but this isn't working.....

View 9 Replies View Related

Macro - Inserting Formula On Multiple Worksheets

Aug 16, 2013

I have an Excel file that contains several worksheets. I would like to add a forumla to the next available cell. For example, if coulmn F contains the set of numbers to be sum the formula should be placed beneath the last number in column F. Each worksheet has a different length, the worksheet name will vary, and the number of worksheets will vary.

I know how to accomplish this task using the code below when the sheet name is known. Since it is not known I am unsure of the code.

Sheets("RawAmt").Select
NxtRw = Cells(Rows.Count, "C").End(xlUp).Row + 1
With Cells(NxtRw, "C")
.Formula = "=SUM(C1:C" & NxtRw - 1 & ")"
.Font.Name = "Arial"
.Font.Size = 8
.Font.Bold = True
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).LineStyle = xlDouble
.Borders(xlEdgeBottom).Weight = xlThick

View 7 Replies View Related

Macro Inserting Semi Dynamic Formula?

Feb 9, 2014

My VBA is limited so I'm drawing a blank,

I am trying to create a macro that inserts a formula based on data in column A (looking up in same row) and the header (Stored in Row 2 of the column - This is a fixed cell)

Formula I can currently copy and paste in there is

=VLOOKUP($A1,'Current IW15'!$A$1:$L$1962,MATCH(Workpack!J$2,'Current IW15'!$A$1:$L$1,0),FALSE)

(I know it's bad form to match in the vlooukup, however it works in this form...)

So far I have

Private Sub CommandButton1_Click()
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC1,'Current IW15'!$A$1:$L$1962,MATCH(Workpack!R2C,'Current IW15'!A$1:$L$1,0),FALSE)"
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

But it doesn't work

View 2 Replies View Related

Inserting A Formula In PIVOT Table Field.

Aug 27, 2008

inserting a formula in PIVOT table field....

View 9 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved