當試圖將簡單的一列複製到數組中並返回到另一列時,我得到「類型不匹配」。這裏是我的代碼(只是相關位):我在Excel和VBA中得到一個數組「類型不匹配」
Sub CopyRangesViaArrays()
'Declaring variables
Dim srcWkb As Workbook
Dim destWkb As Workbook
Dim srcYears() As Double
Dim destYears As Range
Dim L As Long
Set srcWkb = Workbooks("Arrivals.xlsx")
Set destWkb = Workbooks("OvernightStays.xlsm")
L = srcWkb.Worksheets.Count
z = 0
'Looping through src Workbook sheets
For C = 1 To L
ReDim srcYears(26, 0)
srcYears = srcWkb.Worksheets(C).Range("A3:A28")
Set destYears = destWkb.Worksheets(10).Range("A2").Offset(z, 0)
destYears.Value = srcYears
z = z + 26
Next C
正如你可能看到的,我也有通過採取到一個數組年數抵消了目標區間的麻煩(有43個表格,因此會有被43個不同的srcRanges佔用到一個數組中並寫入destRange)。
非常感謝!
編輯: 我也試過這種按指令
Dim srcYears As Range
Dim destYears As Range
休息在這行:
destYears.Resize(26, 1).Value = srcYears.Value
我試圖從問題的行省略了最後。價值 - 仍然沒有。
沒有錯誤發生在哪一行? – BruceWayne
第15行,同時考慮到評論。我嘗試給數組賦值的範圍「srcYears = srcWkb.Worksheets(c)...」 –
不要'ReDim'數組? –