2012-06-08 85 views
2

我在Sheet2上的按鈕的單擊事件中編寫了以下代碼行。但是這給我Object Defined or Application Defined錯誤。如果我刪除Worksheets("Sheet1")那麼它將正常工作,但它選擇Sheet2's範圍。我想要的範圍從Sheet1應用程序定義或對象定義vba中的錯誤

所以請幫助我。

Worksheets("Sheet1").Range(Cells(2, 1), Cells(lastrow, 5)).Sort _ 
Key1:=Range("E2"), Order1:=xlDescending 

回答

1

這是因爲您的Cells未完全定義。

試試這個

With Worksheets("Sheet1") 
    .Range(.Cells(2, 1), .Cells(lastrow, 5)).Sort _ 
    Key1:=.Range("E2"), Order1:=xlDescending 
End With 
-3

上述解決方案肯定sovles問題。 但是,只需在頂部添加單行也可以正常工作。

Sheets("Sheet1").activate 
-2

我也有類似的問題,VBA,我想與大家分享我的解決方案,這是我的代碼:

Range("F76").Select 
With Selection 
.HorizontalAlignment = xlCenter 
.Font.Bold = True 
.Font.Color = RGB(0, 112, 192) 
.Merge 
.NumberFormat = "yyyy-mm-dd;@" 
With .Validation 
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
    xlBetween, Formula1:="=Data" 
End With 
End With 

這個片段給我造成麻煩。單元格被正確定義(在代碼之前是片段激活的片段)。

該解決方案包括只有一行的代碼,我只是需要加入

.Clear 

的代碼,一切再次合作。我希望這會幫助某人。

+0

如果這與問題真正相關,您能否解釋如何解決OP的問題而不是您自己的(可能不相關的)問題? – theMayer

相關問題