excel - 如何在一列中查找文本值并将值复制/填充到新列,直到找到第二个值,然后使用 vba 重复新值
问题描述
我有一个多页报告,其中包含每页顶部的员工姓名。我想创建一个宏来复制他们每天销售的名称。每个员工的天数可能会有所不同,因此我需要能够确定他们在报告中的天数范围,并为每一行复制他们的姓名。
在此示例中,我需要在从 4/1 到 4/5 的每一行中复制 Johns 的姓名,Debbie 的姓名表示她有销售的日子,Mary 的姓名表示她有销售的日子。
我怎样才能做到这一点?
助理每周销售
Sales for John
日期 销售额 美元
4/1/2019 100
4/2/2019 350
4/3/2019 200
4/4/2019 400
4/5/2019 500
Sales for Debbie
日期 销售额 美元
2019 年 4 月 1 日 250
2019 年 4 月 3 日 450
2019 年 4 月 5 日 275
Sales for Mary
日期 销售额 美元
2019 年 4 月 1 日 600
2019 年 4 月 2 日 450
2019 年 4 月 3 日 550
2019 年 4 月 4 日 700
解决方案
插入新列 B,然后在数据的持续时间内使用此公式,最后将公式恢复为其返回值。
=IF(A2="", "", INDEX(E:E, MATCH("zzz", E$1:E2)))
代码:
Option Explicit
Sub formatTXTfile()
With Worksheets("sheet1")
'create new second column
.Range("B:B").EntireColumn.Insert
'reference data area
With .Range(.Cells(2, "B"), .Cells(.Rows.Count, "A").End(xlUp).Offset(0, 1))
'populate with dynamic lookup formula
.Formula = "=if(A2="""", """", index(E:E, match(""zzz"", E$1:E2)))"
'revert the formulas to the formulas' results
.Value = .Value
End With
End With
End Sub
推荐阅读
- amazon-web-services - Cloudformation 发送参数以启动配置启动脚本
- javascript - 在 React 模块中测试 SweetAlert2 的 preConfirm 钩子
- python - 编辑列的最大长度以在保存时以 vscode 格式换行
- javascript - 如何在 React Native 中覆盖父样式
- apache-spark - Spark (v 2.3.2) 数据框正在读取 ORC 文件中的所有列作为字符串类型。这是正常行为吗?
- python - 如何在 SQLAlchemy ORM 中创建视图?
- c# - 消息框退出时如何停止后台工作程序?
- ios - Deinit 方法在其实例初始化并且委托设置为某个视图控制器时自动调用
- php - foreach,差分数组的奇怪问题
- ios - 同一节内单元格之间的可变空间