Excel VBA質問箱 IV

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

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


54932 / 76738 ←次へ | 前へ→

【26589】複数シート内の文字列置換について
質問  ひらごく7  - 05/7/11(月) 13:57 -

引用なし
パスワード
   お疲れ様です。ひらごく7と申します。
上記、標題の件について質問があります。

1ブック内に複数シート(4シート:A〜D)が存在したとします。
2シート(C,D)内に置換対象文字列が複数存在(1セル内に複数及び、
複数行において)している場合の置換対象方法はどのようにすれば
よいでしょうか?
また、置換後の文字列については、太字、16ポイント、赤色で
置換させたいです。

 1.置換対象文字列:あああ
 1.置換後文字列:いいい 

 2.置換対象文字列:ううう
 2.置換後文字列:えええ

 Cシート:1行目2列目のセル内に「あああ」が2箇所存在
     5行目2列目のセル内に「あああ」が1箇所存在
     8行目2列目のセル内に「ううう」が3箇所存在
     10行目2列目のセル内に「ううう」が1個所存在

 Dシート:3行目2列目のセル内に「あああ」が2箇所存在
     6行目2列目のセル内に「あああ」が1箇所存在
     9行目2列目のセル内に「ううう」が3箇所存在
     11行目2列目のセル内に「ううう」が1個所存在

現在、途中ではありますが以下のロジックを考えております。
'入力情報シート初期(開始行)項目取得
sMotoMoji = Worksheets(入力情報シート名).Cells(nInSheetGyo, nInSheetMotoRetsu)
sSakiMoji = Worksheets(入力情報シート名).Cells(nInSheetGyo, nInSheetSakiRetsu)
  
'可変部分入力マクロのシート数を数える
nToolSouShtCnt = ActiveWorkbook.Sheets.Count
  
'コピーシート数分ループ
Do While nToolSouShtCnt - nToolShtEndCnt > 0
  Do While sMotoMoji <> "" And sSakiMoji <> ""
  Sheets(Worksheets(nLoopCnt).Name) = Workbooks(ツール名).Sheets(nToolSouShtCnt)
    
  '一括置換
  Cells.Replace What:=sMotoMoji, Replacement:=sSakiMoji, LookAt _
  :=xlPart, SearchOrder:=xlByRows, MatchCase:=False

  'シート内全検索文字分ループ
  Do
    '変換後文字列検索
    Cells.Find(What:=sSakiMoji, After:=ActiveCell, LookIn:=xlFormulas, _
      LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
      MatchCase:=False).Activate
  Loop
      
  '置換後文字列変更
  With ActiveCell.Characters(Start:=n, Length:=m).Font
    .Name = "MS ゴシック"
    .FontStyle = "太字"
    .Size = 14
    .ColorIndex = 3     '赤
  End With
    
  nToolShtEndCnt = nToolShtEndCnt + 1
  nLoopCnt = nLoopCnt + 1
  nInSheetGyo = nInSheetGyo + 1
  '入力情報シート初期(開始行)項目取得
  sMotoMoji = Worksheets(入力情報シート名).Cells(nInSheetGyo, nInSheetMotoRetsu)
  sSakiMoji = Worksheets(入力情報シート名).Cells(nInSheetGyo, nInSheetSakiRetsu)
  Loop
Loop
0 hits

【26589】複数シート内の文字列置換について ひらごく7 05/7/11(月) 13:57 質問
【26605】Re:複数シート内の文字列置換について りん 05/7/11(月) 22:30 回答
【26661】Re:複数シート内の文字列置換について ひらごく7 05/7/13(水) 11:42 お礼

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