我在Worksheet_SelectionChange
事件像下面的一些非常基本的和簡單的VBA代碼:奇怪的Excel的VBA錯誤「表達式太複雜」 -1#IND
btnB.Top = btnA.Top + btnA.Height
它運行罰款我的電腦上,但它的工作原理零星地在我的同事的電腦上。似乎在表格周圍出現5次點擊中的3次會產生"Expression Too Complex"
錯誤。另外兩個工作沒有拋出錯誤。我試過了:
Dim D as Double:D = btnA.Top + btnA.Height
btnB.Top = D
同樣的事情,有時會起作用,有時會引發錯誤。發生錯誤時,我打破並檢查了D
的值"-1.#IND"
。我搜索了這個價值,發現它意味着相互間的確定。 btnA.Top
約爲11,500,所以這不是一個溢出問題。這個問題似乎沒有韻或理由。在16年的VB和VBA編程中,我從來沒有見過或聽說過這樣的事情。感謝任何幫助/見解。
編輯全碼:
Sub LineUpBtns()
CommandButton2.Top = CommandButton1.Top + CommandButton1.Height
CommandButton3.Top = CommandButton2.Top + CommandButton2.Height
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
LineUpBtns
End Sub
你怎麼能指定一個雙btnB.Top? – 2012-04-05 20:52:04
因爲它是雙重的。 TypeName(btnB.Top)=雙重 – DontFretBrett 2012-04-05 22:32:18
什麼是btnA,btnB?某些類型的對象似乎有一個.Top屬性,它是一個Single而不是Double。編輯:沒關係 - 剛纔在你的評論中回答。 – 2012-04-05 22:35:35