ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Help with formula in vb coding (https://www.excelbanter.com/excel-programming/430373-help-formula-vbulletin-coding.html)

MC

Help with formula in vb coding
 

Hi, I am using excel 2003. I have a spreadsheet that has approx 3000 lines.
I am trying to code Col A to equal the values in Col C, D & E. And Col B = H
- G. The following code works, but takes a long time to execute:
xl_WksheetAC05_52712.Range("C2").Select
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(-2,0 ).Value = ActiveCell.Value &
ActiveCell.Offset(0, 1).Value & ActiveCell.Offset(0, 2).Value
ActiveCell.Offset(-1, 0).Value = ActiveCell.Offset(0, 5).Value
- ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(1, 0).Select
Loop

Is there a better solution? Thanks in advance.

Tom Hutchins

Help with formula in vb coding
 

Try this:

Sub AddFormulas()
Dim LR As Long
'Activate xl_WksheetAC05_52712 (must set object variable first)
xl_WksheetAC05_52712.Activate
'Find the last cell in row C
LR& = Range("C2").End(xlDown).Row
'Add formulas in row 2
Range("A2").Formula = "=SUM(RC[2]:RC[4])"
Range("B2").Formula = "=RC[6]-RC[5]"
'Use AutoFill to copy the formulas down
Range("A2:B2").Select
Selection.AutoFill Destination:=Range("A2:B" & LR&)
Calculate
End Sub

Hope this helps,

Hutch

"mc" wrote:

Hi, I am using excel 2003. I have a spreadsheet that has approx 3000 lines.
I am trying to code Col A to equal the values in Col C, D & E. And Col B = H
- G. The following code works, but takes a long time to execute:
xl_WksheetAC05_52712.Range("C2").Select
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(-2,0 ).Value = ActiveCell.Value &
ActiveCell.Offset(0, 1).Value & ActiveCell.Offset(0, 2).Value
ActiveCell.Offset(-1, 0).Value = ActiveCell.Offset(0, 5).Value
- ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(1, 0).Select
Loop

Is there a better solution? Thanks in advance.


Don Guillett

Help with formula in vb coding
 

Hard to visualize
If desired, send your file to my address below along with this msg and
a clear explanation of what you want and before/after examples.

--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"mc" wrote in message
...
Hi, I am using excel 2003. I have a spreadsheet that has approx 3000
lines.
I am trying to code Col A to equal the values in Col C, D & E. And Col B
= H
- G. The following code works, but takes a long time to execute:
xl_WksheetAC05_52712.Range("C2").Select
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(-2,0 ).Value = ActiveCell.Value &
ActiveCell.Offset(0, 1).Value & ActiveCell.Offset(0, 2).Value
ActiveCell.Offset(-1, 0).Value = ActiveCell.Offset(0, 5).Value
- ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(1, 0).Select
Loop

Is there a better solution? Thanks in advance.



Patrick Molloy

Help with formula in vb coding
 
WITH xl_WksheetAC05_52712.
WITH .Range(.Range("C2") , .Range("C2").End(xlDown) ).Offset(,-2)
.FormulaR1C1= "=RC3 & RC4 & RC5"
END WITH
WITH .Range(.Range("C2") , .Range("C2").End(xlDown) ).Offset(,-1)
.FormulaR1C1= "=RC8"
END WITH
END WITH

"mc" wrote in message
...
Hi, I am using excel 2003. I have a spreadsheet that has approx 3000
lines.
I am trying to code Col A to equal the values in Col C, D & E. And Col B
= H
- G. The following code works, but takes a long time to execute:
xl_WksheetAC05_52712.Range("C2").Select
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(-2,0 ).Value = ActiveCell.Value &
ActiveCell.Offset(0, 1).Value & ActiveCell.Offset(0, 2).Value
ActiveCell.Offset(-1, 0).Value = ActiveCell.Offset(0, 5).Value
- ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(1, 0).Select
Loop

Is there a better solution? Thanks in advance.



MC

Help with formula in vb coding
 
Thanks, Tom for the help, it worked.

"Tom Hutchins" wrote:

Try this:

Sub AddFormulas()
Dim LR As Long
'Activate xl_WksheetAC05_52712 (must set object variable first)
xl_WksheetAC05_52712.Activate
'Find the last cell in row C
LR& = Range("C2").End(xlDown).Row
'Add formulas in row 2
Range("A2").Formula = "=SUM(RC[2]:RC[4])"
Range("B2").Formula = "=RC[6]-RC[5]"
'Use AutoFill to copy the formulas down
Range("A2:B2").Select
Selection.AutoFill Destination:=Range("A2:B" & LR&)
Calculate
End Sub

Hope this helps,

Hutch

"mc" wrote:

Hi, I am using excel 2003. I have a spreadsheet that has approx 3000 lines.
I am trying to code Col A to equal the values in Col C, D & E. And Col B = H
- G. The following code works, but takes a long time to execute:
xl_WksheetAC05_52712.Range("C2").Select
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(-2,0 ).Value = ActiveCell.Value &
ActiveCell.Offset(0, 1).Value & ActiveCell.Offset(0, 2).Value
ActiveCell.Offset(-1, 0).Value = ActiveCell.Offset(0, 5).Value
- ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(1, 0).Select
Loop

Is there a better solution? Thanks in advance.


MC

Help with formula in vb coding
 

Thanks for the help, it worked.

"Patrick Molloy" wrote:

WITH xl_WksheetAC05_52712.
WITH .Range(.Range("C2") , .Range("C2").End(xlDown) ).Offset(,-2)
.FormulaR1C1= "=RC3 & RC4 & RC5"
END WITH
WITH .Range(.Range("C2") , .Range("C2").End(xlDown) ).Offset(,-1)
.FormulaR1C1= "=RC8"
END WITH
END WITH

"mc" wrote in message
...
Hi, I am using excel 2003. I have a spreadsheet that has approx 3000
lines.
I am trying to code Col A to equal the values in Col C, D & E. And Col B
= H
- G. The following code works, but takes a long time to execute:
xl_WksheetAC05_52712.Range("C2").Select
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(-2,0 ).Value = ActiveCell.Value &
ActiveCell.Offset(0, 1).Value & ActiveCell.Offset(0, 2).Value
ActiveCell.Offset(-1, 0).Value = ActiveCell.Offset(0, 5).Value
- ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(1, 0).Select
Loop

Is there a better solution? Thanks in advance.




All times are GMT +1. The time now is 05:00 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com