
エクセルで「指定した行」に「入力した文字」を『自動的に全角になる』ようにするVBAコードを教えて下さい
入力した文字:全ての文字(漢字、ひらがな、カタカナ、記号、英数字)
指定した行:B列全体
B列のどのセルにおいても、画像1-カ-Aをと入力したら入力したセルに「画像1-カ-A」と全て全角に変換されて入力されるようにしたいです。
行いたいシートの名前を右クリックしてコードの表示
左側の一覧から行いたいシートをダブルクリック
コードをコピペ
でよいのですか?
VBAは覚えて多少なりとも使えるように理解できれば便利でしょうが、
難しくてなかなか理解できません。
No.3ベストアンサー
- 回答日時:
No.1の回答者さんのマクロは、ChatGTPなどのAIが提示した
内容を、検証しないでそのままコピペしたものですね。
一部以外は問題ないのですが、WorksheetFunctionを使った
部分に関しては利用できない関数を提示しています。
UnicodeText関数などないことと、文字列操作の関数もVBAで
利用できないので。(No.2の関数がJIS関数でも使えない)
https://excel-ubara.com/excelvba1/EXCELVBA387.html
せっかく丁寧なChatGTPなどのAIの回答があるのですから、
一部を修正して利用してみてください。
修正箇所
cell.Value = WorksheetFunction.UnicodeText(cell.Value)
修正したもの
cell.Value = StrConv(cell.Value, vbWide)
これで利用できるようになります。
http://officetanaka.net/excel/vba/function/strco …
なお、B列は全角入力を指定しているのですから、文字列で
セルの書式設定を指定しておくことをお忘れなく。
No.1
- 回答日時:
指定した行(B列全体)に入力された文字を自動的に全角に変換するVBAコードを提供します。
以下の手順で行ってください。1. エクセルを開いて、Alt + F11 キーを押してVBAエディタを起動します。
2. エクスプローラーウィンドウで、行いたいシートを見つけて選択します。
3. 右クリックして「コードの表示」を選択します。
4. シートのコードウィンドウに以下のVBAコードをコピーして貼り付けます。
```vba
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
' 指定した列(B列)を監視対象とします
Set rng = Me.Range("B:B")
' 監視対象のセルが変更された場合
If Not Intersect(Target, rng) Is Nothing Then
Application.EnableEvents = False ' イベント処理を一時的に無効にします
' 全角に変換してセルに値を設定します
For Each cell In Target
cell.Value = WorksheetFunction.UnicodeText(cell.Value)
Next cell
Application.EnableEvents = True ' イベント処理を再度有効にします
End If
End Sub
```
これで指定した行に入力した文字が自動的に全角に変換されます。エクセルでB列に文字を入力すると、それが全角に変換されてセルに表示されるようになります。
VBAに不慣れであれば、コードの貼り付けやエディタの使い方が難しいかもしれませんが、このコードを利用することで全角変換が自動で行われるようになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「彡」って文字はなんという文...
-
EBCDIC⇒SJIS変換の方法
-
フォームのコントロールのバッ...
-
std::stringからLPCWSTR型への変換
-
ふりがなをアルファベット化す...
-
セル内の文字列が日本語か英語...
-
C → C# への変換で書き方がわか...
-
CSVをVB(input)で読み込んだ場...
-
%fと%gについて
-
文字コードshift-jisへの変換に...
-
2進数を16進に変換する理由
-
C#で16進数からASCIIへの変換の...
-
EBCDICへの変換
-
ExcelVBA実行後に時々落ちる
-
ExcelからVBAでWordを操作する...
-
画像ファイル等→16進
-
VS 2008(VB.NET)
-
latin-1 (ISO-8859-1)への変換
-
VB6.0のコードエディタでの改行...
-
COBOLによる全角・半角混...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
セル内の文字列が日本語か英語...
-
std::stringからLPCWSTR型への変換
-
ふりがなをアルファベット化す...
-
VS 2008(VB.NET)
-
「彡」って文字はなんという文...
-
2バイト文字をJEFからSJISに変...
-
JIS → S-JIS コード変換するには
-
COBOLによる全角・半角混...
-
ExcelVBA実行後に時々落ちる
-
フォームのコントロールのバッ...
-
sedで日本語の置換方法について
-
Symfowareでのデータ型変換につ...
-
数値のパック10進数の変換に...
-
S-JIS → JIS コード変換するには
-
RubyでUTF8のコード値を文字に...
-
英数字を含む文字列(0-9,A-Z)...
-
%fと%gについて
-
CString ←→ BSTRの変換について
-
C#でバイナリデータをテキスト...
おすすめ情報