Code
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
In article ,
"Todd Huttenstine" wrote:
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
|