【VBAリファレンス】生成AI活用研究第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する!

スポンサーリンク

参照データ: 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の内部形式(数値形式)ではなく、文字

タイトルとURLをコピーしました