首页 > 解决方案 > 自动过滤后的Excel VBA单元格引用

问题描述

我有 3 批运行良好的自动过滤器。在过滤器之后,我需要知道如何引用一个单元格(在这种情况下是 D 列中的第一个单元格),因为一旦过滤,这个特定的列在所有行中都是通用的。

我如何引用这个并将这个值分配给变量 xCellD?

Dim xcount As Integer
Dim ws1 As Worksheet
Dim xCellD As String


Set ws1 = Sheets("Main")


On Error Resume Next

'ProjectID
Selection.AutoFilter Field:=2, Criteria1:=TextBox1.Value

'City
Selection.AutoFilter Field:=6, Criteria1:=ComboBox1.Value

'Location Type
Selection.AutoFilter Field:=5, Criteria1:="Test"

xcellD = the very first cell in Column D

标签: vbaexcel

解决方案


您可以通过……获得价值。</p>

  1. ResizeOffset列 D 排除标题。
  2. 用于SpecialCells(xlCellTypeVisible)获取所有可见单元格
  3. 访问第一个可见单元格

例如使用

xcellD = Columns("D").Resize(Columns("D").Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Cells(1).Value

推荐阅读