[英]Data from many workbook in vba - invalid qualifier
我嘗試從同一單元格中的許多工作簿中獲取數據,但出現無效的限定符錯誤
Dim obj() As Workbook
Dim total As Integer
total = 0
Set obj(1) = Workbooks.Open("C:\Users\Riky\Downloads\Compressed\2020\BAGUNUNG\02.06.20\DIANA")
Set obj(2) = Workbooks.Open("C:\Users\Riky\Downloads\Compressed\2020\BAGUNUNG\02.06.20\GULTOM")
Set obj(3) = Workbooks.Open("C:\Users\Riky\Downloads\Compressed\2020\BAGUNUNG\02.06.20\HSR")
Set obj(4) = Workbooks.Open("C:\Users\Riky\Downloads\Compressed\2020\BAGUNUNG\02.06.20\MADI")
total = total + obj(1).Worksheets(1).Cells(33, 5) + obj(2).Worksheets(1).Cells(33, 5) +
obj(3).Worksheets(1).Cells(33, 5) + obj(4).Worksheets(1).Cells(33, 5)
Cells(1, 1) = total
obj.Close
有人可以幫忙嗎?
代替:
obj.Close
和:
obj(1).Close
obj(2).Close
obj(3).Close
obj(4).Close
Module1
。Sub
,正在調用Function
。ThisWorkbook
。編碼
Option Explicit
Function getTotal(Optional ByVal aDate As Date) As Double
Const wsName As Variant = 1 ' can also be e.g. "Sheet1"
Const Address As String = "E33"
Const Extension As String = ".xlsx"
Dim pPeople() As Variant: pPeople = Array("DIANA", "GULTOM", "HSR", "MADI")
Dim pFirst As String
pFirst = "C:\Users\Riky\Downloads\Compressed\2020\BAGUNUNG"
Dim pDate As String: pDate = Format(aDate, "dd.mm.yy")
Dim wb As Workbook, i As Long, Total As Double, wbPath As String
For i = 0 To UBound(pPeople)
wbPath = pFirst & Application.PathSeparator & pDate _
& Application.PathSeparator & pPeople(i) & Extension
Set wb = Workbooks.Open(wbPath)
Total = Total + wb.Worksheets(wsName).Range(Address).Value
wb.Close False
Next
getTotal = Total
End Function
' e.g.:
Sub TodaysTotal()
Const wsName As Variant = "Sheet1"
Const Address As String = "A1"
Dim Total As Double, aDate As Date
aDate = DateSerial(2020, 7, 2)
Total = getTotal(aDate)
ThisWorkbook.Worksheets(wsName).Range(Address) = Total
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.