excel - 根据单元格是否包含另一个工作表中单元格的值来过滤表格
问题描述
我在 Sheet1 中有 Tabel1,其中包含生产存储桶的信息。存储桶编号的一个示例是“ APG-1710 -072621 - A3 ”,其中“072621”是日期,粗体部分会发生变化。
我在名为 StandardWork "=Today()" 的表格中的单元格 A2 中有格式为 mmddyy 的日期
当 Table1 是单元格中数据的一部分时,如何按日期过滤?
我的尝试:
Sub Filter_Bucket()
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = StandardWork.Range("A2").Value Then
Sheet1.Range("Table1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=StandardWork.Range("A2").Value
End If
End Sub
请告知我是否走错了方向,并告诉我在这种情况下你会怎么做。
解决方案
当您使用高级过滤器时,您需要有一个标准。因为我不知道您在哪里创建了条件,所以我使用代码创建它并在过滤后将其清除。
这是虚拟的“桌子”
将此代码放在工作表模块“StandardWork”中
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2")) Is Nothing And IsDate(Range("A2")) Then
' Transform date to a string
Dim vDate As String: vDate = CStr(Format(Target.Value, "mmddyy"))
' Create the criteria
Sheet1.Range("D1").Value = "myDate"
Sheet1.Range("D2").Value = vDate
' Filter data on sheet1
Sheet1.Range("A1").CurrentRegion.AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=Sheet1.Range("D1:D2")
' Clear the criteria
Sheet1.Range("D1:D2").ClearContents
End If
End Sub
推荐阅读
- javascript - 使用 Jasmine Sequelize TypeError 进行测试:_models2.default.count 不是函数
- algorithm - 寻找具有 o-small(n) 复杂度的第一个较大整数的算法
- java - 为什么无法在 Java 中使用 if 语句构建二进制信号量
- php - 使用记录值作为 Twig 函数参数
- java - 基于spring jpa中的外键关联更新表中的值
- c# - 在 Web 应用程序中使用智能卡对 PDF 进行数字签名
- java - 简单的 Java IRC 客户端
- r - 在 R Markdown 文档中手动缩进引用
- java - 如何使用 Java 从看起来像“key”的 json 对象中提取值:[10,12,56]
- php - MYSQL 用 select 插入值