我有一個問題,在嘗試將陣列輸出到范圍時出現“應用程式定義或物件定義錯誤”。
Worksheets("Log").Range(.Cells(MnthCount 4, 6), .Cells(MnthCount 4, MnthDayCount 5)) = FrstLtr
也就是代碼,陣列FrstLtr的長度是 31 個值。MnthCount是2,MnthDayCount是31。范圍內應該有足夠的空間來輸出陣列嗎?這里有什么問題?
uj5u.com熱心網友回復:
將陣列值復制到作業表
快速修復
With Worksheets("Log")
.Range(.Cells(MnthCount 4, 6), _
.Cells(MnthCount 4, MnthDayCount 5)).Value = FrstLtr
End With
明白此事
Dim cCount As Long
cCount = (MnthDayCount 5) - (6) (1) ' 5 - 6 1 = 0
cCount = MnthDayCount
調整大小連接
Worksheets("Log").Cells(MnthCount 4, 6).Resize(, MnthDayCount).Value = FrstLtr
Worksheets("Log").Cells(MnthCount 4, 6).Resize(, cCount).Value = FrstLtr
陣列調整大小
With Worksheets("Log").Cells(MnthCount 4, 6)
.Resize(, UBound(FstrLtr) 1).Value = FrstLtr ' 1D zero-based
.Resize(, UBound(FstrLtr)).Value = FrstLtr ' 1D one-based
.Resize(, UBound(FstrLtr, 2) 1).Value = FrstLtr ' 2D zero-based
.Resize(, UBound(FstrLtr, 2)).Value = FrstLtr ' 2D one-based
End With
一個常見的場景
Dim wb As Workbook: Set wb = ThisWorkbook
Dim dws As Worksheet: Set dws = wb.Worksheets("Log")
With dws.Cells(MnthCount 4, 6)
.Resize(, cCount).Value = FrstLtr
End With
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/454702.html
上一篇:編碼Enter鍵
