[[20221012161114]] 『郵便番号からハイフンを消す』(696) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『郵便番号からハイフンを消す』(696)

 手作業での置換が手間なのでVBAマクロで住所録にランダムに含まれているハイフンを削除し数字のみにしたいです。

 ▼元データ
 7654321
 765-4321
 1234567
 123-4567

  ↓
 ▼加工後
 7654321
 7654321
 1234567
 1234567

 Columns(25).Replace What:="-", Replacement:=""
 でイケるかと思ったのですが上手くいかずアドバイス頂けないでしょうか

< 使用 Excel:Office365、使用 OS:Windows10 >


私が試した限りではハイフンが消えましたけど。

うまくいかないとはどのようにうまくいかないのでしょう?

列番号が間違っていた、ということではないですか?
あるいはハイフンではなく長音だったとか。
(MK) 2022/10/12(水) 16:27:04


 表示形式でハイフンを見せているだけとかではないのですか?
(コナミ) 2022/10/12(水) 16:51:16

Columns(25)って、Y列だけど、それであってますか?
(めっちゃ) 2022/10/12(水) 17:58:30

 参考まで。

https://aprico-media.com/posts/8897
(MK) 2022/10/12(水) 18:05:43


 Columns(25).Replace What:="-", Replacement:="", Lookat:=xlPart
                                                 ~~~~~↑~~~~~~~
                                                 これつけましょう

 Range.Replaceメソッド
https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.replace
 >LookAt、SearchOrder、MatchCase、MatchByte の設定は、このメソッドを使用する度に保存されます。
 >次にメソッドを呼び出す時にこれらの引数に値を指定しない場合は、保存された値が使用されます。

 手動で検索や置換を実行したときの設定も保存されていますので、 
 LookAtを指定しないと、あるときはうまくいったり、できなかったりということがあります 
(´・ω・`) 2022/10/13(木) 09:05:56

動作しました!ありがとうございます!
原因は二つありました。

1.ワークシート指定漏れ
2.他の命令式との干渉(LookAt追加で解決)


'郵便番号が入っているシートを指定
Set WScsv = Worksheets("csv貼付")
With WScsv

'一律にハイフン削除
.Columns(25).Replace What:="-", Replacement:="", Lookat:=xlPart


こちらで無事稼働しました。
(696) 2022/10/13(木) 11:43:03

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.