Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11589 / 13645 ツリー ←次へ | 前へ→

【15282】セル内の指定した文字の削除 ジャンキー 04/6/19(土) 11:36 質問[未読]
【15286】Re:セル内の指定した文字の削除 かみちゃん 04/6/19(土) 12:44 回答[未読]
【15287】Re:セル内の指定した文字の削除 ichinose 04/6/19(土) 12:56 発言[未読]
【15288】Re:セル内の指定した文字の削除 追伸 ichinose 04/6/19(土) 12:59 発言[未読]
【15289】ありがとうございました。 ジャンキー 04/6/19(土) 13:07 お礼[未読]

【15282】セル内の指定した文字の削除
質問  ジャンキー E-MAIL  - 04/6/19(土) 11:36 -

引用なし
パスワード
   各列の各シートに決まった文字が入力されています。この決まった文字の削除方法を教えて下さい。

例)
1.現在の状態

      A            B            C
1 ★お名前★ 山田太郎  ★フリガナ★ ヤマダタロウ  ★年齢★ 24歳2 ★お名前★ 佐々木匠  ★フリガナ★ ササキタクミ  ★年齢★ 25歳3 ★お名前★ 大西善之  ★フリガナ★ オオニシヨシユキ★年齢★ 24歳4 ★お名前★ 山下五郎  ★フリガナ★ ヤマシタゴロウ ★年齢★ 25歳

このような形が現在の状態です。
(A1には ★お名前★ 山田太郎 の様に入力されています)

2.結果

      A            B            C
1    山田太郎        ヤマダタロウ        24歳   2    佐々木匠        ササキタクミ        25歳   3    大西善之       オオニシヨシユキ       24歳   4    山下五郎        ヤマシタゴロウ       25歳

最終的にはこのようにしていきたいのですが、どうしたらよろしいでしょうか?教えて下さい。よろしくお願いいたします。
    

【15286】Re:セル内の指定した文字の削除
回答  かみちゃん  - 04/6/19(土) 12:44 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>各列の各シートに決まった文字が入力されています。この決まった文字の削除方法を教えて下さい。

Sheet2のA1セルに以下まような数式を入力すると、一般操作でもできます。
=SUBSTITUTE(Sheet1!A1,"★お名前★ ","")
詳細は、SUBSTITUE関数のヘルプ情報でご確認ください。

VBAでするのであれば、以下のようなコードになります。
このコードは、あらかじめ、変換したいセル範囲を指定してから、マクロを実行します。
特定のセル範囲を変換するのであれば、In Selection の部分をIn Range(セル範囲)などとします。
Sub Test()
 Dim c As Range
 For Each c In Selection
  c.Value = Replace(Replace(Replace(c.Value, "★年齢★ ", ""), "★フリガナ★ ", ""), "★お名前★ ", "")
 Next
End Sub
詳細は、Replace関数のヘルプ情報でご確認ください。

【15287】Re:セル内の指定した文字の削除
発言  ichinose  - 04/6/19(土) 12:56 -

引用なし
パスワード
   ジャンキーさん、かみちゃん さん、こんにちは。

こんな方法も確認して下さい。
'=================================================
Sub test2()
  Dim rng_ad As String
  Dim fml As String
  rng_ad = Selection.Address
  fml = "=if(" & rng_ad & "<>"""",TRIM(RIGHT(" & _
     rng_ad & ",LEN(" & rng_ad & ")-FIND(""★""," & _
     rng_ad & ",FIND(""★""," & rng_ad & ")+1))),"""")"
  'MsgBox fml  コメントはずしてどんな数式か確認してみて下さい
  Selection.Value = Evaluate(fml)
End Sub

【15288】Re:セル内の指定した文字の削除 追伸
発言  ichinose  - 04/6/19(土) 12:59 -

引用なし
パスワード
   ▼ichinose さん:
>ジャンキーさん、かみちゃん さん、こんにちは。
>
>こんな方法も確認して下さい。
>'=================================================
>Sub test2()
>  Dim rng_ad As String
>  Dim fml As String
>  rng_ad = Selection.Address
>  fml = "=if(" & rng_ad & "<>"""",TRIM(RIGHT(" & _
>     rng_ad & ",LEN(" & rng_ad & ")-FIND(""★""," & _
>     rng_ad & ",FIND(""★""," & rng_ad & ")+1))),"""")"
>  'MsgBox fml  コメントはずしてどんな数式か確認してみて下さい
>  Selection.Value = Evaluate(fml)
>End Sub
変換対象セル範囲を選択した後に実行して下さい。
(例えば、A1〜C1とか)

【15289】ありがとうございました。
お礼  ジャンキー E-MAIL  - 04/6/19(土) 13:07 -

引用なし
パスワード
   できました。ありがとうございます。こんなに早く回答を頂いてしかも完璧でした。本当に助かりました。ありがとうございました。

11589 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free