我在一个单元格中有一个带有公式的excel文件:
=[file1_January-2015.xls]Sheet1!A1+[file2_January-2015.xls]Sheet1!A1
我需要编写一个宏,提取January-2015
部分并将其更改为......下个月。因此,如果有December-2015
,则应将其更改为January-2016
。
我不知道如何提取公式的一部分并将其复制到变量...
答案 0 :(得分:0)
我在回答自己。
我差点写了我需要的东西。它适用于一个月是数字“01”,“02”,......,“12”。因此,当公式为=[file1_01-2015.xls]Sheet1!A1
时,它会起作用
Sub change_path_in_a_formula()
Dim cell As String
cell = ActiveCell.FormulaR1C1
Dim month As Integer
month = Mid(cell, 9, 2)
Dim change_year As Byte
If month = 12 Then change_year = 1
Dim year As Integer
year = Mid(cell, 12, 4) + change_year
month = (month Mod 12) + 1
Dim zero_month As String
If month < 10 Then zero_month = "0"
ActiveCell.FormulaR1C1 = _
Left(cell, 8) & zero_month & month & _
Mid(cell, 11, 1) & _
year & Mid(cell, 16, Len(cell) - 15)
End Sub