Ich habe diese einfache Rechnung Kontrolle Arbeitsblatt in Excel und ich verwende VBA, um es einfacher zu visualisieren und neue Elemente hinzufügen. Ich habe Dutzende von anderen VBA programmierten Arbeitsblätter gemacht, und alle von ihnen haben eine „neue“ aktive x-Taste, programmiert wie folgt aus:VBA Exceputing Sub Seltsam
Private Sub ButtNew2_Click()
Dim Guia As Worksheet
Dim UltLin As Integer
Set Guia = Workbooks("Notas Fiscais.xlsm").Worksheets("Saída")
UltLin = Guia.UsedRange.Rows.Count + 1
Guia.Application.Goto Reference:="R" & UltLin & "C1"
FormNotasSaida.Show
FormNotasSaida.BoxDataEmiss.SetFocus
End Sub
So einfach ist das. Wählen Sie einfach die erste leere Zeile, so dass das Formular leer geladen wird. Es funktioniert gut in jedem anderen Arbeitsbuch. Aber in diesem, wenn und jedes Mal, wenn ich diesen Knopf, nach dem Schließen des Formulars, das nächste Mal (und nur einmal) klicke ich das Formular wieder auf jede mögliche Weise (entweder Doppelklick auf einen Gegenstand, Drücken der Schaltfläche "Anzeigen" oder Drücken Sie erneut die "New" Taste, es lädt entweder leer oder zeigt den zuletzt gestarteten Gegenstand (falls Sie es getan haben).
Nach dem Schließen kann ich überall klicken oder die "Show" Taste drücken, wann immer sie funktionieren, wie sie immer haben. Das Problem tritt nur einmal nach dem Drücken der Schaltfläche "Neu" auf.
Was mache ich möglicherweise falsch, speziell zu wissen, dass diese Methode in allen anderen Arbeitsmappen perfekt funktioniert?
Überprüfen Sie Ihre UltLin var, diese auf eine leere Zelle aufgehört haben könnte, und dann zur nächsten Zeile fort. –
Verwenden Sie eine generierte Instanz des Formulars anstelle der Standardinstanz. Weitere Informationen finden Sie in [this Documentation topic] (http://stackoverflow.com/documentation/vba/5351/user-forms/19036/best-practices#t=201611011528290148872). – Comintern
FWIW Sie * wählen * nicht die "erste leere Zeile". 'Guia.UsedRange.Rows.Count + 1' tut nicht, was Sie denken, und es ist auch nicht zuverlässig: [readme] (http://stackoverflow.com/a/11169920/1188513). –