[[20240405123349]] 『VBA フィルターした後の可視セルのみ抽出&転記』(Thomas) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『VBA フィルターした後の可視セルのみ抽出&転記』(Thomas)

主題の件、下記の様なデータの0以外をフィルターし、フィルター後の可視セルのみを抽出&転記したいです。Copyメソッドでは可能なのですが、変数を使ったやり方をしたく、以下の様なコードを書いたのですがうまくいかず、恐れ入りますが、どのようにしたらよろしいかご教示頂けます様お願い致します。

(元データ)
A1 : みそ
A2 : 0
A3 : しょうゆ
A4 : 0
A5 : しお

(やりたい事)
A6 : みそ
A7 : しょうゆ
A8 : しお

<下記copy pasteメソッドではできました>
Sub sample()
Range(Cells(1, 1), Cells(5, 1)).AutoFilter 1, "<>0"
Range(Cells(1, 1), Cells(5, 1)).CurrentRegion.Copy
Range(Cells(6, 1), Cells(10, 1)).PasteSpecial
Paste = xlPasteAll
End Sub

<下記変数へ格納ではできませんでした>
Sub sample()
Dim m
Range(Cells(1, 1), Cells(5, 1)).AutoFilter 1, "<>0"
m = Range(Cells(1, 1), Cells(5, 1)).SpecialCells(xlCellTypeVisible)
Range(Cells(6, 1), Cells(10, 1)) = m
End Sub
このコードについてご教示お願い致します。

< 使用 Excel:Excel2013、使用 OS:unknown >


 >変数を使ったやり方をしたく

??
直接のままでいいじゃん
(たぶん) 2024/04/05(金) 13:19:40


 >m = Range(Cells(1, 1), Cells(5, 1)).SpecialCells(xlCellTypeVisible)
 とすると、対象範囲が複数のAreaに分かれた(飛び地のような)場合、
 最初のAreaだけが取り込まれる仕様です。

 前者を使うのが良いと思います。(Paste = xlPasteAllというのが変ですが。それは無くてもよいです。)
(xyz) 2024/04/05(金) 13:26:54

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.