筛选数量和只显示必需的值 vba

分享于 

3分钟阅读

电脑

 

问题:

我有一个输出,其中的金额被过滤到最高。

我只是想知道是否只有 100K 和上面的方法,然后排除低于 100的数据。

示例:这是我的数据


Name | Amount


Person 1 | 500,000


Person 2 | 400,000


Person 3 | 350,000


Person 4 | 200,000


Person 5 | 150,000


Person 6 | 90,000


Person 7 | 80,000


...



所需输出将如下所示


Name | Amount


Person 1 | 500,000


Person 2 | 400,000


Person 3 | 350,000


Person 4 | 200,000


Person 5 | 150,000



将排除小于 100K的值。

我不知道如何编写或者添加这里条件的条件。 需要帮助谢谢 !


回答 1:

可以通过打开自动筛选或者将数据转换为Excel表对象,然后选择相应的筛选器设置来实现。 如果列表中添加了更多数据,则必须重复筛选和排序。

如果要自动应用筛选和排序,可以使用电源查询加载数据。在电源查询中执行筛选和排序。 如果原始列表中添加了更多数据,那么你可以简单地刷新电源查询。 这不需要 VBA,工作簿不需要启用宏。

电源查询可以用作 Excel 2010和 2013中的免费添加,并且内置于以后版本为"获取和转换"的数据功能区中。


回答 2:

如何使用Power查询获得结果?

从表/DATA- Filter-转到 DATA-,关闭并加载:

enter image description here


回答 3:

enter image description here


Sub FilterAndCopy()



 Dim xStr As String


 Dim xAddress As String


 Dim xRg As Range


 Dim xCRg As Range


 Dim xSRg As Range


 On Error Resume Next



 xAddress = ActiveWindow.RangeSelection.Address



 Set xRg = Application.InputBox("Select Range To Filter:","Filter Range", xAddress,,, , , 8)


 If xRg Is Nothing Then Exit Sub



 Set xCRg = Application.InputBox("Select Criteria range:","Filter Range","",,, , , 8)


 If xCRg Is Nothing Then Exit Sub



 Set xSRg = Application.InputBox("Select Output Range:","Filter Range","",,, , , 8)



 If xSRg Is Nothing Then Exit Sub


 xRg.AdvancedFilter xlFilterCopy, xCRg, xSRg, False


 xSRg.Worksheet.Activate


 xSRg.Worksheet.Columns.AutoFit



End Sub



工作方式:

  • 将这里代码作为标准模块以英镑的方式粘贴 & 。
  • 在单元格( 如屏幕快照所示) 中写入条件( 筛选数据) 。

备注:

选择标准选择两个,列标题( 在屏幕快照中有数据 ) 和( > 100000 ) 下面的单元格。

  • Macro运行
  • 以英镑为单位响应 Input,并以 finish 。


disp  Require  Required  VBA  
相关文章