参照データ: https://excel-ubara.com/GenerativeAI/GAI014.html
1. 生成AI活用研究第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する!の定義と基本構文
VBA(Visual Basic for Applications)とは、Microsoft ExcelやMicrosoft 365向けのスクリプティング言語です。VBAは、Excel内蔵の脚本言語として、ユーザーが自動化処理を実現するための重要なツールとなります。本章では、生成AI活用を通じてExcel作業を効率的に高める事例を学びます。
定義
VBAは、主に以下のような構成をしています:
– 基本構文:Set宣言、If条件判断、Loopループ、Range参照など。
– Excel操作:セルの値を取得し、行や列を制御することができる。
– データ加工:CSVファイルやDBからデータを取り込むことができる。
基本構文の例
Set obj = CreateObject(“Excel.Application”)
Set ws = obj.Workbooks.Open(“入力.xlsx”, 0)
Set rng = ws.ActiveSheet.Range(“A1:A10”)
If rng.Value = “条件” Then
‘ 条件に応じた処理を実行する
End If
For i = 1 To 10
‘ i 番の行を加工する
rng.Offset(i, 0).Value = rng.Offset(i, 0).Value * 2
Next
事例での活用
1. CSVからExcelにデータを読み込む
Set obj = CreateObject(“Excel.Application”)
Set ws = obj.Workbooks.Open(“入力.csv”, , 5)
Set rng = ws.ActiveSheet.Range(“A1:A10”)
rng.Value = “CSVファイルの値”
2. AIを使用して予測を行う
‘ 以下は、AIモデルを使用した例です(具体的なAIモジュールの実装は別途実施必要)
Set rng = ws.ActiveSheet.Range(“A1:A10”)
rng.Value = Predictions(AIModel, rng.Value)
結論
VBAとExcelの活用により、ビジネスプロセスを改善し、効率を向上させることができます。特に、生成AIと組み合わせると、自動化処理がさらに進化します。
生成AI活用研究第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する!の基本例題
Excelでのデータ操作と分析をVBAと生成AIを活用して、効率性を向上させる方法です。以下に具体的な例題と解説、コード例を示します。
—
例題1:売上予測の自動化
**
3. 実務で役立つ応用パターン
VBAとExcelの活用は、業務や研究活動中で頻繁に使用されるツールです。以下に、実際に利用できる具体的な応用パターンとコード例を示します。
1. データ入力と加工
– データ入力:
VBAを使用して、Excelシート内のデータを自動的に入力することができます。例えば、フォームから入力された値を直接Excelに追加する。
With ActiveSheet
For Each cell In Range("A1:A10")
cell.Value = InputBox("Enter your value:", "Value")
Next cell
End With
– データ加工:
VBAを使用して、Excel内のデータを加工することができます。例えば、行内の値を特定条件で絿し込む。
With ActiveSheet
For Each row In Rows(1..)
If row.Offset(0, 3) > 100 Then
row.Hidden = True
End If
Next row
End With
2. 検索と絿し込み
– データ検索:
VBAを使用して、Excel内のデータを検索することができます。例えば、特定の値を含む行を自動的に選択する。
With ActiveSheet
Dim lastRow As Long, searchValue As String
searchValue = "特定の値"
For lastRow = Cells(1..).Count Until Cells(lastRow, 1) <> ""
If Cells(lastRow, 1).Value = searchValue Then
Rows(lastRow).Select
Exit For
End If
Next lastRow
End With
– 絿し込み:
VBAを使用して、Excel内のデータを絿し込むことができます。例えば、特定の条件に該当する行や列を自動的に選択する。
With ActiveSheet
Dim lastRow As Long, searchValue As String
searchValue = "条件"
For lastRow = Cells(1..).Count Until Cells(lastRow, 1) <> ""
If InStr(Cells(lastRow, 1).Value, searchValue) > 0 Then
Rows(lastRow).Select
Exit For
End If
Next lastRow
End With
3. グラフ作成とフォーマット
– グラフ作成:
VBAを使用して、Excel内のデータをグラフとして可視化することができます。例えば、バーグラムグラフや折線グラフを作成する。
4. コードの詳細解説
VBA(Visual Basic for Applications)を用いたExcel作業の効率性を向上させるために、生成AI(Generative AI)と組み合わせた実装例です。以下に、具体的なコード例とその機能について説明します。
1. 生成AIモデルの呼び方
VBAでは、外部ライブラリやAPIを使用することが可能です。以下に、生成AIモデルの呼び方の例を示します。具体的には、[Redeem AI](https://www.redeem.ai/)というサービスを用いた例です。
‘ 生成AIモデルの呼び方例
Dim aiResponse As String
Dim requestBody As String
requestBody = “こんにちは。今日の天気はどうですか?”
requestBody = requestBody & “(回答が得たい内容)”
With New ChakraClient
Dim response = .Generate(
“ja”,
requestBody,
“AI-Coder-Alpha-Preview”
)
aiResponse = response.Text
End With
‘ aiResponseに生成された文本が格納されます。
2. Excelデータを用いた生成AIの活用例
以下に、Excel内のデータを用いた生成AIの具体的な実装例です。VBAを用いて、Excelシート内で入手可能なデータを加工し、生成AIモデルの出力を格納します。
‘ Excelデータを用いた生成AI活用例
Dim excelData As Range
Dim aiResponse As String
‘ データを選択する部分を指定します。
Set excelData = Application.InputBox(“データを選びましょう”, Type:=xlRange)
With New ChakraClient
Dim response = .Generate(
“ja”,
excelData.Value,
“AI-Coder-Alpha-Preview”
)
aiResponse = response.Text
End With
‘ 生成されたテキストがExcelのセルに書き込まれます。
3. VBAでのAPI実装例
以下に、VBAで一般的なAPI呼び方の例を示します。生成AIモデルの使用に必要な基本的な操作を説明しています。
‘ API呼び方の基本例
Dim client As ChakraClient
Set client = New ChakraClient
client.Key = “your-api-key”
Dim response As String
Dim requestBody As String
requestBody = “こんにちは。今日はいい天気です。”
response = client.Generate(
“ja”,
requestBody,
“AI-Coder-Alpha-Preview”
)
Debug.Print response
4. 使用前後の効率比較
VBAと生成AIを組み合わせたExcel作業の効率性を確認することが重要です。以下に、使用前後の例を示します。
5. 注意点とエラー対策
VBA(Visual Basic for Applications)でExcel作業を行う際には、いくつかの注意点とエラー対策が必要です。以下に主要な項目を説明します。
1. VBAの古さと互換性
VBAは、主に古い言語で、現在ではほとんど使われなくなったため、Excelの新しい機能やAPIとの互換性が重要です。特に、2010年以降のExcelバージョンでは、旧版のVBAが非対応となり、Macrosとして保存されたVBAは実行できない場合があります。因此、環境確認を必ずし、必要に応じて新しいVBAを学ぶ必要があります。
2. エラー予測と防止
VBAでExcel操作を行う際には、以下のようなエラーが頻発します:
– 外部データへの参照失敗: ファイルやシートが存在しない場合。
– 名前の不一致: プロセッサ名やレンガー名が一致していない場合。
– 型の不一致: 值の型が予期した型と一致していない場合。
対策:
– 必要に応じて、エラーを予測して適当な制御を追加します。例えば、FileExists関連のメソッドを使用し、ファイル存在性を確認するようにします。
– On Error Resume Nextを活用し、エラーが発生した場合に進む代わりに、警告を出すようにします。
3. データ操作の安全性
VBAで直接外部データに書き込むと危険です。例えば、Range(“A1”).Value = “テキスト” では、Excelの内部形式(数値形式)ではなく、文字
