ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Find Largest Number "Again" (https://www.excelbanter.com/excel-programming/342221-find-largest-number-again.html)

asmenut

Find Largest Number "Again"
 
Referencing the "Find Largest Number" thread posted earlier this morning, I
redveloped the code to make it work better:

Sub TestAddendum()
Dim i As Long
Dim a As Integer
Dim row As Long
Dim Rng As Range
Dim LastRow As Long

LastRow = Range("A10000").End(xlUp).row

a = InputBox("EO#")
Set Rng = Columns(2).Find(a)
For row = 0 To LastRow
If Rng < 0 Then
MsgBox a & " " & Rng.Offset(row, 1)
End If
If Rng.Offset(row, 0) < a Then
MsgBox "All Done"
Exit Sub
End If
Next
End Sub


I can get it to do all that I need (initially of course) except that before
it "Exit Sub", it repeats the first entry. (example 28735 0 - 5, 28735 0,
exit sub)

28734 0
28735 0
28735 1
28735 2
28735 3
28735 4
28735 5
28736 0
28737 0


How can I stop this after largest number in offset(row,1)?


Vacation's Over

Find Largest Number "Again"
 
If I understand your question;

just reverse the order inside the for loop to quit before writing


If Rng.Offset(row, 0) < a Then
MsgBox "All Done"
Exit Sub
End If
If Rng < 0 Then
MsgBox a & " " & Rng.Offset(row, 1)
End If


"asmenut" wrote:

Referencing the "Find Largest Number" thread posted earlier this morning, I
redveloped the code to make it work better:

Sub TestAddendum()
Dim i As Long
Dim a As Integer
Dim row As Long
Dim Rng As Range
Dim LastRow As Long

LastRow = Range("A10000").End(xlUp).row

a = InputBox("EO#")
Set Rng = Columns(2).Find(a)
For row = 0 To LastRow


Next
End Sub


I can get it to do all that I need (initially of course) except that before
it "Exit Sub", it repeats the first entry. (example 28735 0 - 5, 28735 0,
exit sub)

28734 0
28735 0
28735 1
28735 2
28735 3
28735 4
28735 5
28736 0
28737 0


How can I stop this after largest number in offset(row,1)?


asmenut

Find Largest Number "Again"
 
Thank you kindly for the response. I piddled around with it and realized I
was trying to make it more difficult than it had to be. The final code
(minus the Msgbox) is:

Sub TestAddendum()
Dim TempNo As Long
Dim a As Integer
Dim row As Long
Dim Rng As Range
Dim LastRow As Long
Dim i As Long
LastRow = Range("A10000").End(xlUp).row
a = InputBox("EO#")
Set Rng = Columns(2).Find(a)
For row = 0 To LastRow
If Rng.Offset(row, 0) = a Then
TempNo = Application.Max(Rng.Offset(row, 1))
MsgBox a & " " & TempNo
Else
MsgBox "All Done"
Exit Sub
End If
Next
End Sub

This will allow me to insert a row at the next addendum sequence and load
the data into the cells. (This should stop the "Sorting" procedure I
currently use when I use a "LastRow" Procedure). Should make the operation
quicker (until we have 1000 rows).. Thanks again.

"Vacation's Over" wrote:

If I understand your question;

just reverse the order inside the for loop to quit before writing


If Rng.Offset(row, 0) < a Then
MsgBox "All Done"
Exit Sub
End If
If Rng < 0 Then
MsgBox a & " " & Rng.Offset(row, 1)
End If


"asmenut" wrote:

Referencing the "Find Largest Number" thread posted earlier this morning, I
redveloped the code to make it work better:

Sub TestAddendum()
Dim i As Long
Dim a As Integer
Dim row As Long
Dim Rng As Range
Dim LastRow As Long

LastRow = Range("A10000").End(xlUp).row

a = InputBox("EO#")
Set Rng = Columns(2).Find(a)
For row = 0 To LastRow


Next
End Sub


I can get it to do all that I need (initially of course) except that before
it "Exit Sub", it repeats the first entry. (example 28735 0 - 5, 28735 0,
exit sub)

28734 0
28735 0
28735 1
28735 2
28735 3
28735 4
28735 5
28736 0
28737 0


How can I stop this after largest number in offset(row,1)?



All times are GMT +1. The time now is 09:44 AM.

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