『EXCEL』で行頭の『'(シングルクォーテーション)』の削除の行方…
シート上の演算をあぶり出すために『=』を『'=』で置換して作業を行った…。
で、戻そうと『'=』を『=』に置換しようとしたら…
『'』が検索できない!
…
『xxx'xxx』など行中にある、または、『xxxxx'』行末にある『'』は、検索できるが
行頭の『'』は、『標準』設定のセルで数字を文字列として認識させるための制御
コードとして認識される。
例えば『00001』など桁数を決めてあるコードなどを数字として処理されないように
するのに使用する。
で、困った…。
『=』を『#=』で置換したら、こんな事は、起きなかったのに…。
まあ、以前も同じ事やっていたんだが…
その時には、置換前のファイルからやり直した。
今回は、変更箇所が多くてそれをしたくない。
うんうん唸っていたら…
はたと気が付いた!
もしかしたらマクロならできるかもと…
で、マクロでを作ってみた。
Sub convert()
Dim r As Range
Dim s As String
' 使用されている範囲のセルをひとつずつ
For Each r In UsedRange
' 文字として読み出す
s = r.Text
' 最初の文字が『=』なら式と判断
If s <> "" And InStr(s, "=") = 1 Then
' 式を入力する
r.Formula = s
End If
Next r
End Sub
バッチリだぜ!(笑)
このやり方で数字の『'0001』も『1』に変換が可能だ。
Sub convert2()
Dim r As Range
Dim s As String
' 使用されている範囲のセルをひとつずつ
For Each r In UsedRange
s = r.Text
If s <> "" Then
' 文字を数値に変換して入力
r.Value = Val(s)
End If
Next r
End Sub
認識出来ない場合には、そのまま読み込んで
入れなおせば良いと気が付くまで、結構かかったが…
これで怖いものは無い!(爆)
| 固定リンク
コメント