- ベストアンサー
※ 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
- みんなの回答 (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 なんて方法もあります。
お礼
回答ありがとうございます! おぉおお、こんな方法があるのですね! 回答を頂くまでの間に ------------------ 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文が短いです! ありがとうございました^^ 使わせて頂きます!