
いつもお世話になっています。
またもやエラーの解決方法がわからず苦戦しております・・・。
Unicodeの【~】から通常の【~】に置換をしたいのですが、コードに記すとUnicode対応していないため【?】となってしまいます。
原因は究明できたので下記のようにコーディングしてみたのですが、Substituteのところでアプリケーション定義、オブジェクト定義のエラーとなります。
Dim i, lRow As Long
'A列の最終行を取得
lRow = Cells(Rows.Count, "A").End(xlUp).Row
'A列の最終行まで繰り返す
For i = 2 To lRow
'A列の文字列を置換。(~特殊文字から⇒~対応文字に置換)
Cells(i, "A") = WorksheetFunction.Substitute(Cells(i, "A"), ChrW(12316), "~")
Next i
Substituteの箇所を下記のように書き換えても、プロシージャの呼び出しまたは、引数が不正となってしまいます。
Cells(i, "A") = Replace(Cells(i, "A"), ChrW(12316), "~")
どう改善すれば正常に動くでしょうか?
ご教示くださいませ(._.)
No.1ベストアンサー
- 回答日時:
こんにちは
試しに、For~Nextの部分をそのままコピペして実行してみましたが、私の環境ではちゃんと動作するようです。
>Cells(i, "A") = Replace(Cells(i, "A"), ChrW(12316), "~")
エラー箇所がわかっていて、メッセージもわかっているので、分解して何が原因かを突き止めるのが近道かと思います。
例えば、Cells(i, "A")、ChrW(12316) を一旦変数に置き換えて、
Set r = Cells(i, "A")
letter = ChrW(12316)
r = Replace(r, letter, "~")
のように分解したら、どこでエラーになるのでしょうか?
fujillinさま!いつもありがとうございます!!
分解して考えるという癖付けが大事なんですね。勉強になります(*'▽')
エラーは、Cells(i, "A")この箇所で出ていたようで、なんでかな~としばらく考えていたのですが、変数 i に2行目から指定していたのがダメでした。本当は7行目からでした~
本当に単純ミスです・・・。お恥ずかしい・・・。
今回もお力添えいただき、ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) VBA 行削除した連番 4 2023/06/27 16:00
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
実行時エラー -'-2147417848
-
VBAがブレークモードになっ...
-
VBAでのエラー
-
【Excel VBA】マクロをボタンに...
-
INSERT INTOステートメント構文...
-
アクセス 実行時エラー3265
-
マクロについて教えてください...
-
VBAのコードがエラーになっ...
-
ExcelVBAで、ユーザー定義型は...
-
Outlook.ApplicationをCreateOb...
-
ExcelVBA Range クラスの Page...
-
VBSで変数の宣言はできないので...
-
ADODB.Streamを使用してUTF-8を...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー3001「引数が間違...
-
Invalid procedure call or arg...
-
vbaのvlookup関数エラー原因を...
-
Access2000での未定義関数repla...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー -'-2147417848
-
【Excel VBA】マクロをボタンに...
-
Outlook.ApplicationをCreateOb...
-
VBAでのエラー
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
VB6+SQL サーバー 2000 で 実行...
-
エクセルエラー13型が一致しま...
-
VBS実行時エラー オブジェクト...
-
ADODB.Streamを使用してUTF-8を...
-
INSERT INTOステートメント構文...
-
VBAで、定数式が必要ですのエラ...
-
OLEDB.NETで接続できない
-
VBSで変数の宣言はできないので...
おすすめ情報