我一直在处理带有一堆宏/公式的excel文件,最重要的是计算每个期间的NETWORKDAYS,但是我无法将假期存储在excel工作簿中,因为该文件是要上传到主服务器,所以我要做的是在存储所有假期的同一文件夹上创建一个外部工作表。
因此,我尝试过以这种方式导入文件,但即使出现工作表的确切文件路径,我仍会收到错误9。
Option Explicit
Sub duplicadorVac()
'main file stored in the same folder
Dim planillaDestino As Worksheet
Set planillaDestino = ThisWorkbook.Worksheets("hojaDest")
Dim planillaFuente As Worksheet
Set planillaFuente = ThisWorkbook.Worksheets("hojaFuente")
'holidays worksheet stored in the same folder
Dim planillaFeriados As Workbook
Dim hojaFeriados As Worksheet
Set planillaFeriados = Workbooks("C:\...\arch_pba\planillaFeriados.xlsm")
Set hojaFeriados = planillaFeriados.Worksheets("hojaFeriados")
'AND FUNCTIONS AND CODE GO HERE
'MAIN TASK
planillaDestino.Range("F2:F" & filaIndiceDestino).Formula = "=NETWORKDAYS(D2,C2,[planillaFeriados.xlsm]hojaFeriados!$A$2:A)" ' total days
End Sub
我希望可以设置一个简单的路径,例如“ ... \ excel_pba \ planillaFormula.xlsm”(如果恰好从原始文件夹中移出)到存储的假日,然后按原样运行公式。
答案 0 :(得分:1)
您需要使用Workbooks.Open
打开工作簿。封闭的工作簿不是Workbooks
集合的成员,因此会出现Subscript out of range
错误。
Set planillaFeriados = Workbooks.Open("C:\...\arch_pba\planillaFeriados.xlsm")