每天我都需要将今天的期初余额与前一天的期末余额相关联,我已经记录了这样的宏
Range("D5").Select
ActiveCell.FormulaR1C1 = "='27.07.18'!RC[6]"
Range("D5").Select
Selection.AutoFill Destination:=Range("D5:E5"), Type:=xlFillDefault
Range("D5:E5").Select
Selection.AutoFill Destination:=Range("D5:E86"), Type:=xlFillDefault
Range("D5:E86").Select
Range("D82").Select
这可以完成工作,但是每天我都要给文件名加上今天的日期(因为日期是我的工作表名称)
我可以在FormulaR1C1中使用可变的工作表名称吗?
答案 0 :(得分:3)
尝试
Dim s As String
s = Format$(DATE,"dd.mm.yy")
ActiveCell.FormulaR1C1 = "='" & s &"'!RC[6]"
假定工作表已经存在此名称。否则首先您需要
Sheets.Add
Activesheet.Name = s
并且您需要让ActiveCell实际引用原始单元格,因为新添加的工作表可能会改变它。
*注意::如果前一天,请使用s = Format$(DATE-1,"dd.mm.yy")
答案 1 :(得分:0)
您可以基于字符串var。
dim ws1 as string, ws2 as string
ws1 = "26.07.18"
ws2 = "27.07.18"
with worksheets(ws2)
.Range("D5:E86").FormulaR1C1 = "='" & ws1 & "'!RC[6]"
end with
也许您每天都将工作表添加到队列的末尾。
with worksheets(worksheets.count)
.Range("D5:E86").FormulaR1C1 = _
"='" & worksheets(worksheets.count-1).name & "'!RC[6]"
end with