- 締切済み
エクセル VBA "-"ハイフンの削除
お世話になります。 セルに含まれる文字列の中から"-"ハイフンを削除しようと思い、 Cells.Replace What:="-", Replacement:="" と記述したのですが、例えば 0-0-0-111 は 111 となってしまい、"0"も消えてしまいます。もちろん、"0-0-0-111 "は文字列です。 また、シート内の全てのセルが文字列にならなければいけないので関数式を入れることはできません。ハイフンの位置もその都度バラバラです。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 Sub Test1() Dim r As Range Dim c As Variant On Error Resume Next Set r = Cells.SpecialCells(xlCellTypeConstants, xlTextValues) On Error GoTo 0 For Each c In r.Cells If c.Value Like "#*" And c.PrefixCharacter = "" Then c.Value = "'" & Replace(c.Value, "-", "", , , vbTextCompare) End If Next c End Sub
- marbin
- ベストアンサー率27% (636/2290)
一般機能と同じことですが・・・。 1. 先頭に ' を付ける With ActiveCell .Value = "'" & Replace(.Value, "-", "") End With あるいは、 2. セルの書式を文字列にする With ActiveCell .NumberFormatLocal = "@" .Value = Replace(.Value, "-", "") End With
お礼
御礼が遅くなり大変申し訳ございません。 先頭に"'"はその後の処理によりわけがありつけることができないのです。 また、2案に関しましてはすでに試してみたのですが。。。だめでした。 どうもありがとうございました。
お礼
御礼が遅くなり大変申し訳ございません。 エラー処理にまで気を利かせてくださり大変助かりました。 ありがとうございました。