[[20070426103847]] 『オートフィルタ抽出後データ先頭セルの選択』(JCS) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートフィルタ抽出後データ先頭セルの選択』(JCS)

 以下の操作をVBAでのコードで書きたいのですが、ご教授お願いいたします。

 1行目(項目行)をオートフィルタ行としB列にてオートフィルタをかけます
 その際列Aのデータ先頭セルを選択する。
 フィルタ抽出条件により、表示される行が変わってしまうため 
 マクロ操作で記述しても特定のセル選択しかできません。

 宜しくお願いいたします。


 意味が解らなかったら、捨ててください。 BJ
 With ActiveSheet.AutoFilter.Range
    With .Resize(.Rows.Count - 1).Offset(1)
        MsgBox .Columns(1).SpecialCells(xlCellTypeVisible).Cells(1).Address
    End With
 End With

 ご教授ありがとうございます。
 以下の様な記述をしておりますが
 VBA初心者のため何処にどのように入れたらよいかわかりませんでした
 大変恐縮ではございますが詳しく教えていただければ幸いです。
 宜しくお願いします。

 Sub 内製品注文()
    Range("B2").Value = "内製品注文書"
    Range("A4").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.ClearContents
    Sheets("使用数量").Select
    Range("A1:Q1").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=17, Criteria1:="1"
    Selection.AutoFilter Field:=10, Criteria1:="1"
    Selection.AutoFilter Field:=10, Criteria1:="●"
    Range("A1").Select
    ActiveCell.Offset(1).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("注文").Select
    Range("A4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("使用数量").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Sheets("注文").Select
 End Sub

多くの皆様の参考になるよう、超わかりやすく解説します。

下記のセル選択をすることで、『オートフィルタ抽出後データ先頭セルの選択』ができます。

    Range("A2:A" & 最終行 + 1).SpecialCells(xlCellTypeVisible).Areas(1).Cells(1).Select

内容は....
A列の明細開始行から最終行の次の行(空欄行)までの可視セルのうち、1番目の選択範囲「Areas(1)」の1番目セルを選択します。
最終行の次の行(空欄行)までを範囲に含めるのは、抽出件数がゼロになった場合のことを考慮しているためです。
ちなみに、マクロ処理の画面動作を抑止している場合は、セル選択の実施直前に画面動作を復活させてください。

    Application.ScreenUpdating = True    '画面動作の復活

最終行の取得方法についても記載しておきます。
一番簡単な方法は、必ず入力のある列(必須項目の列)で、最下行からEnd(xlUp)による最終入力セルまでのジャンプ移動を利用する方法です。

    Range("A65536").Select               '必須項目のA列のシート最下行を選択
    Selection.End(xlUp).Select           '入力のあるセルまでジャンプ
    最終行 = Selection.Row               '選択セルの行数を取得

以上、M-ITO による解説でした。


コメント返信:

[ 一覧(最新更新順) ]


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