
エクセルで「指定した行」に「入力した文字」を『自動的に全角になる』ようにする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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 納品書台帳の納品書番号(一連番号)が入力シートからのデータ転記で反映(表示)されるようにしたい。 1 2021/11/17 19:49
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) VGAを利用した画像表示について 4 2021/11/03 23:07
- その他(Microsoft Office) エクセルの数式で教えてください。 3 2021/12/21 09:20
- Excel(エクセル) IF文の管理を簡単にしたい 4 2021/11/07 11:23
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- C言語・C++・C# C言語の問題です。 1 2021/10/21 15:05
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel vba で1と10を正確に判断...
-
ふりがなをアルファベット化す...
-
sedで日本語の置換方法について
-
漢字の振り仮名を取得したい
-
「彡」って文字はなんという文...
-
EBCDIC⇒SJIS変換の方法
-
ExcelVBA実行後に時々落ちる
-
std::stringからLPCWSTR型への変換
-
N88BASICのASCII変換について
-
JIS → S-JIS コード変換するには
-
%fと%gについて
-
文字列の最初の0(ゼロ)を取...
-
文字コード(EUC->SJIS)につい...
-
サーバから取得したdatetime型...
-
「平成」 をシフトJISの文字コ...
-
adobe acrobat reader 日本語表...
-
RubyでUTF8のコード値を文字に...
-
セル内の文字列が日本語か英語...
-
ASCIIコードの文字化け??
-
VB6.0のコードエディタでの改行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
セル内の文字列が日本語か英語...
-
std::stringからLPCWSTR型への変換
-
「彡」って文字はなんという文...
-
ふりがなをアルファベット化す...
-
ExcelVBA実行後に時々落ちる
-
VS 2008(VB.NET)
-
COBOLによる全角・半角混...
-
数値のパック10進数の変換に...
-
Symfowareでのデータ型変換につ...
-
sedで日本語の置換方法について
-
2バイト文字をJEFからSJISに変...
-
フォームのコントロールのバッ...
-
JIS → S-JIS コード変換するには
-
英数字を含む文字列(0-9,A-Z)...
-
Excel vba で1と10を正確に判断...
-
Excelマクロにて30分単位の計算...
-
PL/SQLでSJISの文字コードを取...
-
S-JIS → JIS コード変換するには
-
%fと%gについて
おすすめ情報