1
我試圖循環瀏覽工作簿,獲取一些值並將其存儲在其他工作表中。以下是我的代碼。 Keepp獲得VBA對象變量或使用塊變量未設置錯誤。「對象變量或未設置塊變量」
有人可以幫我找出哪裏錯了嗎?
Sub analysis()
Dim i As Integer
Dim ws As Worksheet
For i = 4 To 197
ws = ActiveWorkbook.Sheets(i)
ws.Cells(1, 9) = ìstandardevî
ws.Cells(2, 9) = Application.WorksheetFunction.StDev(Range("D3:D34"))
ActiveWorkbook.Sheets(4).Cells(2, 1) = ws.Cells(2, 1)
Sheets(4).Cells(2, 2) = ws.Cells(3, 8)
Sheets(4).Cells(2, 3) = ws.Cells(2, 9)
Next i
End Sub
在VBA中,這不是一個基本類型任何變量(數,字符串,日期等)必須是「SET」,而不是僅分配給。我經常在一段時間後返回VBA時忘記這一點。 – JamesFaix
您也可以像這樣「Dim mySheet as Worksheet:Set mySheet = ActiveWorkbook.Sheets(1)」來執行「內聯」設置。這對你當前的循環情況沒有幫助,但可以很方便。 – JamesFaix
@CarlFriedRiceGauss只有對象變量必須被設置,並且只有當變量被調暗時沒有使用New關鍵字。你的主張過於寬泛。 –