Excel VBA質問箱 IV

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

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


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

【81063】二重置換の防止方法 おのでら 19/8/5(月) 21:04 質問[未読]
【81064】Re:二重置換の防止方法 マナ 19/8/5(月) 21:31 発言[未読]
【81065】Re:二重置換の防止方法 おのでら 19/8/5(月) 22:18 お礼[未読]
【81066】Re:二重置換の防止方法 マナ 19/8/5(月) 22:36 発言[未読]
【81067】Re:二重置換の防止方法 おのでら 19/8/5(月) 23:23 お礼[未読]

【81063】二重置換の防止方法
質問  おのでら E-MAIL  - 19/8/5(月) 21:04 -

引用なし
パスワード
   二重置換が発生し困っております。    
エクセルで、置換とSheet1という2つのシートを用意し、置換のシートにはA,Bの列に新旧のコードを置きます。    
全部で300行くらいになります。    

Sheet1のA列に旧コードを入れ、一気に新コードに置換えたいのですが、置換の新旧に同じコード番号が含まれます。    
A    B
610    712
712    822
二重の置換にならない方法をご教示いただければと思います。    
置換前と置換後で書式を変えたのですが、駄目でした。マクロ自体に問題があるのか、そもそも無理なのでしょうか。    
 
作成マクロです
Sub 科目置換()

  ' 検索条件を設定します。
  With Application.FindFormat.Font
    .Name = "MS Pゴシック"
    .FontStyle = "標準"
    .Size = 11
  End With

  ' 置換後の書式を設定します。
  With Application.ReplaceFormat
    .Clear
    .Font.Name = "Arial"
    .Font.Color = rgbCrimson
  End With
  
Dim i As Long, k As Long, wS As Worksheet
Columns("A:B").Select
With Worksheets("置換")
For k = 1 To Worksheets.Count
If Worksheets(k).Name <> .Name Then
Set wS = Worksheets(k)
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
wS.Cells.Replace what:=.Cells(i, "A"), replacement:=.Cells(i, "B"), lookat:=xlWhole, ReplaceFormat:=True

Next i
End If
Next k
End With
MsgBox "完了"
End Sub

【81064】Re:二重置換の防止方法
発言  マナ  - 19/8/5(月) 21:31 -

引用なし
パスワード
   ▼おのでら さん:
    
>置換前と置換後で書式を変えたのですが、駄目でした。マクロ自体に問題があるのか、そもそも無理なのでしょうか。    

SearchFormat:=True

【81065】Re:二重置換の防止方法
お礼  おのでら E-MAIL  - 19/8/5(月) 22:18 -

引用なし
パスワード
   ▼マナ さん:
ありがとうございました!

検索書式の指定も必要なのですね。
しつこいことになるかと置換書式のみ指定しておりました。
望み通りの動きになりました。
大変助かりました。

【81066】Re:二重置換の防止方法
発言  マナ  - 19/8/5(月) 22:36 -

引用なし
パスワード
   ▼おのでら さん:

置換の際に使用されていない文字を付加して
最後に、その文字を置換で削除するのが楽な気がします。

【81067】Re:二重置換の防止方法
お礼  おのでら  - 19/8/5(月) 23:23 -

引用なし
パスワード
   ▼マナ さん:

>文字を付加して

文字の使用はバイトで考えると大変有効とは理解しております。
私も初案では返還後コードをJISで全角にして・・・と作りました。
ただ今回のコード変換は経理の仕分データの置換に使用します。置換えたコードで即次の作業です。
また私以外の方も使用します。
なので、出来るだけ作業が少なく簡単なものでと苦労しました。
貴重なアドバイスを有難うございます。

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