• 締切済み

必要項目(列)データに絞った抽出貼付で。。

別ブック・シート (一覧) 日付 - 項目1 - 項目2 - 項目3 - 項目4 - 項目5 - 項目6 ↓ 上記のフォーマットで日付データ(連続)で並んでいます これを読み込み、一致する日付データ行でフィルタを掛け、 日付と必要項目(列)データに絞った印刷用シートとして 今開いているブックに作成したいのですが、 当該ブック・シート (印刷用) 日付 - 項目2 - 項目5 - 項目6 ↓ -  項目2合計 - 項目5合計 - 項目6合計 その際、抽出データ項目の各合計も行末尾に追加したい --------------------------- インプットボックス入力日付でフィルタを掛けコピーされたデータ Worksheets("一覧").AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy この場合、そのまま貼付は PasteSpecial xlPasteAll ですが、 必要項目(列)だけ貼付はどのようにすればいいのでしょうか また、平均30行ほど抽出になるので印刷シートの抽出項目合計セルは、 30行以降にSUM関数を埋め込んでおけば問題はありませんか? (毎日印刷するので上書きが心配です) 最近、行単位での抽出貼付、シート保存を覚えたばかりで、 なんとかそれまでできますが、個別列の抽出貼付で困っています。 SpecialCellsの他に方法はありますか? ご教示願います。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>この場合、そのまま貼付は PasteSpecial xlPasteAll ですが、 >必要項目(列)だけ貼付はどのようにすればいいのでしょうか 新規Bookのシート1のセルA1~G5位にオートフィルタが出来そうなデータを並べる。 手動でオートフィルタをかけてみる。 そしたら実行。 Sub try() Dim r As Range Dim rr As Range With Worksheets("Sheet1") 'セルA1からつながっているデータ範囲の中で可視セルを取得。 Set r = .Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible) r.Select MsgBox r.Address(0, 0) '上記で取得した範囲のうち、B・D・F列と重なる範囲を取得。 Set rr = Intersect(r, .Range("B1,D1,F2").EntireColumn) rr.Select MsgBox rr.Address(0, 0) '取得した範囲をシート2のA1・A20にコピペする。 r.Copy Worksheets("Sheet2").Range("A1") rr.Copy Worksheets("Sheet2").Range("A20") End With End Sub 例えるのなら、こんな感じでしょうか。

zaikoman3
質問者

お礼

参考に頑張ってみます!

すると、全ての回答が全文表示されます。