Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Converting all numbers to negative

If you have numbers already in a range, select the range and run this macro

Sub TryNow()
Dim myCell As Range
For Each myCell In Selection
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Does anyone know how to create a code that would convert all numbers entered
into a range of cells into a negative number? -ABS Thanks!



  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Converting all numbers to negative

James,

No, it isn't correct. The Me is not an allowed keyword in this context. And you left out the
looping.

Put this code into a regular codemodule:

Sub TryNow()
Dim myCell As Range
Dim myRng As Range

Set myRng = Range("J8:AA22")
For Each myCell In myRng
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell

End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Bernie, is this right?

Sub TryNow()
Dim myCell As Range
Dim myRng As Range
Set myRng = Me.Range("J8:AA22")
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

"Bernie Deitrick" wrote:

If you have numbers already in a range, select the range and run this macro

Sub TryNow()
Dim myCell As Range
For Each myCell In Selection
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Does anyone know how to create a code that would convert all numbers entered
into a range of cells into a negative number? -ABS Thanks!






  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Converting all numbers to negative

James,

Copy the code below, right-click on your sheet tab, and select "View Code" Then paste the code into
the window that appears.

HTH,
Bernie
MS Excel MVP


Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCell As Range
If Intersect(Target, Me.Range("J8:AA22")) Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each myCell In Intersect(Target, Me.Range("J8:AA22"))
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
Application.EnableEvents = True
End Sub



"Please help James" wrote in message
...
Bernie, the code does work...how do I make it run automatically? So that when
a user enters a number it automatically converts it to a negative.

"Bernie Deitrick" wrote:

James,

No, it isn't correct. The Me is not an allowed keyword in this context. And you left out the
looping.

Put this code into a regular codemodule:

Sub TryNow()
Dim myCell As Range
Dim myRng As Range

Set myRng = Range("J8:AA22")
For Each myCell In myRng
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell

End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Bernie, is this right?

Sub TryNow()
Dim myCell As Range
Dim myRng As Range
Set myRng = Me.Range("J8:AA22")
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

"Bernie Deitrick" wrote:

If you have numbers already in a range, select the range and run this macro

Sub TryNow()
Dim myCell As Range
For Each myCell In Selection
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Does anyone know how to create a code that would convert all numbers entered
into a range of cells into a negative number? -ABS Thanks!








  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Converting all numbers to negative

Change

For Each myCell In Intersect(Target, myRng).Cells
If myCell.Value = "" Then
myCell.Value = 0
End If
Next myCell


to

For Each myCell In Intersect(Target, myRng).Cells
If myCell.Value = "" Then
myCell.Value = 0
Else
myCell.Value = -Abs(myCell.Value)
End If
Next myCell

This assumes that you don't have any strings in the range...

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Bernie, I already have code written in that window. Where should I put your
code?


Private Sub Worksheet_Change(ByVal Target As Range)

Dim myCell As Range
Dim myRng As Range

Set myRng = Me.Range("E8:AA22")

If Intersect(Target, myRng) Is Nothing Then Exit Sub

On Error Resume Next
Application.EnableEvents = False
For Each myCell In Intersect(Target, myRng).Cells
If myCell.Value = "" Then
myCell.Value = 0
End If
Next myCell
Application.EnableEvents = True
On Error GoTo 0
End Sub

"Bernie Deitrick" wrote:

James,

Copy the code below, right-click on your sheet tab, and select "View Code" Then paste the code
into
the window that appears.

HTH,
Bernie
MS Excel MVP


Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCell As Range
If Intersect(Target, Me.Range("J8:AA22")) Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each myCell In Intersect(Target, Me.Range("J8:AA22"))
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
Application.EnableEvents = True
End Sub



"Please help James" wrote in message
...
Bernie, the code does work...how do I make it run automatically? So that when
a user enters a number it automatically converts it to a negative.

"Bernie Deitrick" wrote:

James,

No, it isn't correct. The Me is not an allowed keyword in this context. And you left out the
looping.

Put this code into a regular codemodule:

Sub TryNow()
Dim myCell As Range
Dim myRng As Range

Set myRng = Range("J8:AA22")
For Each myCell In myRng
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell

End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Bernie, is this right?

Sub TryNow()
Dim myCell As Range
Dim myRng As Range
Set myRng = Me.Range("J8:AA22")
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

"Bernie Deitrick" wrote:

