大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使えば、アンケートの送信と、集計作業を自動化することができます。VBAを使って、アンケートの送信や集計作業を自動化すると、業務を効率化することができます。VBAを使ったデータの送信や、集計する方法について、マスターしていきましょう。

はじめに

この記事では、アンケートの送信と集計を自動化する方法について、ご紹介します。

VBAを使えば、アンケートを送信する機能と、アンケートを集計する機能を、作成することができます。

実務で、アンケートの送信や集計作業がある場合は、VBAを使って自動化すると、かなり便利になります。

VBAを使ったデータの送信や、集計作業について、マスターしていきましょう。

では、アンケートの送信と集計を自動化する方法について、解説していきます。

この記事を読むメリット

  • アンケートの送信と集計作業を自動化して、業務を効率化できます。

本記事の内容を動画でまとめています

目次から見たい項目へ移動すると便利ですよ。

目次

アンケートの送信と集計を自動化したい

やりたい内容は、アンケートの送信と集計を自動化したい、ということになります。

アンケートを送信する機能

まずは、アンケートを送信する機能から見ていきます。

前提として、社内ネットワークがあることが必要になります。

社内ネットワークが必要

社内ネットワークがあることが前提になります

では、アンケート結果を送信してみます。

共有フォルダをイメージして、「回答用フォルダ」に、アンケート結果を送信します。

アンケート結果を送信する

アンケート結果を送信したいです

アンケートフォームからアンケートを送信する手順をみてみます。

アンケートを送信する方法

アンケートフォームからアンケートを送信します。

アンケートフォームからアンケートを送信します

アンケートを入力します。

アンケートを入力します

送信ボタンをクリックしてアンケートを回答します。

送信ボタンをクリックしてアンケートを回答します

送信完了のメッセージが表示されます。

送信完了のメッセージが表示されます

これで、回答用フォルダにアンケートの送信が完了します。

アンケートを送信できる

回答用フォルダにアンケートの送信が完了します。

回答用フォルダにアンケートの送信が完了します

送信したブックの中身をみてみます。

アンケートの内容が送信されます

こんな感じで、アンケートの内容を送信できます。

集計しやすいように、アンケートの結果のみを送信しています。

では、複数人がアンケートを送信するのをイメージして、複数のアンケートを送信してみます。

複数のアンケートを送信してみる

アンケートを適当に入力して、送信してみます。

2つ目のアンケートを送信してみます

2つ目のアンケートを送信できます。

2つ目のアンケートを送信できました

2つ目のアンケートを送信できました。

同じようにアンケートを適当に入力して、送信してみます。

3つ目のアンケートを送信してみます

3つ目のアンケートを送信できます。

3つ目のアンケートを送信できました

3つ目のアンケートを送信できました。

もう一度、アンケートを適当に入力して、送信してみます。

4つ目のアンケートを送信してみます

4つ目のアンケートを送信できます。

4つ目のアンケートを送信できました

4つ目のアンケートを送信できました。

こんな感じで、複数のアンケートを簡単に送信できます。

複数のアンケートを送信できる

複数のアンケートを送信することができます

複数のアンケートを送信することができました。

これを、社内ネットワークでやれば、簡単にアンケートの提出をすることができます。

アンケートの集計する機能

次は、アンケートの集計する機能をみてみます。

アンケートを集約する

アンケート結果を集約してみます。

アンケート結果を集約してみます

集計用のエクセルに、アンケート結果を集計します。

集計用のエクセルに、アンケート結果を集計します

VBAコードを、実行するとアンケート結果を集計できます。

アンケートを集約できた

アンケート結果を集計できました

アンケート結果を集計できました。

こんな感じで、アンケートの集計も簡単にできるようになります。

あとは、グラフを作成したりすると、アンケートの分析が簡単にできます。

アンケートを送信する手順

アンケートを送信する手順からみていきます。

アンケートを送信するVBAコード

アンケートを送信する手順は、次のようになります。

  • 新規シートを追加
  • アンケート内容を転記
  • 新規シートを、新規ブックに移動
  • 新規ブックを名前を付けて保存
  • 新規ブックを閉じる
  • メッセージを表示

という感じです。

VBAコードは、次のようになります。

Sub 送信()
  
  'シートを追加
  Worksheets.Add
  
  With ActiveSheet.Next
    Range("A1") = .Range("B4") '社員番号
    Range("B1") = .Range("D4") '企画部
    Range("C1") = .Range("F4") '名前
    Range("D1") = .Range("F6") 'Q1
    Range("E1") = .Range("F8") 'Q2
    Range("F1") = .Range("A11") 'Q3
  End With
  
  ActiveSheet.Move '新規ブックに移動
  
  Dim A, B
  'フォルダパス
  A = ThisWorkbook.Path & "\回答用フォルダ\"
  'ブック名
  B = A & Range("A1") & "_" & Format(Now(), "yyyymmdd-hhmmss") & ".xlsx"
  ActiveWorkbook.SaveAs B '名前を付けて保存
  ActiveWorkbook.Close False 'ブックを閉じる
  
  MsgBox "アンケートを送信しました。ご回答ありがとうございます。"
  
End Sub

では、ポイント毎に実行して、手順をみてみます。

アンケートフォームを作成

アンケートフォームは、あらかじめ作成しておきます。

アンケートフォームを作成

アンケートフォームは作成しておきます

入力規則のリストなども事前に設定しておきます。

