過去ログ

                                Page     288
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼セル内の文字列の空白を削除するには  IZU 02/11/4(月) 21:20
   ┗Re:セル内の文字列の空白を削除するには  Nakamura 02/11/4(月) 21:48
      ┗Re:セル内の文字列の空白を削除するには  IZU 02/11/4(月) 22:28

 ───────────────────────────────────────
 ■題名 : セル内の文字列の空白を削除するには
 ■名前 : IZU <fone12@anet.ne.jp>
 ■日付 : 02/11/4(月) 21:20
 -------------------------------------------------------------------------
   こんにちは〜質問させてもらいますIZUといいます。
なにぶん若輩ものでして、簡単なことなのかもしれませんが、どうしても解らないで・・

エクセルのVBAマクロのエディターをつかって、文字列の中に特定の言葉がある場合、その文字を削除しようとおもって下のようなマクロを書いてみたんですよ。

Sub 文字削除()
Dim A As Integer
Dim V As String

V = Range("F2").Value   <ーーーーセル内の値を取得
A = InStr(V, "文字")   <ーーーーVの中の「文字」のある場所を取得
Mid(V, A, 2) = " "   <ーーーー「文字」を「  」に置換
Range("F2").Value = V   <ーーーー置き換えたVを元の場所に返す
End sub

ところが、これだともともと「文字」のあった場所が空白で残ってしまうんです。
例)「この文字列」  →  「この  列」
これを、
「この文字列」  →  「この列」
にするにはどうしたらいいですか?
 ───────────────────────────────────────  ■題名 : Re:セル内の文字列の空白を削除するには  ■名前 : Nakamura  ■日付 : 02/11/4(月) 21:48  -------------------------------------------------------------------------
   こんばんは

Excelのバージョンを書いて下さいね。

Excel2000以降なら

Range("F2").Value = Replace(Range("F2").Text, "文字", "")

Excel97なら
  
Range("F2").Value = WorksheetFunction.Substitute(Range("F2").Text, "文字", "")

と言った感じです。
それでは
 ───────────────────────────────────────  ■題名 : Re:セル内の文字列の空白を削除するには  ■名前 : IZU <fone12@anet.ne.jp>  ■日付 : 02/11/4(月) 22:28  -------------------------------------------------------------------------
   ▼Nakamura さん:
素早いレスありがとうございます。
こんな便利なものがあったとは!
これでくんでたマクロがおもったより早くできそうです。
どうもありがとうございました!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 288