|
▼VBA初心者 さん:
こんにちは
Range(CalNo) の正体(?)が不明ですがリスト内のセル(おそらく左上隅?)でしょうね。
で、
Set tbl = Range(CalNo).CurrentRegion.SpecialCells(xlCellTypeVisible)
これは、表示された領域を取得するわけですが、その領域は、非表示領域が間にありますから
飛び飛びの領域ですね。(Areaが複数はいっています)
で、 tbl.Rows.Count とやると、その最初の領域(タイトル行を含む最初の連続した領域)の行数になります。
なので、仮に最初に表示された行が2行目でなければ最初の領域はタイトル行のみになりますので
行数は1ということになります。
もし、おやりになりたいことがタイトル行をのぞいた抽出データをコピペするということなら
With ActiveSheet
Intersect(.AutoFilter.Range, .AutoFilter.Range.Offset(1)).Copy Sheets("目的のシート名").Range("目的のセル")
End With
こんなコードでいけると思いますが。
|
|