[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『アンケート集約』(ランラン)
アンケート集約のVBAについて教示お願いします。
サイト内で検索して調べて、応用しようとしましたが、うまく行きませんでした(涙)
やりたいことは
1 同じ書式のアンケートファイル(ファイル名は各部署から送られてくるのでそれぞれ違います)があり、
それぞれのファイルの中のsheet1の名前を「アンケート」と変更しています。
2 アンケートファイルの書式は以下のとおりです。
行 J列
15 Q1、○○ですか? はい
16 Q2、○○はありますかか? いいえ
17 Q3、 ・・・・ はい
・ ・
という風に「はい」「いいえ」の二者択一の回答方式となっています。
3 アンケートファイルとは別に、集計ファイルを作成し、それに「はい」の数だけを合計したいと考えてます。
4 集計ファイルの様式は、Sheet1の名前を「グラフ」に変更し、以下のとおりです。
行 D列
44 Q1、○○ですか? 25 ←それぞれの質問に対する「はい」の数の合計
45 Q2、○○はありますかか? 40
46 Q3、 ・・・・ 31
5 デスクトップに「アンケート」というフォルダを作成し、その中に各部署からのアンケートファイルと集計ファイルを保存。
6 集計ファイルにVBAを作成し、マクロボタンに記録。
アンケートファイルは開かずに、集計ファイルに「はい」の数を集計したい。
こんな感じなのですが、よろしくお願いいたします。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
Sub test()
Dim f As String Dim p As String Dim r As Range Dim b As Workbook Dim s As Worksheet Dim t As Range Dim i As Long
Set b = ThisWorkbook Set s = b.Worksheets("グラフ")
p = b.Path & "\" f = Dir(p & "*.xls*", vbNormal)
With s Do While f <> "" If f <> b.Name Then Set t = .Range("J15") For Each r In .Range("C44", .Range("C44").End(xlDown)) If Application.ExecuteExcel4Macro( _ "'" & p & "[" & f & "]アンケート'!" & t.Address(1, 1, xlR1C1)) = "はい" Then i = 1 Else i = 0 End If r.Offset(, 1).Value = r.Offset(, 1).Value + i Set t = t.Offset(1) Next End If f = Dir Loop End With End Sub
これで、出来ますか?
(ウッシ) 2015/10/21(水) 16:19
ウッシ様
ありがとうございました。
バッチリでした!!
またよろしくお願いしますm_ _m
(ランラン) 2015/10/22(木) 10:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.