excel - 如何使用 VBA 每月/每年应用自动过滤器并根据月/年过滤器在另一个范围内添加值
问题描述
如何使用 VBA 在列中应用过滤器(每月/年),以便与该日期对应的范围将在另一列中接收值为 Month-Yes 的值?
或者在这种情况下,如果名为 CreationDate 的列中的值是 = Jan/2020,那么 Month_Yr 列上的范围将是 01_2020 会更好。
基本 VBA 需要检查 A 列上的日期,以及它是否只在 B 列上写入月份和年份。
我应该使用自动过滤器还是 Vlook?任何想法如何获得我需要的结果?
解决方案
根据您的评论,您可以使用
With Sheet1.Range("B2:B" & last_row)
.Formula = "=TEXT(A2,""m\_yyyy"")"
' I suggest you then delete the formulae
.Value = .Value
End with
请注意,在字符串中添加双引号的方法是使用其中的 2 个(即用另一个双引号转义它),因此该字符串"=TEXT(A2,""m\_yyyy"")"
将导致公式 =TEXT(A2,"m\_yyyy")。
另请注意,下划线字符在 excel 数字格式中具有特殊含义,因此,如果您希望它显示在最终字符串中,则需要使用反斜杠对其进行转义。(我知道这在我上面的评论中看起来像是一个错字,但这很重要)
推荐阅读
- java - 我在这里使用谓词是不好的做法还是额外的?
- php - 将 WordPress 用户电子邮件而不是帐单电子邮件设置为 WooCommerce 结帐字段的默认值
- python - 使用自定义 S3 对象 lambda 服务的 boto3 禁止请求
- reactjs - 用 react.js 创建钢琴,使用状态不清楚
- apache-spark - 为什么我的 delta Lake 表没有收集统计信息(最小值、最大值)?
- c - 如何让 bash/windows 识别 c/库
- progressive-web-apps - 如何将 TWA 用户重定向到选定的起始域?
- elasticsearch - 无痛无法访问对象内的数组
- sql-server - IIS 无法运行查询?
- javascript - 当我点击不同的按钮时如何显示另一个图像?