Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.misc
|
|||
|
|||
Macro to add Multiple columns
My code is below. It keeps throwing an error on the fist for each.
It says Next without for. Any help will be greatly appreciated. Thanks, Jay Sub SumHKCdays() Dim DataSht As Worksheet Dim Start As Double Dim LstRow As Long Dim RngHD As Range Dim RngKD As Range Dim RngCD As Range Dim Rng As Range Dim i Dim Dt As Double Dim X As Double Dim Target As Range Set Target = Range("H3") Set DataSht = Sheet22 LstRow = DataSht.Range("A1").SpecialCells(xlCellTypeLastCel l).Row Set RngHD = DataSht.Range("A5:A" & LstRow) Set RngKD = DataSht.Range("BC5:BC" & LstRow) Set RngCD = DataSht.Range("CD5:CD" & LstRow) Do Until Target.Roww = 32 If Target.Offset(0, -7) = "" Then i = 0 Else Start = Target.Offset(0, -7) - 13 Dt = Target.Offset(0, -7) For Each i In RngHD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 26) + _ i.Offset(0, 31) + i.Offset(0, 36) + i.Offset(0, 43) + i.Offset(0, 48) Else X = X + 0 End Next i For Each i In RngKD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 24) Else X = X + 0 End Next i For Each i In RngCD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 4) + i.Offset(0, 7) + _ i.Offset(0, 12) Else X = X + 0 End Next i End If i = X Loop End Sub |
#2
Posted to microsoft.public.excel.misc
|
|||
|
|||
Macro to add Multiple columns
On Feb 3, 10:37*am, jlclyde wrote:
My code is below. *It keeps throwing an error on the fist for each. It says Next without for. *Any help will be greatly appreciated. Thanks, Jay Sub SumHKCdays() * * Dim DataSht As Worksheet * * Dim Start As Double * * Dim LstRow As Long * * Dim RngHD As Range * * Dim RngKD As Range * * Dim RngCD As Range * * Dim Rng As Range * * Dim i * * Dim Dt As Double * * Dim X As Double * * Dim Target As Range * * Set Target = Range("H3") * * Set DataSht = Sheet22 * * LstRow = DataSht.Range("A1").SpecialCells(xlCellTypeLastCel l).Row * * Set RngHD = DataSht.Range("A5:A" & LstRow) * * Set RngKD = DataSht.Range("BC5:BC" & LstRow) * * Set RngCD = DataSht.Range("CD5:CD" & LstRow) * *Do Until Target.Roww = 32 * * * * If Target.Offset(0, -7) = "" Then * * * * * * i = 0 * * * * Else * * * * Start = Target.Offset(0, -7) - 13 * * * * Dt = Target.Offset(0, -7) * * For Each i In RngHD * * * * If i <= Dt And i = Start Then * * * * * * X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ * * * * * * i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 26) + _ * * * * * * i.Offset(0, 31) + i.Offset(0, 36) + i.Offset(0, 43) + i.Offset(0, 48) * * * * Else * * * * * * X = X + 0 * * * * End * * Next i * * For Each i In RngKD * * * * If i <= Dt And i = Start Then * * * * * * X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ * * * * * * i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 24) * * * * Else * * * * * * X = X + 0 * * * * End * * Next i * * * * For Each i In RngCD * * * * If i <= Dt And i = Start Then * * * * * * X = X + i.Offset(0, 1) + i.Offset(0, 4) + i.Offset(0, 7) + _ * * * * * * i.Offset(0, 12) * * * * Else * * * * * * X = X + 0 * * * * End * * Next i * * End If * * i = X * * Loop End Sub I thought I had looked this over but I guess I had not. Please do not repond to this post. End ifs are not in spelling is poor all over the place. I will post back after I clean it up and if I am still having problems. Thanks, Jay |
#3
Posted to microsoft.public.excel.misc
|
|||
|
|||
Macro to add Multiple columns
Change your End to End If on all of them. Another error is:
Do Until Target.Roww = 32 Change to Roww. -- -John Please rate when your question is answered to help us and others know what is helpful. "jlclyde" wrote: My code is below. It keeps throwing an error on the fist for each. It says Next without for. Any help will be greatly appreciated. Thanks, Jay Sub SumHKCdays() Dim DataSht As Worksheet Dim Start As Double Dim LstRow As Long Dim RngHD As Range Dim RngKD As Range Dim RngCD As Range Dim Rng As Range Dim i Dim Dt As Double Dim X As Double Dim Target As Range Set Target = Range("H3") Set DataSht = Sheet22 LstRow = DataSht.Range("A1").SpecialCells(xlCellTypeLastCel l).Row Set RngHD = DataSht.Range("A5:A" & LstRow) Set RngKD = DataSht.Range("BC5:BC" & LstRow) Set RngCD = DataSht.Range("CD5:CD" & LstRow) Do Until Target.Roww = 32 If Target.Offset(0, -7) = "" Then i = 0 Else Start = Target.Offset(0, -7) - 13 Dt = Target.Offset(0, -7) For Each i In RngHD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 26) + _ i.Offset(0, 31) + i.Offset(0, 36) + i.Offset(0, 43) + i.Offset(0, 48) Else X = X + 0 End Next i For Each i In RngKD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 24) Else X = X + 0 End Next i For Each i In RngCD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 4) + i.Offset(0, 7) + _ i.Offset(0, 12) Else X = X + 0 End Next i End If i = X Loop End Sub |
#4
Posted to microsoft.public.excel.misc
|
|||
|
|||
Macro to add Multiple columns
haha even got me doing it, change Roww to Row.
-- -John Please rate when your question is answered to help us and others know what is helpful. "jlclyde" wrote: My code is below. It keeps throwing an error on the fist for each. It says Next without for. Any help will be greatly appreciated. Thanks, Jay Sub SumHKCdays() Dim DataSht As Worksheet Dim Start As Double Dim LstRow As Long Dim RngHD As Range Dim RngKD As Range Dim RngCD As Range Dim Rng As Range Dim i Dim Dt As Double Dim X As Double Dim Target As Range Set Target = Range("H3") Set DataSht = Sheet22 LstRow = DataSht.Range("A1").SpecialCells(xlCellTypeLastCel l).Row Set RngHD = DataSht.Range("A5:A" & LstRow) Set RngKD = DataSht.Range("BC5:BC" & LstRow) Set RngCD = DataSht.Range("CD5:CD" & LstRow) Do Until Target.Roww = 32 If Target.Offset(0, -7) = "" Then i = 0 Else Start = Target.Offset(0, -7) - 13 Dt = Target.Offset(0, -7) For Each i In RngHD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 26) + _ i.Offset(0, 31) + i.Offset(0, 36) + i.Offset(0, 43) + i.Offset(0, 48) Else X = X + 0 End Next i For Each i In RngKD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 24) Else X = X + 0 End Next i For Each i In RngCD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 4) + i.Offset(0, 7) + _ i.Offset(0, 12) Else X = X + 0 End Next i End If i = X Loop End Sub |
#5
Posted to microsoft.public.excel.misc
|
|||
|
|||
Macro to add Multiple columns
Hi
You are missing a lot of End If statements. In one case it is omitted altogether, in other case you just have End. Setting DataSht is incorrect The following compiles OK Sub SumHKCdays() Dim DataSht As Worksheet Dim Start As Double Dim LstRow As Long Dim RngHD As Range Dim RngKD As Range Dim RngCD As Range Dim Rng As Range Dim i Dim Dt As Double Dim X As Double Dim Target As Range Set Target = Range("H3") Set DataSht = Sheets("Sheet22") LstRow = DataSht.Range("A1"). _ SpecialCells(xlCellTypeLastCell).Row Set RngHD = DataSht.Range("A5:A" & LstRow) Set RngKD = DataSht.Range("BC5:BC" & LstRow) Set RngCD = DataSht.Range("CD5:CD" & LstRow) Do Until Target.Roww = 32 If Target.Offset(0, -7) = "" Then i = 0 Else Start = Target.Offset(0, -7) - 13 Dt = Target.Offset(0, -7) End If For Each i In RngHD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) _ + i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 26) _ + i.Offset(0, 31) + i.Offset(0, 36) + i.Offset(0, 43) _ + i.Offset(0, 48) Else X = X + 0 End If Next i For Each i In RngKD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) _ + i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 24) Else X = X + 0 End If Next i For Each i In RngCD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 4) + i.Offset(0, 7) _ + i.Offset(0, 12) Else X = X + 0 End If Next i i = X Loop End Sub -- Regards Roger Govier "jlclyde" wrote in message ... My code is below. It keeps throwing an error on the fist for each. It says Next without for. Any help will be greatly appreciated. Thanks, Jay Sub SumHKCdays() Dim DataSht As Worksheet Dim Start As Double Dim LstRow As Long Dim RngHD As Range Dim RngKD As Range Dim RngCD As Range Dim Rng As Range Dim i Dim Dt As Double Dim X As Double Dim Target As Range Set Target = Range("H3") Set DataSht = Sheet22 LstRow = DataSht.Range("A1").SpecialCells(xlCellTypeLastCel l).Row Set RngHD = DataSht.Range("A5:A" & LstRow) Set RngKD = DataSht.Range("BC5:BC" & LstRow) Set RngCD = DataSht.Range("CD5:CD" & LstRow) Do Until Target.Roww = 32 If Target.Offset(0, -7) = "" Then i = 0 Else Start = Target.Offset(0, -7) - 13 Dt = Target.Offset(0, -7) For Each i In RngHD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 26) + _ i.Offset(0, 31) + i.Offset(0, 36) + i.Offset(0, 43) + i.Offset(0, 48) Else X = X + 0 End Next i For Each i In RngKD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 24) Else X = X + 0 End Next i For Each i In RngCD If i <= Dt And i = Start Then X = X + i.Offset(0, 1) + i.Offset(0, 4) + i.Offset(0, 7) + _ i.Offset(0, 12) Else X = X + 0 End Next i End If i = X Loop End Sub |
#6
Posted to microsoft.public.excel.misc
|
|||
|
|||
Macro to add Multiple columns
On Feb 3, 10:55*am, "Roger Govier"
<roger@technology4unospamdotcodotuk wrote: Hi You are missing a lot of End If statements. In one case it is omitted altogether, in other case you just have End. Setting DataSht is incorrect The following compiles OK Sub SumHKCdays() * * Dim DataSht As Worksheet * * Dim Start As Double * * Dim LstRow As Long * * Dim RngHD As Range * * Dim RngKD As Range * * Dim RngCD As Range * * Dim Rng As Range * * Dim i * * Dim Dt As Double * * Dim X As Double * * Dim Target As Range * * Set Target = Range("H3") * * Set DataSht = Sheets("Sheet22") * * LstRow = DataSht.Range("A1"). _ * * SpecialCells(xlCellTypeLastCell).Row * * Set RngHD = DataSht.Range("A5:A" & LstRow) * * Set RngKD = DataSht.Range("BC5:BC" & LstRow) * * Set RngCD = DataSht.Range("CD5:CD" & LstRow) * * Do Until Target.Roww = 32 * * * * If Target.Offset(0, -7) = "" Then * * * * * * i = 0 * * * * Else * * * * * * Start = Target.Offset(0, -7) - 13 * * * * * * Dt = Target.Offset(0, -7) * * * * End If * * * * For Each i In RngHD * * * * * * If i <= Dt And i = Start Then * * * * * * * * X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) _ * * * * * * * * * * + i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 26) _ * * * * * * * * * * + i.Offset(0, 31) + i.Offset(0, 36) + i.Offset(0, 43) _ * * * * * * * * * * + i.Offset(0, 48) * * * * * * Else * * * * * * * * X = X + 0 * * * * * * End If * * * * Next i * * * * For Each i In RngKD * * * * * * If i <= Dt And i = Start Then * * * * * * * * X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) _ * * * * * * * * * * + i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 24) * * * * * * Else * * * * * * * * X = X + 0 * * * * * * End If * * * * Next i * * * * For Each i In RngCD * * * * * * If i <= Dt And i = Start Then * * * * * * * * X = X + i.Offset(0, 1) + i.Offset(0, 4) + i.Offset(0, 7) _ * * * * * * * * * * + i.Offset(0, 12) * * * * * * Else * * * * * * * * X = X + 0 * * * * * * End If * * * * Next i * * * * i = X * * Loop End Sub -- Regards Roger Govier "jlclyde" wrote in message ... My code is below. *It keeps throwing an error on the fist for each. It says Next without for. *Any help will be greatly appreciated. Thanks, Jay Sub SumHKCdays() * *Dim DataSht As Worksheet * *Dim Start As Double * *Dim LstRow As Long * *Dim RngHD As Range * *Dim RngKD As Range * *Dim RngCD As Range * *Dim Rng As Range * *Dim i * *Dim Dt As Double * *Dim X As Double * *Dim Target As Range * *Set Target = Range("H3") * *Set DataSht = Sheet22 * *LstRow = DataSht.Range("A1").SpecialCells(xlCellTypeLastCel l).Row * *Set RngHD = DataSht.Range("A5:A" & LstRow) * *Set RngKD = DataSht.Range("BC5:BC" & LstRow) * *Set RngCD = DataSht.Range("CD5:CD" & LstRow) * Do Until Target.Roww = 32 * * * *If Target.Offset(0, -7) = "" Then * * * * * *i = 0 * * * *Else * * * *Start = Target.Offset(0, -7) - 13 * * * *Dt = Target.Offset(0, -7) * *For Each i In RngHD * * * *If i <= Dt And i = Start Then * * * * * *X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ * * * * * *i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 26) + _ * * * * * *i.Offset(0, 31) + i.Offset(0, 36) + i.Offset(0, 43) + i.Offset(0, 48) * * * *Else * * * * * *X = X + 0 * * * *End * *Next i * *For Each i In RngKD * * * *If i <= Dt And i = Start Then * * * * * *X = X + i.Offset(0, 1) + i.Offset(0, 6) + i.Offset(0, 11) + _ * * * * * *i.Offset(0, 16) + i.Offset(0, 21) + i.Offset(0, 24) * * * *Else * * * * * *X = X + 0 * * * *End * *Next i * * * *For Each i In RngCD * * * *If i <= Dt And i = Start Then * * * * * *X = X + i.Offset(0, 1) + i.Offset(0, 4) + i.Offset(0, 7) + _ * * * * * *i.Offset(0, 12) * * * *Else * * * * * *X = X + 0 * * * *End * *Next i * *End If * *i = X * *Loop End Sub- Hide quoted text - - Show quoted text - Setting the sheet works fine. The sheets name is not 22 it is the code name that never changes. I really screwed up the End ifs though. Thanks for the help, Jay |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
I need a macro to transpose multiple columns A1-Z1, A2-X2 etc | Excel Discussion (Misc queries) | |||
Combine multiple columns into two long columns, Repeating rows in first column | Excel Discussion (Misc queries) | |||
Combine multiple columns into two long columns, Repeating rows in first column | Excel Discussion (Misc queries) | |||
macro to compile columns on multiple sheets | Excel Discussion (Misc queries) | |||
Macro to align and compare multiple rows and columns | New Users to Excel |