プロが教えるわが家の防犯対策術!

いつもお世話になっております。

複数のExcelブックの可視セルのみを、別のブックの1つのシートに統合することはできるのでしょうか?

やりたいことは、始めに複数人に同一ファイルを配布し、1つのフォルダにそれを纏め、各担当者ごとでフィルタを掛けた部分(可視セル)だけを1つのブックの2シート目(1シート目はAccessにリンクさせています)に纏めたいと思っております。


ファイルは、1行目に集計・2行目に各項目があり、必要データは3行目からです。

VBA初心者の為、どなたかおわかりになる方いらっしゃいますでしょうか?
宜しくお願いいたします。

A 回答 (1件)

>やりたいことは、始めに複数人に同一ファイルを配布し、1つのフォルダにそれを纏め、各担当者ごとでフィルタを掛けた部分(可視セル)だけを1つのブックの2シート目(1シート目はAccessにリンクさせています)に纏めたい



どこからどこまでをあなたが手で準備し、どこから先をマクロにやらせたいのですか。
状況が不明なので、各ブックに内容不明のフィルタをかけて所定のフォルダに集めておく所まで、あなたが事前に準備することにします。

準備:
謎の所定のフォルダはとりあえずc:\test\とします
集めたブックはシートが1枚しか無いものとします
各ブックにはあなたがフィルタをかけた状態で、保存しておきます

マクロの仕事は、
1.c:\test\に入っているブックを1冊ずつ順繰り開き、
2.その1枚目のシートの
3.オートフィルタで絞り込まれている範囲をコピーして
4.シート2の上から順に貼り付けていく
ことにします


#といった段取りを、ご相談の状況を持ってるあなたがまず考えて下さい。

sub macro1()
 dim myPath as string
 dim myFile as string

 mypath = "c:\test\" ’あなたの実際に合わせて正しく記入する
 myfile = dir(mypath & "*.xls*")
 on error resume next

 do until myfile = ""
 ’ブックを開いてコピーする
  workbooks.open mypath & myfile
  activeworkbook.worksheets(1).autofilter.range.offset(1).copy _
   destination:=thisworkbook.worksheets(2).range("A65536").end(xlup).offset(1)

 ’作業を終えたら閉じて次のブックを探す
  workbooks(myfile).close false
  myfile = dir()
 loop
end sub


言わずもがなですが、マクロは集約ブックの標準モジュールに登録します。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!