入力規則のリストなどを設定しておく

入力規則のリストなども作成しておきます。

入力規則のリストなども作成しておきます

複数ある場合は、ほかのリストも作成しておきます。

入力規則のリストを作成しておきます

とりあえず、アンケートフォームを作成できました。

実行する手順

では、VBAコードをポイント毎に実行して、実行する手順をみてみます。

先にアンケートを入力しておきます。

アンケートを入力しておく

アンケートを入力しておきます

VBAコードを実行してみます。

実行すると新規シートが作成されます。

新規シートが作成される

実行すると新規シートが作成されます

新規シートに、アンケート内容を転記します。

新規シートにアンケート内容を転記

新規シートに、アンケート内容を転記します

新規シートを、新規ブックに移動します。

新規シートを、新規ブックに移動

新規シートを、新規ブックに移動します

新規ブックを名前を付けて保存します。

新規ブックを名前を付けて保存

新規ブックを名前を付けて保存します。

新規ブックを名前を付けて保存します

名前を付けて、回答用フォルダに保存できます。

名前を付けて、回答用フォルダに保存できました

名前を付けて、回答用フォルダに保存できました。

新規別ブックを閉じます。

新規ブックを閉じる

別ブックを閉じます

最後に、送信完了のメッセージが表示します。

送信完了のメッセージを表示

送信完了のメッセージが表示されます

これで、アンケートの送信が完了します。

送信したブックの中身をみてみます。

アンケートの送信が完了

回答用フォルダに、アンケート結果を送信できます。

回答用フォルダに、アンケート結果を送信できました

送信したアンケート内容です。

送信したアンケート内容です

集計しやすいように、アンケートの結果のみを送信しています。

ボタンに登録

作成したVBAコードを、ボタンに登録しておくと、送信が簡単になります。

「送信」ボタンを作成して、VBAコードを登録します。

ボタンにVBAコードを登録

「送信」ボタンを作成して、VBAコードを登録します

「送信」ボタンを作成して、VBAコードを登録しました。

これで、アンケートを送信する機能が完成です。

アンケートを集計する手順

次は、送信した複数ブックのアンケートを、集計する手順についてみていきます。

アンケートを集計するVBAコード

アンケートを集計する手順は、次のようになります。

  • ①フォルダ内のブック名を1つ取得
  • ②ブックを開く
  • ③ブックの値を取得
  • ④ブックを閉じる
  • ⑤次のブック名を取得

②~⑤を繰り返して、すべてのブックから値を取得します。

VBAコードは、次のようになります。

Sub 集計()
  
  Dim A
  'フォルダ内の1つのブック名を取得
  A = Dir(ThisWorkbook.Path & "\回答用フォルダ\*")
  
  Do While A <> ""
    'ブックを開く
    Workbooks.Open ThisWorkbook.Path & "\回答用フォルダ\" & A
    With ThisWorkbook.Sheets("集計")
      'アンケート結果をコピー
      Range("A1").CurrentRegion.Copy .Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
      'ブックを閉じる
      ActiveWorkbook.Close False
    End With
    A = Dir() '次のブック名を取得
  Loop
  
End Sub

では、ポイント毎に実行して、手順をみていきます。

実行する手順

回答用フォルダに保存されたブックから、値を取得していきます。

アンケートを集計する

アンケートを集計します。

アンケートを集計してみます

アンケートの回答が保存された複数ブックの中身は、こんな感じです。

アンケートの回答が保存された複数ブックの中身です。

集計用のエクセルに、アンケート結果を集計します。

集計用のエクセルに、アンケート結果を集計します

では、ポイント毎にVBAコードを実行していきます。

送信されたブックを開いて値を取得

実行すると、アンケート結果が記載されたブックを開きます。

アンケート結果が記載されたブックを開きます

アンケート結果を、集計用ブックに転記します。

アンケート結果を、集計用ブックに転記します

アンケート結果のブックを閉じます。

アンケート結果のブックを閉じます

これで、1つ目のブックの値を取得することができます。

2つ目のブックも、同じように値を取得していきます。

2つ目のブックも開いて値を取得

アンケート結果が記載されたブックを開きます。

アンケート結果が記載されたブックを開きます

アンケート結果を、集計用ブックに転記します。

アンケート結果を、集計用ブックに転記します

アンケート結果のブックを閉じます。

アンケート結果のブックを閉じます

次は、3つ目のブックの値を取得します。

3つ目のブックも開いて値を取得

アンケート結果が記載されたブックを開きます。

アンケート結果が記載されたブックを開きます

アンケート結果を、集計用ブックに転記します。

アンケート結果を、集計用ブックに転記します

アンケート結果のブックを閉じます。

アンケート結果のブックを閉じます

すべてのブックをループして、値を取得したら終了です。

これで、アンケート結果を集計することができます。

アンケート結果を集計できた

アンケート結果を集計することができました

こんな感じで、アンケート結果を集計することができます。

アンケートの送信から、集計までを自動化できると、業務の効率化になります。

アンケートの送信や集計作業が実務である場合に、ご活用ください。

おわりに

この記事では、アンケートの送信と集計を自動化する方法について、ご紹介しました。

VBAを使えば、アンケートを送信する機能と、アンケートを集計する機能を、作成することができます。

実務で、アンケートの送信や集計作業がある場合は、VBAを使って自動化すると、かなり便利になります。

VBAを使ったデータの送信や、集計作業について、マスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す