![]() |
Macro Help - Loops
I'm trying to set up a macro to help search through a column of numbers to
find out which two (or more) add to an input number, and then show the numbers in a box. I'm starting with a basic loop that I've used before and I can't get it past the Do While point. Can anyone tell me what I'm missing? Sub Find_Combos_That_Add_to_Input_Value() 'Start at the currently selected cell Dim x As Integer x = ActiveCell.Row 'Loop Do While Cells(x, 0).Value < "" 'If the values of the first row plus the next row equal the input number 'show the message, otherwise go to the next row until the end If (Cells(0, 0).Value + Cells(x, 0).Value = 5) Then MsgBox ("Values are" & Cells(0, 0).Value & "and" & Cells(x, 0).Value) Else 'increase the value of rownum by 1 to move the loop starting point to the next row End If x = x + 1 Loop End Sub |
Macro Help - Loops
Cells(1,1) is A1, so you can't use zero as an index
Sub Find_Combos_That_Add_to_Input_Value() 'Start at the currently selected cell Dim x As Long, c as Long, i as Long x = ActiveCell.Row c= ActiveCell.Column 'Loop Do While Cells(x, c).Value < "" i = 1 do while cells(x + i, c) < "" If (Cells(x, c).Value + Cells(x+i, c).Value = 5) Then MsgBox "Values are" & Cells(x, c).Value & _ " and " & Cells(x+i, c).Value exit sub End If i = i + 1 Loop x = x + 1 Loop End Sub -- Regards, Tom Ogilvy "Alan P" wrote in message ... I'm trying to set up a macro to help search through a column of numbers to find out which two (or more) add to an input number, and then show the numbers in a box. I'm starting with a basic loop that I've used before and I can't get it past the Do While point. Can anyone tell me what I'm missing? Sub Find_Combos_That_Add_to_Input_Value() 'Start at the currently selected cell Dim x As Integer x = ActiveCell.Row 'Loop Do While Cells(x, 0).Value < "" 'If the values of the first row plus the next row equal the input number 'show the message, otherwise go to the next row until the end If (Cells(0, 0).Value + Cells(x, 0).Value = 5) Then MsgBox ("Values are" & Cells(0, 0).Value & "and" & Cells(x, 0).Value) Else 'increase the value of rownum by 1 to move the loop starting point to the next row End If x = x + 1 Loop End Sub |
Macro Help - Loops
The Cells property refers to a row number and a column number/letter, so 0
is an invalid value (no 0 row/column). -- HTH RP (remove nothere from the email address if mailing direct) "Alan P" wrote in message ... I'm trying to set up a macro to help search through a column of numbers to find out which two (or more) add to an input number, and then show the numbers in a box. I'm starting with a basic loop that I've used before and I can't get it past the Do While point. Can anyone tell me what I'm missing? Sub Find_Combos_That_Add_to_Input_Value() 'Start at the currently selected cell Dim x As Integer x = ActiveCell.Row 'Loop Do While Cells(x, 0).Value < "" 'If the values of the first row plus the next row equal the input number 'show the message, otherwise go to the next row until the end If (Cells(0, 0).Value + Cells(x, 0).Value = 5) Then MsgBox ("Values are" & Cells(0, 0).Value & "and" & Cells(x, 0).Value) Else 'increase the value of rownum by 1 to move the loop starting point to the next row End If x = x + 1 Loop End Sub |
Macro Help - Loops
Reconsider Cells(x,0)...perhaps Cells(x,1)?
________________________ Gary's Student "Alan P" wrote: I'm trying to set up a macro to help search through a column of numbers to find out which two (or more) add to an input number, and then show the numbers in a box. I'm starting with a basic loop that I've used before and I can't get it past the Do While point. Can anyone tell me what I'm missing? Sub Find_Combos_That_Add_to_Input_Value() 'Start at the currently selected cell Dim x As Integer x = ActiveCell.Row 'Loop Do While Cells(x, 0).Value < "" 'If the values of the first row plus the next row equal the input number 'show the message, otherwise go to the next row until the end If (Cells(0, 0).Value + Cells(x, 0).Value = 5) Then MsgBox ("Values are" & Cells(0, 0).Value & "and" & Cells(x, 0).Value) Else 'increase the value of rownum by 1 to move the loop starting point to the next row End If x = x + 1 Loop End Sub |
Macro Help - Loops
Thanks, I figured it out. You were on the right track that it couldn't be 0
- I was thinking 0 relative to initial position but it was a non-starter - I designated other variables and it worked. Thanks for your help. "Gary''s Student" wrote: Reconsider Cells(x,0)...perhaps Cells(x,1)? ________________________ Gary's Student "Alan P" wrote: I'm trying to set up a macro to help search through a column of numbers to find out which two (or more) add to an input number, and then show the numbers in a box. I'm starting with a basic loop that I've used before and I can't get it past the Do While point. Can anyone tell me what I'm missing? Sub Find_Combos_That_Add_to_Input_Value() 'Start at the currently selected cell Dim x As Integer x = ActiveCell.Row 'Loop Do While Cells(x, 0).Value < "" 'If the values of the first row plus the next row equal the input number 'show the message, otherwise go to the next row until the end If (Cells(0, 0).Value + Cells(x, 0).Value = 5) Then MsgBox ("Values are" & Cells(0, 0).Value & "and" & Cells(x, 0).Value) Else 'increase the value of rownum by 1 to move the loop starting point to the next row End If x = x + 1 Loop End Sub |
All times are GMT +1. The time now is 12:33 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com