業務上の処理で困っていることがあります。お知恵をお貸し下さい
「メーカーからCVSファイルでデータが届く→それを読み込んで伝票発行」という作業を行っているのですが
住所等の番地やマンション名等(カナ)が全て全角で入力されている状態なのです。(同じ文字列に漢字や平仮名も混じっています)
伝票発行するソフトは規定文字数が少なめなのでこれをいちいち半角に直してから
読み込まないといけません。手作業になりますし、件数も多いので困っています
「選択した行(シート全体でも構いません)の文字列で半角に直せるものは半角に変換」というマクロを組むことは可能でしょうか?
初心者レベルですが何度かVBAを使ったことはあります
何卒よろしくお願い致します。
No.5ベストアンサー
- 回答日時:
列全体でやる場合は
変換した列を選択して(このマクロだと一つのセルを選択しても列全体が変換されてしまうので注意してください)↓を実行してください。なお連続した列は複数列選択でできますが(例:A,B,C,D列)A列,C列といった列を選択して実行というのは私の技術ではできませんでした。。
Sub test1()
Dim myRange As Range, myColumn As Integer, endRow As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set myRange = Selection
myColumn = Selection.Columns.Count
For i = 1 To myColumn
endRow = Cells(65536, Selection.Column).End(xlUp).Row
Cells(1, Selection.Column).Select
Do Until Selection.Row = endRow
If Selection = "" Then GoTo S1
Selection = StrConv(Selection.Value, vbNarrow)
S1:
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(0, 1).Select
Next i
myRange.Select
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
とりあえず列全体でしたら↑を
選択セルのみでしたら↓をお使いください。
Sub test01()
Selection = StrConv(Selection.Value, vbNarrow)
End Sub
わがままを聞いてくださりありがとうございました!
シート全体の文字列を半角にしても構わない。ということだったので
このマクロを少し改造して業務を行いたいと思います。
本当にありがとうございます♪m(_ _;)m
No.4
- 回答日時:
すみません、No3ですが、説明不足です。
先程の回答だと『全ての文字列』を選択し、半角にする。という処理です。
数値も選択して半角にしたい場合は下記でお願いします(2→3になっただけですが…)
Sub test02()
Selection.SpecialCells(xlCellTypeConstants, 3).Select
Selection = StrConv(Selection.Value, vbNarrow)
End Sub
またご自身で選択したセルだけについて実行するのでしたら
Sub test03()
Selection = StrConv(Selection.Value, vbNarrow)
End Sub
です。
No.3
- 回答日時:
こんな感じでいかがでしょうか?
Sub test01()
Selection.SpecialCells(xlCellTypeConstants, 2).Select
Selection = StrConv(Selection.Value, vbNarrow)
End Sub
回答ありがとうございます!
頂いたコードを実行したら希望通りに半角になりました♪
ちなみにこれを行ではなくて列単位(複数選択できればうれしいです)で
処理を行うにはどのようなコードに変更したらよいでしょうか?
重ね重ねすみませんがよろしくお願い致します。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) Excel 365 フリーズ 頻発 エクセルのセルの中に日本語の文章を全角半角和文英文数字を混ぜて入 3 2022/12/12 15:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
VBAで文字列を数値に変換したい
-
エクセル 同じ値を探して隣の...
-
エクセルで最初のスペースまで...
-
エクセル初心者です 関数の入れ...
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 文字数 多い順 並...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
重複行を削除して数値を合算し...
-
エクセルの並び変えで、空白セ...
-
EXCELで 一桁の数値を二桁に
-
基準日よりも古い日付の列を削...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報