Excel正在拋出錯誤1004.我做錯了什麼?運行時錯誤「1004」在Excel中使用工作表vba
Private Sub CommandButton2_Click()
Dim x As Variant
x = Worksheets("Details").Range("A1").End(xlDown)
If OptionButton65 = True Then Worksheets("Details").Cells(x, 6) = "5"
End Sub
Excel正在拋出錯誤1004.我做錯了什麼?運行時錯誤「1004」在Excel中使用工作表vba
Private Sub CommandButton2_Click()
Dim x As Variant
x = Worksheets("Details").Range("A1").End(xlDown)
If OptionButton65 = True Then Worksheets("Details").Cells(x, 6) = "5"
End Sub
這是一個非常不好的問題,但我想這個問題是你不指定一個數字X,但單元格的值不是整數。如果你改變它如下,它可能工作。
x = Worksheets("Details").Range("A1").End(xlDown).row
首先,因爲你試圖讓行號,是一個Long
類型變量x
,而不是Variant
。
其次,這取決於你想在A列什麼類型的最後一排找到:
選項1:發現最後一排中間無跳過空白單元格。
選項2:找到最後一行跳過中間的空白單元格。
這兩個選項都在我的代碼中實現,使用你想要的選項。
代碼
Private Sub CommandButton2_Click()
Dim x As Long
With Worksheets("Details")
' option 1 : will get you the last row with data in Column A (without skipping blank cells in the middle)
x = .Range("A1").End(xlDown).Row
' option 2 : will get you the last row with data in Column A (with skipping blank cells in the middle)
x = .Cells(.Rows.Count, "A").End(xlUp).Row
If OptionButton65 = True Then .Cells(x, 6) = "5"
End With
End Sub
就包括實現這一點的另一種方式 - 你可以有也用Range
,而不是它的財產
Private Sub CommandButton2_Click()
Dim x As Range
Set x = Worksheets("Details").Range("F1").End(xlDown)
If OptionButton65 = True Then x.Value = "5"
End Sub
或者乾脆:
Private Sub CommandButton2_Click()
If OptionButton65 = True Then Worksheets("Details").Range("F1").End(xlDown).Value = "5"
End Sub
您的斷言是increcrec噸。 'x = Worksheets(「Details」)。Range(「A1」).End(xlDown)'隱式調用'Range'對象的默認成員,它是'_Default',它將*返回*值*細胞。 – ThunderFrame
編輯。謝謝。 –