|
l罗老师,您好!我在学习你编写的那本教材发现有些案例运行不了,能看懂的知道怎么改的我已经改了,但是下面的案例我不知道怎么修改,求罗老师指教:
是关于把不同工作簿中的制定工作表汇总在一个新建的工作簿中的程序,但是每次运行到第三行“ .FormulaArray = "='" & 路径 & "\[" & 文件 & " ]" & 工作表 & "\!" & 单元格”的时候,会出现“不能设置类range的formulaarray属性”,不知道怎么调试,能帮我解答一下吗?
Sub 取值(路径 As String, 文件 As String, 工作表, 单元格 As String)
With Range(单元格)
.FormulaArray = "='" & 路径 & "\[" & 文件 & " ]" & 工作表 & "\!" & 单元格
.Value = .Value
End With
End Sub
Sub mergeworkbook()
Application.ScreenUpdating = False
Dim foldername As String, 工作簿名 As String, Arr() As String, 工作簿数量 As Integer, item As Integer
工作簿名 = Dir("D:\Desktop\生产表\*.xls")
While 工作簿名 <> ""
工作簿数量 = 工作簿数量 + 1
ReDim Preserve Arr(1 To 工作簿数量)
Arr(工作簿数量) = 工作簿名
工作簿名 = Dir
Wend
If 工作簿数量 = 0 Then Exit Sub
Workbooks.Add
If Application.SheetsInNewWorkbook < 工作簿数量 Then
Sheets.Add , , 工作簿数量 - Application.SheetsInNewWorkbook
End If
For item = 1 To Sheets.Count
Sheets(item).Name = Replace(Arr(item), ".xlsx", "")
Sheets(item).Select
取值 "D:\Desktop\生产表", Arr(item), "三月", "A1:B10"
Next item
Application.ScreenUpdating = True
End Sub |
|