我有一个多页报告,其中每页顶部都包含员工姓名。我想创建一个宏,每天销售时都会复制其名称。每个员工的天数可以有所不同,因此我需要能够确定他们在报表上的天数范围,并为每行复制其名称。
在此示例中,我需要在从4/1到4/5的每一行中复制约翰的名字,黛比的名字代表她销售的日子,玛丽的名字代表她销售的日子。
我该怎么做?
按联系人的每周销售额
Sales for John
日期销售美元
2019年4月1日100
2019年4月2日350
2019年4月3日200
2019年4月4日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
4/4/2019 700
答案 0 :(得分:1)
插入新列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
答案 1 :(得分:0)
使用图像-这将接近您想要的...没有VBA,只有2个公式-手动插入列后
H3单元格的公式
=K3
然后,您可能希望使其成为白色背景上的白色墨水以将其隐藏。
H4单元格的公式
=if(isblank(I4),If(isblank(J4),K4,H3),H3)
然后复制公式,将其沿H列的其余部分计算
您会在H10中看到不需要的文字-但可以轻松解决该问题