よろしくお願いします。
複数のシートに行も列もバラバラになっているデータを一つのシートの行に整列させたいと思っています。
具体的には下記のようなシートがあります。一つは組織の名前のシート、一つは組織の基礎情報といった感じでシートごとに回答されています。
これを他のシートに一つの組織を一つの行で整列させ分析をしていきたいと思っています。
ファイルが数千あるため、マクロで書こうと思っているのですが、下記のように書いたのですがうまくいきません。
アドバイスをいただけないでしょうか?
ファイルは(アンケートデータ1,アンケートデータ2といった感じで統一、作業フォルダ内にすべて保存)
マクロを動かすセルは”統合”というファイル名、シート1に持ってきます。
Sub Macro1()
Dim i As Integer
For i = 1 To 1000
'アンケートデータファイルを開く
Workbooks.Open Filename:="C:\Documents and Settings\Administrator\My Documents\作業\アンケートデータ" & i" .xls
'アンケートデータファイル 学校名シートのB11 を新しいブックのシート1のA1にコピー
Worksheets(学校名).Activate
Range("B11").Select
Worksheets(統合).Activate
ActiveSheet.Paste
ThisWorkbook.Worksheets(1).Range("A" & i).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Worksheets(基本データ).Activate
Range("D3").Select
Worksheets(統合).Activate
ActiveSheet.Paste
ThisWorkbook.Worksheets(1).Range("B" & i).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Worksheets(基本データ).Activate
Range("D6").Select
Worksheets(統合).Activate
ActiveSheet.Paste
ThisWorkbook.Worksheets(1).Range("C" & i).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'アンケートデータファイルを閉じる
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
Next i
End Sub
最終的には統合ファイル内で
A(学校名) B(学校区分) C(広さ) D経営状況 E F
1列 アイウエオ学校 3 500 黒字
2列
といった感じで学校数文行で並ぶようにしたいのです。
上記の式の間違いの指摘、書き方についてアドバイスをください。
No.1ベストアンサー
- 回答日時:
イチイチ開いては閉じるしないマクロの書き方です
Sub macro1()
Application.DisplayAlerts = False
Worksheets("統合").Activate
Range("A:C").ClearContents
Range("A1") = "zzz'C:\Documents and Settings\Administrator\My Documents\作業\[アンケートデータ1.xls]学校名'!" 'B11
Range("A1:A1000").DataSeries Rowcol:=xlColumns, Type:=xlAutoFill
Range("A:A").Replace what:="!", replacement:="!B11", lookat:=xlPart
Range("B1") = "zzz'C:\Documents and Settings\Administrator\My Documents\作業\[アンケートデータ1.xls]基本データ'!" 'D3
Range("B1:B1000").DataSeries Rowcol:=xlColumns, Type:=xlAutoFill
Range("B:B").Replace what:="!", replacement:="!D3", lookat:=xlPart
Range("C1") = "zzz'C:\Documents and Settings\Administrator\My Documents\作業\[アンケートデータ1.xls]基本データ'!" 'D6
Range("C1:C1000").DataSeries Rowcol:=xlColumns, Type:=xlAutoFill
Range("C:C").Replace what:="!", replacement:="!D6", lookat:=xlPart
Range("A:C").Replace what:="zzz", replacement:="=", lookat:=xlPart
Application.DisplayAlerts = True
End Sub
#参考
間違いの指摘:
>…アンケートデータ" & i" .xls
&や”で閉じる”のように、手抜きせずキチンと書き切ります
>Worksheets(学校名).Activate
>Worksheets(統合).Activate
>Worksheets(基本データ).Activate
worksheets("シート名")のように、””で囲って記入します
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
Excelでシートの違うデータでグ...
-
複数シートからデータを拾って...
-
シート削除して同名シート追加...
-
excelの不要な行の削除ができな...
-
エクセルのカメラ機能について
-
(VBAにて)日付でデータを抽出す...
-
VBAで CTRL+HOMEの位置へ移動...
-
EXCEL 複数行のデータを1行にま...
-
エクセルで複数の条件を抽出し...
-
【エクセルマクロ】複数シート...
-
オートフィルタで抽出したデー...
-
LiberaOfficeでグラフを別シー...
-
Excelマクロ 差分抽出の方法が...
-
【エクセル」 特定のセルで条件...
-
ファンモータが作動しない。
-
エクセル:データをシートに飛...
-
Excelでセル内の不特定位置の(...
-
ユーザーフォームで別シートを...
-
EXCELで2つのファイルから重複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
excelの不要な行の削除ができな...
-
Excelで日付変更ごとに、自動的...
-
VBAで CTRL+HOMEの位置へ移動...
-
トランジスタの選び方
-
EXCELで2つのファイルから重複...
-
EXCEL 複数行のデータを1行にま...
-
他のシートの一番下の行データ...
-
オートフィルタで抽出したデー...
-
エクセルのカメラ機能について
-
(VBAにて)日付でデータを抽出す...
-
エクセルで名簿を50音で切り分ける
-
別々のシートの表をピボットテ...
-
Excel 売上管理シートに入力し...
-
Excelマクロ 差分抽出の方法が...
-
EXCEL の表を一行ずつシートに...
-
エクセルVBAで、特定文字から始...
おすすめ情報