
エクセルシートの全角の英数字を一括で半角に変換するVBAをNETで見つけたのですが、このVBAを他のエクセルでも使えるようにしようと思い、下記のコードを「個人用Book」にコピペしたのですが、処理途中でハングアップしてしまいます。
どこを修正すれば良いのか教えてください。
'■Activeブックのすべてのシートの「全角カタカナ」を「半角カタカナ」にする。
Public Sub Call_value_half_to_full()
Dim ws As Worksheet
Dim rng As Range
For Each ws In ActiveWorkbook.Worksheets
If ws.Visible = True Then
For Each rng In ActiveSheet.UsedRange
'■全角カタカナを半角カタカナにする 全角カタカナに変換したい場合はvbWide
rng.Value = StrConv(rng.Value, vbNarrow)
Next
End If
Next ws
End Sub
No.3ベストアンサー
- 回答日時:
こんにちは。
For Each rng In ActiveSheet.UsedRange
は
For Each rng In ws.UsedRange
がまずポイント。
問題点は、記号やカタカナなども全て半角になってしまうこと。
よくあるのは英数のみ半角化でしょうか。
その場合は、正規表現を使う必要があります。
ご提示のソースで、UsedRange はシート内の使用済みセル全てを対象としますから、データがそれなりにあるシートだと時間はかかるでしょうねぇ、、
時間短縮には工夫か必要で、1度配列にセルの内容を読み込んで、その配列内を同様に半角化処理、ついでセルに書き戻す様にします。
ご回答ありがとございます。
ご回答の
>For Each rng In ws.UsedRange
を試してみたのですが、最初はうまく行くのですが、何度か違うファイルで試すとエラーになってしまいます。
他にどこか修正すべき箇所があるのでしょうか?
カタカナも半角に統一したいのでこのコードが使えるとありがたいのですが。
No.1
- 回答日時:
こんにちは
Public Sub Call_value_half_to_full() は
どのように呼んでいる(実行している)のでしょう
ActiveWorkbookは1つです
プロシージャに引数などを加えて、明示的にブックを特定するなどしてみては?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
更新クエリで半角カタカナのみ...
-
エクセル2016 条件付き書式で全...
-
長音「ー」とマイナス「-」の...
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
エクセルvbaで、別シートの最下...
-
Excelで指定した日付から過去の...
-
VB.NETで DataRow()を利用して...
-
特定のセルが空白だったら、そ...
-
特定の文字を条件に行挿入とそ...
-
Accessのクエリで、replace関数...
-
【VBA】シート上の複数のチェッ...
-
テキストボックスのvalueとtext...
-
表にフィルターをかけ、絞った...
-
任意フォルダから画像をすべて...
-
エクセルで、絶対値の平均を算...
-
複数ユーザが同一データを同時...
-
count(*)で取得した値をJAVAの...
-
ACCESSテーブルを RecordSet以...
-
UNICODE文字が含まれているかの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
更新クエリで半角カタカナのみ...
-
エクセルシート中の全角英数字...
-
長音「ー」とマイナス「-」の...
-
ハイフン(-)が長音(ー)
-
「ー」←これは伸ばし棒ですか?...
-
Wordの日本語全角文字・半角カ...
-
エクセル2016 条件付き書式で全...
-
全角文字を PDFで変換できませ...
-
UTF-8 と SHIFT-JIS について
-
特定の列の値を、ひらがな・漢...
-
アクセスのLENBとエクセルのLEN...
-
グローバルなCD-TEXT?
-
fairuse wizard
-
[VBA]半角カタカナ
-
Excelで文字の長さを揃えるには
-
オリジナルCD の CD TEXT作成...
-
VBA エクセル 全角 半角
-
ExcelVBAを使って、値...
-
テキストボックスのvalueとtext...
-
Accessのクエリで、replace関数...
おすすめ情報