前提・実現したいこと
現在、別のブックに入力された値を、作業用のExcelブックにコピーするというコードを作成しています。
値をそのままコピーすることはできたのですが、コピー元のファイルを確認したところ、数字に半角と全角が入り混じっていることに気づきました。
コピー先のファイルは、さらに別の作業を行う際使用するため、全角の数字が入っていると都合が悪いです。
そこで、コピーして貼り付けを行う際、全角の数字を半角に変換してから貼り付けを行うような方法がないかをお伺いしたいです。
よろしくお願いいたします。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
VBA
1'コピー元から範囲指定してコピー 2 3 Range(Columns(13), Columns(15)).Copy 4 5'作業用Excelをアクティブに 6 myBook.Activate 7 ofgrSht.Activate 8 9 10'アクティブブック(作業用)に値を貼り付け 11Worksheets("作業用シート").Range(Columns(2), Columns(4)).PasteSpecial _ 12 Paste:=xlPasteValues, _ 13 Operation:=xlNone, _ 14 SkipBlanks:=False, _ 15 Transpose:=False 16'貼り付けた値に全角数字が入っていた場合、半角に置換する。 17For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row 18 Cells(i, 4) = Replace(Cells(i, 4), "0-9", "0-9") 19Next i 20
試したこと
貼り付け後に下記のようなコードを利用して全角の数字を半角にできないか試したのですが、うまくいきませんでした。
恐らく数字の指定方法が異なっているのではないかと思うですが、いかがでしょうか?
(下記のコードでも、"0-9"ではなく、"0"のように一つだけ指定すれば、置換ができました。)
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
Cells(i, 4) = Replace(Cells(i, 4), "0-9", "0-9")
Next i
補足情報(FW/ツールのバージョンなど)
エクセルバージョン:2016
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/27 01:58