0
私はExcelのテーブル(24列、5000行)を持っています。これは正常に動作しますExcel VBA - 複数のフィルタの後に列の値を取得します。
With Worksheets("test")
.AutoFilterMode = False
With .Range("A1:X1")
.AutoFilter
.AutoFilter Field:=2, Criteria1:="2024"
.AutoFilter Field:=3, Criteria1:="T351"
.AutoFilter Field:=4, Criteria1:="ABS5032A"
.AutoFilter Field:=11, Criteria1:="7"
.AutoFilter Field:=12, Criteria1:="8"
.AutoFilter Field:=14, Criteria1:="1002"
.AutoFilter Field:=15, Criteria1:="YES"
.AutoFilter Field:=17, Criteria1:="NO"
.AutoFilter Field:=18, Criteria1:="12"
End With
End With
、私のExcelの表に、私は右を見ることができます:VBAで、私は(現在、私はコードをテストするために、ハードコーディングされcretiria値をしようとしています)criteraに応じて行を見つけるために、このテーブルをフィルタリングします行は表示され、その他は非表示になります。
ここから問題が始まります。私は、表示行の最後の列(列 "X")の値を取得できるようにしたいと思います。これを行うには、私は(私のフィルタの後)にこれを試してみました:私は考え
rsltRng.Copy Worksheets("sheet").Range("A1")
しかし:
Dim rsltRng As Range
Set rsltRng = Worksheets("test").AutoFilter.Range.SpecialCells(xlCellTypeVisible)
私は別のシートにrslRngをコピーすると、それが正常に動作し、右の列はシートにコピーされます別のシートを使用しないようにして、私が望む列の値を直接取得します。
どうすればいいのですか?
ありがとうございました!
ネイラ
ありがとうスティーブ! – Neira
rowNum = .Range( "B1")。End(xlDown).Row - これは 'X1'でなければなりませんが、最終結果は同じです:) –