アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルにて、

シート1(置換したい文字リスト)
A B
高 □
髙 □
恵 □
惠 □
ャ □
… …

を参考に、

シート2(反映したいリスト)
A     B
高橋 恵  □橋 □
髙橋 惠  □橋 □
ジャイアン ジ□イアン

となるようにしたいのですが、
こうしたことをマクロで実現可能でしょうか?


似たものを探したところ、
https://oshiete.goo.ne.jp/qa/1350775.html

https://kosapi.com/post-5824/
が近いのですが、元の文字列が維持できなかったり
複数の単語を同時に置換できなかったりして、求めているものと少し違います。
よろしくお願いいたします。

A 回答 (5件)

こんにちは!



一例です。
標準モジュールにしてください。

Sub Sample1()
 Dim i As Long, wS As Worksheet
  Set wS = Worksheets("Sheet1")
   With Worksheets("Sheet2")
    .Range("A:A").Copy .Range("B1")
     For i = 1 To wS.Cells(Rows.Count, "A").End(xlUp).Row
      .Range("B:B").Replace what:=wS.Cells(i, "A"), replacement:=wS.Cells(i, "B"), lookat:=xlPart
     Next i
   End With
End Sub

こんな感じで大丈夫だと思います。m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
すごいです、正に実現したかったことです。
今まで自動化できず四苦八苦していたので本当に助かりました。
ありがとうございました!

お礼日時:2019/01/13 11:59

お示しの「シート1」から、どういう規則(ルール)を適用すれば「シート2」になり得るのか、分かり易く説明してください。

手段は当方で考えますから。
    • good
    • 0
この回答へのお礼

No.4の方の回答で実現いたしました。
回答ありがとうございました!

お礼日時:2019/01/13 12:01

つまりマクロ代わりに作ってくれって言ってるんですね。


なるほど。
できるけど面倒くさい。
    • good
    • 0
この回答へのお礼

No.4の方の回答で実現いたしました。
回答ありがとうございました!

お礼日時:2019/01/13 12:01

先ず、


VBAに 用意された、
Dictionaryを 用い、
登録します。


次に、
Findを 用い、
全セルから シート1記載を、
捜しだし、
先に 登録した、
Dictionaryに かけ、
置換します。


如何でしょうか。
    • good
    • 0
この回答へのお礼

No.4の方の回答で実現いたしました。
回答ありがとうございました!

お礼日時:2019/01/13 12:01

要するには



①シート2の列 A を全て列 B にコピーする。
②シート 1 の置換条件を、上から下まで順番に for ループ使って、シート1の列Bを置換していく

という2ステップを丁寧にすれば実現可能では?
    • good
    • 0
この回答へのお礼

早速のコメントありがとうございます。
①に関しては毎日頻繁にやる作業ですのでコピー含め自動化して1ステップでやりたいのと、
➁に関しては、当方マクロがほぼ組めず、仰られていることをその情報のみで記述するのが難しいです……。

お礼日時:2019/01/13 00:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!