ich einige sehr grundlegende und einfache VBA-Code haben im Worksheet_SelectionChange
Ereignis wie folgt aus:.Seltsam Excel VBA Fehler „Ausdruck zu komplex“ -1 # IND
btnB.Top = btnA.Top + btnA.Height
Es läuft auf meinem Computer in Ordnung, aber es funktioniert sporadisch auf dem Computer meines Kollegen. Scheint wie 3 von 5 Klicks um das Blatt den "Expression Too Complex"
Fehler erzeugen. Die anderen 2 funktionieren ohne einen Fehler zu werfen. Ich habe versucht:
Dim D as Double:D = btnA.Top + btnA.Height
btnB.Top = D
Und das gleiche, funktioniert manchmal, manchmal wirft es den Fehler. Als der Fehler passierte, brach ich und überprüfte den Wert von , der "-1.#IND"
war. Ich habe diesen Wert gegoogelt und entdeckt, dass er interdeterminiert ist. btnA.Top
ist ungefähr 11.500, also ist es kein Überlaufproblem. Es scheint keinen Sinn oder Grund zu diesem Thema zu geben. In 16 Jahren VB- und VBA-Programmierung habe ich noch nie etwas Ähnliches gesehen oder gehört. Danke für jede Hilfe/Einsicht.
bearbeiten Voll Code:
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
Wie können Sie btnB.Top ein Double zuweisen? –
Weil es ein Doppel ist. TypeName (btnB.Top) = Double – DontFretBrett
Was sind btnA, btnB? Einige Objekttypen scheinen eine .Top-Eigenschaft zu haben, bei der es sich um eine einzelne anstelle von Double handelt. EDIT: Macht nichts - antwortete gerade jetzt in deinem Kommentar. –