カテゴリ:Excel&Word,VBA
お久しぶりの VBA ネタです. チョッと訳あって,全角 → 半角に置換する必要 が出てきてね...... セル内容が更新されたら発生するイベントでトリ ガを掛けて,StrConv関数で,文字列内の全角文 字(2Byte)を半角文字(1Byte)に変換させる. こんな感じ... Option Explicit Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Target.Activate If ActiveCell.Value = Empty Then Exit Sub ActiveCell.Value = StrConv(ActiveCell.Value, vbNarrow) End Sub 上記を This Workbook に記述するだけっす... いい感じ...って,思っていたら, Workbook_SheetChange イベントで, 初回の処理が終わっても,再び呼び出されちゃっ て,無限ループに陥るのですねぇ...... と言うことで, イベントに突入したら, Application.EnableEvents で,False に セットして,半角に強制変換後に,True に戻 せば,無限ループに陥らずイイ感じになります ねぇ... で, その修正版ですけど, Option Explicit Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Application.EnableEvents = False Target.Activate ActiveCell.Value = StrConv(ActiveCell.Value, vbNarrow) Application.EnableEvents = True End Sub © 6ちゃん!@便利だわ... お気に入りの記事を「いいね!」で応援しよう
Last updated
2016.08.28 14:25:42
コメント(0) | コメントを書く
[Excel&Word,VBA] カテゴリの最新記事
|
|