Excel VBA質問箱 IV

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

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


62241 / 76738 ←次へ | 前へ→

【19105】置換方法について教えてください。
質問  まり  - 04/10/21(木) 18:26 -

引用なし
パスワード
   置換機能について教えてください。

EXCELの一つのセルに入力された文字列(【変換前】)を【変換後】のような文字列に変換したいです。
ですが、CC123CA01から5バイトととって”,(カンマ)”を”,CC123”に置換しても途中でCA588という文字列の集合にかわるため、どのようにプログラムを書いたらいいのか分かりません。

Cells.Replace What:=",", Replacement:=",CC123", LookAt:=xlPart, _
                     ↑
                 この部分が変化します。

すごく初歩的なことかも知れませんが、お分かりになられる方は教えていただけないでしょうか?
よろしくお願いします。

【変換前】
CC123CA01,CC05,AD75,SS22,ET65,QE88,CA588EA35,EE77,OU96,LL09,RJ11

            ↓ ↓ ↓
【変換後】
CC123CA01,CC123CCC05,CC123CAD75,CC123CSS22,CC123CET65,CC123CQE88,CA588EA35,EE77,CA588EOU96,CA588ELL09,CA588ERJ11


◆まだ未完成なプログラムです。----------------------------------

 Sub replace7()  '文字列の変換
  Dim LastRow As Long
  Dim i As Long
  Dim j As Long
  Dim a As Range
  Dim b As Range
  'エラー時も処理を続けます
  On Error Resume Next
  Set a = Application.InputBox("上(左上)のセルを選択して下さい", "セルの指定", Type:=8)
  'キャンセル時は終了します
  If a Is Nothing Then
    Exit Sub
  End If
  
  'エラー時も処理を続けます
  On Error Resume Next
  Set b = Application.InputBox("下(右下)のセルを選択して下さい", "セルの選択", Type:=8)
  'キャンセル時は終了します
  If b Is Nothing Then
    Exit Sub
  End If
  
  For i = a.Row To b.Row
    For j = a.Column To b.Column
      Cells.Replace What:=",", Replacement:=",CC123", LookAt:=xlPart, _
      SearchOrder:=xlByRows, MatchCase:=False
    Next
  Next
  MsgBox "処理が完了しました。"
End Sub
0 hits

【19105】置換方法について教えてください。 まり 04/10/21(木) 18:26 質問
【19107】Re:置換方法について教えてください。 かみちゃん 04/10/21(木) 21:44 回答

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