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


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

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


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

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

|2500|3600|
|3500|1280|

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

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/07/05 13:27:45
  • 終了:2013/07/07 23:52:45

ベストアンサー

id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982013/07/05 13:54:09

ポイント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

Numeric回答回数83ベストアンサー獲得回数182013/07/05 13:49:31

ポイント5pt

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

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

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

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

id:jamis

ありがとうございます。

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

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

きゃづみぃ回答回数13539ベストアンサー獲得回数11982013/07/05 13:54:09ここでベストアンサー

ポイント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

エネゴリ回答回数1374ベストアンサー獲得回数1542013/07/07 20:31:26

ポイント5pt

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

id:jamis

ありがとうございます。

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

oroura回答回数7ベストアンサー獲得回数02013/07/07 23:08:44

ポイント40pt

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

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

id:jamis

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

2013/07/07 23:51:28

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません