ChatGPTでエクセルの複数セル選択時に各文字数を調べるVBAを作る方法

こんにちは!

今回はChatGPTを使ってエクセルのVBAを作る方法を解説します。

エクセルのシート上で、選択したセルの文字数をそれぞれ調べて、隣のセルに入れるというプログラムです。

一昔前までは、グーグルや本を使って調べていました。

それらしいサンプルコードを探して、それをコピペして、試しに動かしても、エラーが出る。そのエラーの意味を調べて、コードを書き変える。

みたいなことをやっていたわけです。

ChatGPTを使えば、この手間がいっさいなくなります。初めて使ったとき、まじで、メッチャ感動しました!

プログラム初心者が1日かかっても書けないような処理が、一瞬でできてしまう。ほんとこれ大げさじゃなくて。

しかも、補足説明として、コードの意味まで教えてくれる。

そんなわけで、一度使ってみると、手放せなくなるChatGPT。では、実際にコードを書いてもらいましょう。

レクタングル大336×280

ChatGPTに質問する

ChatGPTに難しいことは一切ありません。さっそくChatGPTを開いて以下のように質問しました。

VBAで選択したセルの文字数を調べるコードを教えてください

するとChatGPTが以下の返答してくれました。

以下は、VBA(Visual Basic for Applications)で「選択したセルの文字数」を調べるシンプルなコード例です。セルの内容が文字列である前提です。

Sub 文字数を調べる()
Dim selCell As Range
Set selCell = SelectionIf selCell.Cells.Count = 1 Then
MsgBox “選択したセルの文字数は ” & Len(selCell.Value) & ” 文字です。”
Else
MsgBox “1つのセルだけ選択してください。”
End If
End Sub

■ 使用方法
Excelで「Alt + F11」を押してVBAエディタを開きます。

「挿入」→「標準モジュール」を選択。

上記コードを貼り付けてください。

Excelに戻り、任意のセルを選択して、マクロを実行すれば文字数が表示されます。

必要に応じて「全角・半角の区別」や「改行コードの扱い」も調整できます。必要であればそのバージョンもお作りします!

これを元に実際にVBAを使ってマクロを作ってみます。

ChatGPTからの回答を元にVBAでマクロを作る

エクセルシートを開いて、セルに適当な文字を入力しておきます。

Alt+F11キーを押してVBAエディターを開きます。

挿入から標準モジュールを選択します。

ChatGPTが教えてくれたコードを貼りつけます。

エクセルのシートに戻って、文字が入っている適当なセルを選択します。ここではB5を選択しました。開発タブからマクロをクリックします。

文字数を調べるを選択して、実行ボタンを押します。

メッセージボックスが出て、「選択したセルの文字数は9文字です。」

と表示されました!

どうですか?めっちゃ簡単ですよね。

でも、これだけでは終わらないのがChatGPTの凄いところ。もっとプログラムを使いやすく修正していきます。

ChatGPTに修正依頼を出す

メッセージボックスが出るやりかただと、文字数を知りたい時にその都度、マクロを起動しなければいけないので不便に感じました。

あと、複数セルの文字数を知りたい時には、メッセージボックスは適さないので、セルに結果を入れるように修正します。

次のようにChatGPTに質問しました。

ありがとう!メッセージボックスではなく、選択セルの隣に文字数を入れて下さい。あと複数選択したらそれぞれの文字数を出して下さい。

するとChatGPTは以下の返答をしてくれました。

了解しました!以下は、選択したセルの隣(右のセル)に、それぞれの文字数を表示するVBAコードです。

■ 選択セルの右隣に文字数を表示するVBAコード

Sub 選択セルの右に文字数を表示()
Dim cell As Range
Dim txt As String

For Each cell In Selection
If Not IsEmpty(cell.Value) Then
txt = CStr(cell.Value)
cell.Offset(0, 1).Value = Len(txt)
Else
cell.Offset(0, 1).Value = 0
End If
Next cell
End Sub

■ 補足説明
cell.Offset(0, 1) は、選択セルの 右隣のセル を指します。

IsEmpty で空白セルを判定し、空なら「0」を表示。

Len(txt) で文字数を取得しています(全角半角関係なく1文字=1カウント)。

■ 使用例
A列(選択セル) B列(出力)
こんにちは 5
Hello 5
(空白) 0

必要であれば「全角2文字、半角1文字としてカウント」するバージョンや、「改行込みでカウントする」などの応用バージョンも対応可能です。お気軽にどうぞ!

修正案を元にコードを修正する

ChatGPTからの修正案を元にVBAを修正していきます。といってもコピペして上書きするだけです。

修正したマクロを実行してみます。

複数セルを選択して、マクロを実行。

おお~!隣のセルにきちんと文字数が入っている。

空白のセルは文字数0になっています。エラーが出ず無事にマクロが動きました。

まとめ

今回はChatGPTを使って、VBAのコードを書いてもらい、マクロを作ってみました。

複数セルの文字数を調べて隣のセルに入れるマクロが完成しましたね。

めっちゃ簡単でしょ?

かかった時間は5分くらいですよ。

まずは、今回のように簡単な処理を作ってみることからはじめてみましょう。

VBAをやったことがない人でも、すでにバリバリに使いこなしてる人でも、きっと感動するはずですよ。

エクセルで「検索結果の文字が入っていたらセルと文字に色をつける」というマクロをChatGPTで作ってみました。興味がある人はお読みください。

エクセルで検索結果の文字やセルに色を付けるマクロをChatGPTで作る方法
Excelで大量のデータから特定の文字列を探すとき、目視で探したり「条件付き書式」を使ったりしていませんか? 毎回手動で色を付けていると、...
amazonUnlimited


その使い方は損してますよ。

Amazon echo利用者の82.4%が利用している機能は音楽再生です。

つまり音楽再生機能を使っていない人は、Amazon echoの魅力の、ほんの一部にしか触れていないことになります。

Amazon Music Unlimitedなら月額580円(echoプラン)で音楽が聴き放題になります。

CDアルバム1枚分をダウンロードするのに2,000円近くかかるわけですから、CD1枚ダウンロードするたびに1420円損するのと同じことです。

しかも、Amazon Music Unlimitedだったら、CDアルバム何枚分でも聞き放題です。登録曲はなんと1憶曲以上! どれだけお得かがわかると思います。

30日間は無料なので、気に入らなければ、途中ですぐにやめれるので安心ですよ。

すぐに登録できるのでやらない手はありません。少しの行動で、お金が節約できて、 しかもAmazon echoの魅力を100%味わうことができるのですから。

Amazon Music Unlimitedの登録はこちら

レクタングル大336×280
レクタングル大336×280

シェアする

  • このエントリーをはてなブックマークに追加

フォローする