Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler SetFocus

Laufzeitfehler SetFocus
16.02.2023 21:44:55
Ron
Hallo,
in meiner Beispieldatei sollen die noch zur Verfügung stehenden Zeichen und Zeilen
angezeigt werden und beim Überschreiten der max. Anzahl eine MsgBox erscheien.
Bei nur einer TextBox in einem Dialog funktioniert das auch gut.
Bei mehr als einer Textbox bekomme ich immer einen Laufzeitfehler.
https://www.herber.de/bbs/user/157871.xlsm
Kann mir jemand helfen?
Vielen Dank
Gruß

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler SetFocus
17.02.2023 01:14:41
Mullit
Hallo,
zusätzl. zum Focus müssten auch die Pages des Mltp-Objekts aktiviert werden....
Private Sub TextBox1_Change()
   
    Me.MultiPage1.Value = 0
              
    TextBox1.SetFocus
   '.....
End Sub
Private Sub TextBox2_Change()
    Me.MultiPage1.Value = 1
    
    TextBox2.SetFocus
   '.....
End Sub
'usw....
Gruß, Mullit
AW: Laufzeitfehler SetFocus
17.02.2023 01:17:16
Mullit
...ach ja, dann könnte es übrigens auch ganz ohne setfocus gehen....;-)
Gruß, Mullit
AW: Laufzeitfehler SetFocus
17.02.2023 07:05:33
Ron
Hallo Mullit,
das ohne SetFocus habe ich nicht hinbekommen.
Danke für den Hinweis "Pages des Mltp-Objekts aktiviert werden".
In meiner originalen Vorlage soll die MultPage erstmal nicht angezeigt werden.
Erst wenn der Nutzer in einer ComboBox die entsprechende Page ausgewählt hat,
soll sie angezeigt werden.
Anbei nochmal die erweiterte Musterdatei
https://www.herber.de/bbs/user/157873.xlsm
Jetzt bekomme ich natürlich schon wieder den Laufzeitfehler, wahrscheinlich weil nichts aktiviert ist.
Gibt es da eine Möglichkeit?
Vielen Dank!
Gruß
Anzeige
AW: Laufzeitfehler SetFocus
17.02.2023 09:15:47
Heli
Hi,
Du musst meiner Meinung nach die "Events" der Userform beim Eintragen der Werte (Initialisierung) deaktivieren, dann hast Du die Probleme nicht. Das geht leider nicht über Application.EnableEvents = False sondern nur über einen Umweg - ist hier ganzs gut beschrieben:
https://www.herber.de/forum/archiv/656to660/656759_change_event_ausschalten.html
Viel Erfolg!
Heli
AW: Laufzeitfehler SetFocus
17.02.2023 09:31:31
Peter
Hallo Ron,
du musst das SetFocus in das Combobox Event einbinden.
siehe:
Case "Page1"
With MultiPage1
.Pages(0).Visible = True
.Pages(0).Enabled = True
.Pages(1).Visible = False
.Pages(1).Enabled = False
.Pages(2).Visible = False
.Pages(2).Enabled = False
.Value = 0
End With
TextBox1.Value = Tabelle1.Range("G4").Value
TextBox1.SetFocus
in der Initialize
keine Aktionen in der Textbox, da VBA dann sofort Textbox_Cange durchführt und zu diesen Zeitpunkt diese noch nicht aktiv ist.
Viele Grüße
Peter (hpo)
Anzeige
AW: Laufzeitfehler SetFocus
17.02.2023 10:00:05
Ron
Hallo Peter,
danke für den Tipp.
Aber warum kann ich jetzt nur noch eine TextBox befüllen und die Zelle wieder auslesen?
https://www.herber.de/bbs/user/157875.xlsm
Hab ich irgendwo was vergessen?
Vielen Dank.
Gruß
AW: Laufzeitfehler SetFocus
17.02.2023 11:07:33
Peter
Hallo Ron,
da die Textbox leer ist wird der Inhalt der Celle durch die leere Textbox überschrieben,
deshalb änder Commandbutton1 auf:
Private Sub CommandButton1_Click()
    
    Range("G4").Value = Range("g4").Value + TextBox1.Value
    Range("G9").Value = Range("G9").Value + TextBox2.Value
    Range("G14").Value = Range("G14").Value + TextBox3.Value
    
    Unload Me
    
End Sub
Viele Grüße
Peter (hpo)
Anzeige
AW: Laufzeitfehler SetFocus
17.02.2023 11:13:01
Ron
Hallo Peter,
vielen Dank!!
Gruß
AW: Laufzeitfehler SetFocus
17.02.2023 11:34:53
Peter
Hallo Ron,
bitte diese Änderung bei Commandbutton1 einfügen,
hier wir dan nur das eingetragen was auch in der Textbox steht.
Private Sub CommandButton1_Click()
    If TextBox1 = "" Then
        Range("G4").Value = Range("G4").Value
    Else
        Range("G4").Value = TextBox1.Value
    End If
    If TextBox2 = "" Then
        Range("G9").Value = Range("G9").Value
    Else
        Range("G9").Value = TextBox2.Value
    End If
    If TextBox3 = "" Then
        Range("G14").Value = Range("G14").Value
    Else
        Range("G14").Value = TextBox3.Value
    End If
    
    Unload Me
    
End Sub
Viele Grüße
Peter (hpo)
Anzeige
AW: Laufzeitfehler SetFocus
17.02.2023 11:56:36
Ron
Hallo Peter,
nochmals vielen Dank!
Gruß
AW: Laufzeitfehler SetFocus
19.02.2023 15:58:29
Ron
Hallo,
nach Anpassung der Dialogbox bekomme ich wieder den Fehler "SetFocus".
Kann mir jemand helfen?
https://www.herber.de/bbs/user/157904.xlsm
Vielen Dank
Gruß
AW: Laufzeitfehler SetFocus
20.02.2023 06:42:29
Ron
Hallo,
danke für die Hilfe.
Aber ich brauche zwei Seiten je Auswahl, so wie die Musterdatei.
Auf der 1. Seite je Auswahl sollen Grunddaten (nicht in der Musterdatei) eingetragen werden und auf der Texteite alternative
Erläuterungen mit Zeichen- und Zeilenbegrenzung. Bei der Zeilenbegrenzung soll auch der Zeilenumbruch mitgezählt werden.
Gruß
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige