Max/Min for variable length columns

T

Tim Rush

I need to find the max value in a column of unknown length, (start point at
about row 9). Then place that value in same column in next (blank) row.

Then do the same for MIN (but now it is column length -1)

This should be easy, but its been beating me all day.
Thanks
 
B

Bob Phillips

Tim,

I assume that you are able to select the first empty cell. Enter this
formula

=MAX(INDIRECT("A9:A"&ROW()-1))

and then enter

=MIN(INDIRECT("A9:A"&ROW()-1))

in the next row. The column length is irrelevant in this case as the new
number is the MAX so it will not affect the MIN formula.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)
 
G

Gordon Rainsford

Sub maxMinValues()

Dim i As Long, bottomRow As Long
Dim maxValue As Double, minValue As Double

bottomRow = Cells(65536, Selection.Column).End(xlUp).Row

maxValue = Cells(9, Selection.Column).Value
For i = 9 To bottomRow
If Cells(i, Selection.Column).Value > maxValue Then
maxValue = Cells(i, Selection.Column).Value
End If
Next i
Cells(i, Selection.Column).Value = maxValue
Cells(i, Selection.Column - 1).Value = "Maximum Value"

minValue = Cells(9, Selection.Column).Value
For i = 9 To bottomRow
If Cells(i, Selection.Column).Value < minValue Then
minValue = Cells(i, Selection.Column).Value
End If
Next i
Cells(i + 1, 4).Value = minValue
Cells(i + 1, 3).Value = "Minimum Value"

End Sub

Select a cell in the relevant column and then run.
 
T

Tim Rush

Ok, tried that, get a 'Compile error' (Did I mention I was doing this in VBA?
and Office 2002?) Its not recognizing 'Row'. I entered my line as:

High = Max(INDIRECT("B9:B" & Row() - 1))
Tim
 
G

Gordon Rainsford

Gordon Rainsford said:
Cells(i + 1, 4).Value = minValue
Cells(i + 1, 3).Value = "Minimum Value"

These final two lines should read:

Cells(i + 1, Selection.Column).Value = minValue
Cells(i + 1, Selection.Column - 1).Value = "Minimum Value"
 
T

Tim Rush

That did it... It make sense too (go figure), however, I did nodify the last
2 lines to
Cells(i + 1, Selection.Column).Value = minValue which keeps it in the same
column.
 
T

Tim Rush

Got it, Thanks...

Gordon Rainsford said:
These final two lines should read:

Cells(i + 1, Selection.Column).Value = minValue
Cells(i + 1, Selection.Column - 1).Value = "Minimum Value"
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top