• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オートフィルター後の見出し以外をコピー)

Excel2003のオートフィルター後の行をコピーする方法

このQ&Aのポイント
  • Excel2003を使用している場合、オートフィルター後の見出し以外の行をコピーする方法を知りたいです。特に、見出しと1行しかない場合に正しくコピーする方法を知りたいです。
  • 以下のコードを使用することで、Excel2003でオートフィルター後の行をコピーすることができます。 With ThisWorkbook.Worksheets("テスト").Range("A1").CurrentRegion .Offset(1, 1).Resize(.Rows.Count - 1, 3).Copy _ Destination:=ThisWorkbook.Worksheets("TEST").Range("A" & m) .Offset(1, 4).Resize(.Rows.Count - 1, 1).Copy _ Destination:=ThisWorkbook.Worksheets("TEST").Range("D" & m) End with
  • OffsetとResizeを使うことで、見出し以外の行のB列、C列、D列、F列を"TEST"シートにコピーすることができます。具体的なコードは以下の通りです。 With ThisWorkbook.Worksheets("テスト") .Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select Selection.Copy ThisWorkbook.Worksheets("フィルタ用").Range("A" & m).PasteSpecial Excel.Application.CutCopyMode = False End with

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

オートフィルタを取り付けるところから。 sub macro1()   m = ■■   with thisworkbook.worksheets("テスト")   .range("A:F").autofilter field:=■■, criteria1:=■■   with .autofilter.range.offset(1)    .columns(2).copy destination:=thisworkbook.worksheets("TEST").cells(m, "A")    .columns(3).copy destination:=thisworkbook.worksheets("TEST").cells(m, "B")    .columns(4).copy destination:=thisworkbook.worksheets("TEST").cells(m, "C")    .columns(6).copy destination:=thisworkbook.worksheets("TEST").cells(m, "D")   end with  end with end sub 他にも application.intersect(worksheets("テスト").autofilter.range.offset(1), worksheets("テスト").range("B:B")).copy なんて方法もあります。

satoron666
質問者

お礼

回答ありがとうございます! おぉおお、こんな方法があるのですね! 回答を頂くまでの間に ------------------ With ThisWorkbook.Worksheets("テスト").Range("A1").CurrentRegion .Offset(1, 1).Resize(.Rows.Count - 1, 3).SpecialCells(xlCellTypeVisible).Copy _ Destination:=ThisWorkbook.Worksheets("TEST").Range("A" & m) .Offset(1, 5).Resize(.Rows.Count - 1, 1).SpecialCells(xlCellTypeVisible).Copy _ Destination:=ThisWorkbook.Worksheets("TEST").Range("D" & m) Excel.Application.CutCopyMode = False 'クリップボードの内容クリア End With --------------------------------------- こういった方法を考えておりました。 とても分かりにくくて、残念ですorz でも、keithin様の回答してくださったプログラムを見たら 一発で何がしたいか分かりましたし、 何より1文が短いです! ありがとうございました^^ 使わせて頂きます!

関連するQ&A

専門家に質問してみよう