Code

  • Thread starter Thread starter Todd Huttenstine
  • Start date Start date
T

Todd Huttenstine

I have Range O2:O100 and P2:P100. The following code
looks in Range P2:P100 and if it finds a % in the value,
will offset into the corresponding cell in Range O2:O100
and format the cell with a "%". What I would like instead
is instead of formatting the cell with a "%", to put the %
character in the cell itself.


Dim c As Range
For Each c In Range("O2:O100")
If InStr(1, c.Offset(, 1).NumberFormat, "%") Then
c.NumberFormat = c.Offset(, 1).NumberFormat
Else
c.NumberFormat = ""
End If
Next
 
Not positive what you mean by "to put the % character in the cell
itself."


If you just want the cell to contain %, then

Dim c As Range
For Each c In Range("O2:O100")
With c
If InStr(1, .Offset(, 1).NumberFormat, "%") Then _
.Value = "%"
End With
Next c


If instead you want to append the % to the existing text:

Public Sub try()
Dim c As Range
For Each c In Range("O2:O100")
With c
If InStr(1, .Offset(, 1).NumberFormat, "%") Then
.NumberFormat = "@"
.Value = .Text & "%"
End If
End With
Next c
End Sub
 
Thanx thats what I needed. I am trying to include an else
statement in there to where if it does not find a % in the
value in Range P2:P100, it will put the value "Number" in
the corresponding cell in Range O2:O100.
 
Back
Top