If you have numbers already in a range, select the range and run this macro

Sub TryNow()
Dim myCell As Range
For Each myCell In Selection
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Does anyone know how to create a code that would convert all numbers entered
into a range of cells into a negative number? -ABS Thanks!











  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Converting all numbers to negative

James,

Code like this:

Set myRng = Me.Range("E8:AA22")

Application.EnableEvents = False

For Each mycell In Intersect(Target, myRng).Cells

If myCell.Value = "" Then
myCell.Value = 0
End If

If Not Intersect(mycell, Me.Range("E8:E22")) Is Nothing Then
mycell.Value = Abs(mycell.Value)
End If

If Not Intersect(mycell, Me.Range("J8:AA22")) Is Nothing Then
mycell.Value = -Abs(mycell.Value)
End If

Next mycell

Application.EnableEvents = True


HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
That sort of worked, the only problem is that E8:E22 should be positive (ABS)
and J8:AA22 should be negative (-ABS). Any suggestions?

"Bernie Deitrick" wrote:

Change

For Each myCell In Intersect(Target, myRng).Cells
If myCell.Value = "" Then
myCell.Value = 0
End If
Next myCell


to

For Each myCell In Intersect(Target, myRng).Cells
If myCell.Value = "" Then
myCell.Value = 0
Else
myCell.Value = -Abs(myCell.Value)
End If
Next myCell

This assumes that you don't have any strings in the range...

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Bernie, I already have code written in that window. Where should I put your
code?


Private Sub Worksheet_Change(ByVal Target As Range)

Dim myCell As Range
Dim myRng As Range

Set myRng = Me.Range("E8:AA22")

If Intersect(Target, myRng) Is Nothing Then Exit Sub

On Error Resume Next
Application.EnableEvents = False
For Each myCell In Intersect(Target, myRng).Cells
If myCell.Value = "" Then
myCell.Value = 0
End If
Next myCell
Application.EnableEvents = True
On Error GoTo 0
End Sub

"Bernie Deitrick" wrote:

James,

Copy the code below, right-click on your sheet tab, and select "View Code" Then paste the
code
into
the window that appears.

HTH,
Bernie
MS Excel MVP


Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCell As Range
If Intersect(Target, Me.Range("J8:AA22")) Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each myCell In Intersect(Target, Me.Range("J8:AA22"))
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
Application.EnableEvents = True
End Sub



"Please help James" wrote in message
...
Bernie, the code does work...how do I make it run automatically? So that when
a user enters a number it automatically converts it to a negative.

"Bernie Deitrick" wrote:

James,

No, it isn't correct. The Me is not an allowed keyword in this context. And you left out
the
looping.

Put this code into a regular codemodule:

Sub TryNow()
Dim myCell As Range
Dim myRng As Range

Set myRng = Range("J8:AA22")
For Each myCell In myRng
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell

End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Bernie, is this right?

Sub TryNow()
Dim myCell As Range
Dim myRng As Range
Set myRng = Me.Range("J8:AA22")
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

"Bernie Deitrick" wrote:

If you have numbers already in a range, select the range and run this macro

Sub TryNow()
Dim myCell As Range
For Each myCell In Selection
If IsNumeric(myCell.Value) And (Not IsEmpty(myCell)) Then
myCell.Value = -Abs(myCell.Value)
End If
Next myCell
End Sub

HTH,
Bernie
MS Excel MVP


"Please help James" wrote in message
...
Does anyone know how to create a code that would convert all numbers entered
into a range of cells into a negative number? -ABS Thanks!
















  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Converting all numbers to negative

James,

You're quite welcome. Glad to hear that you got it to work....

Bernie
MS Excel MVP

Bernie, you are the king of xls code!! You rock, Thank You! it worked!




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
converting positive numbers to negative numbers dmantzaaa Excel Discussion (Misc queries) 1 January 29th 09 11:45 PM
Converting Negative Numbers to Positive bmmclen Excel Discussion (Misc queries) 9 February 8th 07 08:34 AM
converting hex values to negative numbers Michael_Braganza Excel Discussion (Misc queries) 2 December 11th 06 09:12 AM
Converting positive numbers to negative numbers Treg67 Excel Worksheet Functions 4 July 17th 06 03:57 PM
converting text to negative numbers! via135 Excel Worksheet Functions 6 February 5th 06 06:29 AM


All times are GMT +1. The time now is 02:43 PM.

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"