Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
magix
 
Posts: n/a
Default Max Value in a column exclude selection - Excel VBA

Hi,

I used the below formula to find the max value in a column, and increment it
to the selection cell.

If Application.Count(Columns(1)) Then
MaxValue = Application.Max(Columns(1))
Else
MaxValue = 0
End If

If Application.CountA(Selection) = 0 Then
Selection.Value = MaxValue + 1
Else
If MsgBox("There are values in the selection. Are you sure you want to
replace?", vbQuestion + vbYesNo) = vbYes Then
' Check OK or Cancel, If OK, replace, if Not OK, abort
Selection.Value = MaxValue + 1
End If
End If


Example:
A1 has value 1
A2 has value 1
A3 has value 2

If I select A4, and click my macro button, it will put in value 3

My concern is like this:
If I select A3, it will prompt the mesg that if I want to replace it, then
if I click yes, it will put value 3
But I want it to put value 2, so that when find the max value, it actually
find all in the column , EXCLUDE those in the selection. How can I add those
checking in finding max value in a column excluding those in selection ?

I hope you got what I mean.

Thanks.

Regards.


  #2   Report Post  
Dave Peterson
 
Posts: n/a
Default Max Value in a column exclude selection - Excel VBA

I think...

Option Explicit
Sub testme01()
Dim myRng As Range
Dim CurSel As Range
Dim myCell As Range
Dim MaxValue As Double

Set CurSel = Selection
For Each myCell In Intersect(Columns(1), ActiveSheet.UsedRange).Cells
If Intersect(myCell, CurSel) Is Nothing Then
If myRng Is Nothing Then
Set myRng = myCell
Else
Set myRng = Union(myCell, myRng)
End If
End If
Next myCell

If myRng Is Nothing Then
'can't do max!
MaxValue = 0
MsgBox MaxValue & vbLf & "no cells looked at"
Else
MaxValue = Application.Max(myRng)
MsgBox MaxValue & vbLf & myRng.Address(0, 0)
End If

'rest of your code...
'remove the msgbox's when you're happy with your tests.
End Sub


magix wrote:

Hi,

I used the below formula to find the max value in a column, and increment it
to the selection cell.

If Application.Count(Columns(1)) Then
MaxValue = Application.Max(Columns(1))
Else
MaxValue = 0
End If

If Application.CountA(Selection) = 0 Then
Selection.Value = MaxValue + 1
Else
If MsgBox("There are values in the selection. Are you sure you want to
replace?", vbQuestion + vbYesNo) = vbYes Then
' Check OK or Cancel, If OK, replace, if Not OK, abort
Selection.Value = MaxValue + 1
End If
End If

Example:
A1 has value 1
A2 has value 1
A3 has value 2

If I select A4, and click my macro button, it will put in value 3

My concern is like this:
If I select A3, it will prompt the mesg that if I want to replace it, then
if I click yes, it will put value 3
But I want it to put value 2, so that when find the max value, it actually
find all in the column , EXCLUDE those in the selection. How can I add those
checking in finding max value in a column excluding those in selection ?

I hope you got what I mean.

Thanks.

Regards.


--

Dave Peterson
  #3   Report Post  
magix
 
Posts: n/a
Default Max Value in a column exclude selection - Excel VBA


"Dave Peterson" wrote in message
...
I think...

Option Explicit
Sub testme01()
Dim myRng As Range
Dim CurSel As Range
Dim myCell As Range
Dim MaxValue As Double

Set CurSel = Selection
For Each myCell In Intersect(Columns(1), ActiveSheet.UsedRange).Cells
If Intersect(myCell, CurSel) Is Nothing Then
If myRng Is Nothing Then
Set myRng = myCell
Else
Set myRng = Union(myCell, myRng)
End If
End If
Next myCell

If myRng Is Nothing Then
'can't do max!
MaxValue = 0
MsgBox MaxValue & vbLf & "no cells looked at"
Else
MaxValue = Application.Max(myRng)
MsgBox MaxValue & vbLf & myRng.Address(0, 0)
End If

'rest of your code...
'remove the msgbox's when you're happy with your tests.
End Sub


magix wrote:

Hi,

I used the below formula to find the max value in a column, and

increment it
to the selection cell.

If Application.Count(Columns(1)) Then
MaxValue = Application.Max(Columns(1))
Else
MaxValue = 0
End If

If Application.CountA(Selection) = 0 Then
Selection.Value = MaxValue + 1
Else
If MsgBox("There are values in the selection. Are you sure you want

to
replace?", vbQuestion + vbYesNo) = vbYes Then
' Check OK or Cancel, If OK, replace, if Not OK, abort
Selection.Value = MaxValue + 1
End If
End If

Example:
A1 has value 1
A2 has value 1
A3 has value 2

If I select A4, and click my macro button, it will put in value 3

My concern is like this:
If I select A3, it will prompt the mesg that if I want to replace it,

then
if I click yes, it will put value 3
But I want it to put value 2, so that when find the max value, it

actually
find all in the column , EXCLUDE those in the selection. How can I add

those
checking in finding max value in a column excluding those in selection ?

I hope you got what I mean.

Thanks.

Regards.


--

Dave Peterson



Hi Dave,

there is a bug in this statement.
"For Each myCell In Intersect(Columns(1), ActiveSheet.UsedRange).Cells"

If currently all the cells in Column A is empty (No value), it will return
error.

Regards,
Magix



  #4   Report Post  
Dave Peterson
 
Posts: n/a
Default Max Value in a column exclude selection - Excel VBA

You can check before you loop through those cells:

Option Explicit
Sub testme01()
Dim myRng As Range
Dim CurSel As Range
Dim myCell As Range
Dim MaxValue As Double
Dim RngToCheck As Range

Set RngToCheck = Nothing
On Error Resume Next
Set RngToCheck = Intersect(Columns(1), ActiveSheet.UsedRange).Cells
On Error GoTo 0

If RngToCheck Is Nothing Then
MsgBox "Column 1 is not in the used range"
Exit Sub
End If

Set CurSel = Selection
For Each myCell In RngToCheck.Cells
If Intersect(myCell, CurSel) Is Nothing Then
If myRng Is Nothing Then
Set myRng = myCell
Else
Set myRng = Union(myCell, myRng)
End If
End If
Next myCell

If myRng Is Nothing Then
'can't do max!
MaxValue = 0
MsgBox MaxValue & vbLf & "no cells looked at"
Else
MaxValue = Application.Max(myRng)
MsgBox MaxValue & vbLf & myRng.Address(0, 0)
End If

'rest of your code...
'remove the msgbox's when you're happy with your tests.
End Sub

magix wrote:

"Dave Peterson" wrote in message
...
I think...

Option Explicit
Sub testme01()
Dim myRng As Range
Dim CurSel As Range
Dim myCell As Range
Dim MaxValue As Double

Set CurSel = Selection
For Each myCell In Intersect(Columns(1), ActiveSheet.UsedRange).Cells
If Intersect(myCell, CurSel) Is Nothing Then
If myRng Is Nothing Then
Set myRng = myCell
Else
Set myRng = Union(myCell, myRng)
End If
End If
Next myCell

If myRng Is Nothing Then
'can't do max!
MaxValue = 0
MsgBox MaxValue & vbLf & "no cells looked at"
Else
MaxValue = Application.Max(myRng)
MsgBox MaxValue & vbLf & myRng.Address(0, 0)
End If

'rest of your code...
'remove the msgbox's when you're happy with your tests.
End Sub


magix wrote:

Hi,

I used the below formula to find the max value in a column, and

increment it
to the selection cell.

If Application.Count(Columns(1)) Then
MaxValue = Application.Max(Columns(1))
Else
MaxValue = 0
End If

If Application.CountA(Selection) = 0 Then
Selection.Value = MaxValue + 1
Else
If MsgBox("There are values in the selection. Are you sure you want

to
replace?", vbQuestion + vbYesNo) = vbYes Then
' Check OK or Cancel, If OK, replace, if Not OK, abort
Selection.Value = MaxValue + 1
End If
End If

Example:
A1 has value 1
A2 has value 1
A3 has value 2

If I select A4, and click my macro button, it will put in value 3

My concern is like this:
If I select A3, it will prompt the mesg that if I want to replace it,

then
if I click yes, it will put value 3
But I want it to put value 2, so that when find the max value, it

actually
find all in the column , EXCLUDE those in the selection. How can I add

those
checking in finding max value in a column excluding those in selection ?

I hope you got what I mean.

Thanks.

Regards.


--

Dave Peterson


Hi Dave,

there is a bug in this statement.
"For Each myCell In Intersect(Columns(1), ActiveSheet.UsedRange).Cells"

If currently all the cells in Column A is empty (No value), it will return
error.

Regards,
Magix


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
question for excel how to have linked sum in column? Jon Danziger Excel Discussion (Misc queries) 1 October 10th 05 05:24 AM
Excel Range Value issue (Excel 97 Vs Excel 2003) Keeno Excel Discussion (Misc queries) 2 June 13th 05 02:01 PM
Excel should provide an easy way to switch a column into a row, n. samsson Excel Discussion (Misc queries) 2 March 21st 05 04:20 PM
How do I sort a column of formulas in Excel? Gordon Excel Discussion (Misc queries) 2 November 27th 04 01:55 AM
How do I sort a column of formulas in Excel? Gordon Excel Discussion (Misc queries) 0 November 26th 04 03:19 PM


All times are GMT +1. The time now is 01:37 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"