【问题标题】:Select a column within a Filtered range在过滤范围内选择一列
【发布时间】:2021-04-20 06:11:06
【问题描述】:

我试图在过滤范围内选择一列,但它一直选择第一个单元格。我已经把表格过滤掉了,只需要选择实际的列(E列),减去标题。

这是我目前拥有的:

            'After sorting, we will end up with several data rows for
            'which we will need to sort from. Now that we have a filtered table,
            'we would then need to created a variable for our new filtered range
            Dim DeliverableTablefltrdRng As Range
            Set DeliverableTablefltrdRng = rRange.SpecialCells(xlCellTypeVisible)
            
            'Now that we have all these sorted, we will then need to
            'verify whether the target finish date is within the start and end date
            
            Dim WorkOrderRange As Range

            Set WorkOrderRange = DeliverableTablefltrdRng.SpecialCells(xlCellTypeVisible).Range("E2:E" & Cells(Rows.Count, 1).End(xlUp).Row).Select

【问题讨论】:

  • 您是否在寻找类似的东西:ActiveSheet.Range("$E$2:$E$" & ActiveSheet.Cells(1048576, 9).End(xlUp).Row).Autofilter 字段: =1, Criteria1:="运行"

标签: excel vba


【解决方案1】:

无需事先提取可见单元格范围。请测试下一个方法:

Sub testSelectVisColRange()
  Dim sh As Worksheet, lastR As Long, WorkOrderRange As Range
  
 'your code filterring...
  Set sh = ActiveSheet
  lastR = sh.Range("E" & rows.count).End(xlUp).row
   Set WorkOrderRange = sh.Range("E2:E" & lastR).SpecialCells(xlCellTypeVisible)
   WorkOrderRange.Select
End Sub

代码应该有一种(简单)的方式来处理在没有任何可见单元格的情况下引发的错误,但这只是一个示例,显示了要遵循的方式......

【讨论】:

  • @RawrRawr7:我上面的代码没有解决你的问题吗?
猜你喜欢
  • 1970-01-01
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
相关资源
最近更新 更多