excel - 如何在vba中使用动态变量而不是工作表名称

标签 excel vba dynamic-variables

每天我都需要将今天的期初余额与前一天的期末余额联系起来,我记录了一个这样的宏

    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 中使用工作表名称的变量吗

最佳答案

尝试

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")

关于excel - 如何在vba中使用动态变量而不是工作表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51593024/

相关文章:

excel - 从 Excel VBA 中的数字中去除连字符

excel - VBA - 运行时错误 424 : object required

vba - 如何在 MS-Access VBA 中将窗体背景设置为十六进制颜色

PHP 获取字符串并检查该字符串是否作为变量存在

Perl 变量值作为另一个变量名

python-3.x - 根据动态的、递增的日期变量创建多个字典

python - 调用 Python 文件后 Excel CSV 输出出现错误

java - 为什么 Apache POI OPCPackage close() 方法不会保存/写入内容以打开可写文件?

vba - 从工作表函数传递范围时获取单元格内部颜色失败

vba - 运行时错误 '1004' Range.boarders