エクセルのセル内にある文字列の特定文字以下を一括で削除したい。


例えば、エクセルの各セルに以下の様な入力があったとして、

|2500/(2012)|3600/(2013)|
|3500/(2012)|1280/(2013)|


これらの「/」以下の数値、文字を一括で削除する方法を教えてください。

最終的な結果として以下の様な形にしたいと考えています。

|2500|3600|
|3500|1280|

よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/07/07 23:52:45
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント50pt
Sub 置き換え()
Dim RE, A1 As Range
Set RE = CreateObject("VBScript.RegExp")
RE.Pattern = "/.*"
For Each A1 In Selection
A1.Value = RE.Replace(A1.Value, "")
Next
Set RE = Nothing
End Sub

マクロで 選択したセルを一括で消去します。

その他の回答3件)

id:Numeric No.1

回答回数83ベストアンサー獲得回数18

ポイント5pt

削除したい文字のパターンが少ないのであれば、
最も簡単な方法は「置換」です。

  • ツールバー → 編集 → 検索 → 置換(P)タブを選択
  • 検索する文字列 /(2012)
  • 置換後の文字列 ※何も入力しない
  • すべて置換を押す

検索する文字列を変更していけば一応の目的は果たせる
はずですが、より厳密かつ正確に消すのでしたら
VBAや正規表現アドオンなどを使用するべきでしょう。

参考 Excelで正規表現をつかう
http://kokodane.com/tec3_37.htm

id:jamis

ありがとうございます。

置換を使用するのではなく、マクロかなにかで一気に「/」以下を消し去りたいのです。
実際は「/」以下に多種多様な文章、数値が入っています。

2013/07/05 13:52:34
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198ここでベストアンサー

ポイント50pt
Sub 置き換え()
Dim RE, A1 As Range
Set RE = CreateObject("VBScript.RegExp")
RE.Pattern = "/.*"
For Each A1 In Selection
A1.Value = RE.Replace(A1.Value, "")
Next
Set RE = Nothing
End Sub

マクロで 選択したセルを一括で消去します。

id:Yacky No.3

回答回数1376ベストアンサー獲得回数156

ポイント5pt

関数で指定する方法もあるようです
http://okwave.jp/qa/q2523562.html

id:jamis

ありがとうございます。

2013/07/07 23:51:36
id:oroura No.4

回答回数7ベストアンサー獲得回数0

ポイント40pt

エクセルで、CTRL+F(検索) ⇒ 置換タブ
検索する文字列(N):/*
置換後の文字列(E):空白「何もしない」
ですべて置換のボタンをクリック

すると、目的は果たせます。

id:jamis

ありがとうございます。
確かにできますね。
しかも簡単に。これは便利。

2013/07/07 23:51:28

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません