changing math operations for math operations with = sign
Watch the wrap
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim arr() As Variant
Dim LastPlace As Long
Dim i As Long
On Error GoTo eh
Application.EnableEvents = False
With Target
LastPlace = 1
For i = 1 To Len(.Value)
If Not (IsError(Application.Match(Mid$(.Value, i, 1), _
Array("+", "-", "*", "/", "^", "<"), 0))) Then
If i 1 Then
If IsNumeric(Mid$( _
.Value, LastPlace, i - LastPlace)) Then
LastPlace = i + 1
Else
Exit For
End If
End If
End If
Next i
If i Len(.Value) Then
If IsNumeric(Mid$(.Value, LastPlace, i - LastPlace)) Then
.Formula = "=" & .Value
End If
End If
End With
eh:
Application.EnableEvents = True
End Sub
--
---
HTH
Bob
(there's no email, no snail mail, but somewhere should be gmail in my addy)
"Bob Phillips" wrote in message
...
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
Dim arr() As Variant
Dim LastPlace As Long
Dim i As Long
On Error GoTo eh
Application.EnableEvents = False
With Target
LastPlace = 1
For i = 1 To Len(.Value)
If Not (IsError(Application.Match(Mid$(.Value, i, 1),
Array("+", "-", "*", "/", "^", "<"), 0))) Then
If i 1 Then
If IsNumeric(Mid$(.Value, LastPlace, i - LastPlace))
Then
LastPlace = i + 1
Else
Exit For
End If
End If
End If
Next i
If i Len(.Value) Then
If IsNumeric(Mid$(.Value, LastPlace, i - LastPlace)) Then
.Formula = "=" & .Value
End If
End If
End With
eh:
Application.EnableEvents = True
End Sub
--
---
HTH
Bob
(there's no email, no snail mail, but somewhere should be gmail in my
addy)
"filo666" wrote in message
...
I have this code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
Dim arr() As Variant
On Error GoTo eh
Application.EnableEvents = False
For cnt1 = 1 To target.value.words.count
arr(cnt1) = Target.Value.words(cnt1)
If IsNumeric(arr(cnt1)) Or arr(cnt1) < "+" Or arr(cnt1) < "-" Or
arr(cnt1)
< "*" Or arr(cnt1) < "/" Or arr(cnt1) < "^" Or arr(cnt1) < "." Then
GoTo eh
End If
wrdd = wrdd + arr(cnt1)
Next
Target.Value = "=" & wrdd
eh:
Application.EnableEvents = True
End Sub
what I want to do is if the user types 3+5 then excell will change 3+5 to
=3+5 and will solve the operation; the problem us that
target.value.words.count
and Target.Value.words(cnt1) dont exist in excel, any suggestion
thanks
|