Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
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

Userform - an Tabellenblatt fixieren

Userform - an Tabellenblatt fixieren
31.01.2022 14:48:52
Chris
Hallo zusammen,
ich baue gerade ein Excel Tabelle zur Unterstützung bei der Kalkulation von Aufträgen.
Dazu habe ich mir eine .xlsm mit mehreren Tabellenblättern angelegt.
Im ersten Tabellenblatt "Eingabe" habe ich 3 Button angelegt und mit unterschiedlichen Userformen hinterlegt um das Handling möglichst einfach zu gestalten.
Beim Start der Userform wechselt direkt das Tabellenblatt nach "Materialübersicht" was der Anwender nicht unbedingt sehen sollte, aus dem ich für meine combobox in der Userform Informationen ziehe.
Ich habe auch schon versucht als erstes zu schreiben, allerdings wechselt er immer auf die "Materialübersicht".
Nun meine Frage, wie kann ich es einstellen, dass meine Userform auf dem ersten Tabellenblatt "Eingabe" bleibt?
Private Sub UserForm_Initialize() Worksheets("Materialübersicht").Activate Eingabemaske1.Haftgrund.RowSource = "C4:C10" Eingabemaske1.Filament1.RowSource = "C11:C31" Eingabemaske1.Filament2.RowSource = "C11:C31" Worksheets("Druckerübersicht").Activate Eingabemaske1.Drucker.RowSource = "C4:C11" Worksheets("Personalkosten").Activate Eingabemaske1.MA2.RowSource = "C38:C44" Eingabemaske1.MA3.RowSource = "C38:C44" End Sub

Private Sub Button_Cancle_Click()
'Eingabefenster schließen
Unload Eingabemaske1
End Sub

Private Sub Button_Kulk_Click()
'Eingabe der Schaltfläche in die Arbeitsmappe übernehmen
Worksheets("Ergebnisblatt").Activate
Range("C13") = Haftgrund.Text
Range("E13") = HaftgrundGewicht.Text
Range("C14") = Filament1.Text
Range("E14") = Filament1Gewicht.Text
Range("C15") = Filament2.Text
Range("E15") = Filament2Gewicht.Text
Range("C21") = Drucker.Text
Range("C27") = ZeitH.Text
Range("D27") = ZeitM.Text
Range("C28") = AuNH.Text
Range("D28") = AuNM.Text
Range("E28") = MA2.Text
Range("C29") = KonstrH.Text
Range("D29") = KonstrM.Text
Range("E29") = MA3.Text
Unload Eingabemaske1
End Sub
>

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform - an Tabellenblatt fixieren
31.01.2022 15:17:10
guenni
In diesem Fall solltest Du nicht in die Materialübersicht wechseln, sondern die Bereiche vollständig referenzieren

Eingabemaske1.Haftgrund.RowSource = "Materialübersicht!C4:C10"
usw.
Dieses Vorgehen empfiehlt sich für auch alle Range-Objekte in deinem Zukünftigem Code

Worksheets("Ergebnisblatt").Range("C13") = Haftgrund.Text
Worksheets("Ergebnisblatt").Range("C13") = Haftgrund.Text
oder:
with Worksheets("Ergebnisblatt")
.Range("C13") = Haftgrund.Text
.Range("E13") = HaftgrundGewicht.Text
.Range("C14") = Filament1.Text
end with
Sich eine vollständige Referenzierung statt Blattwechsel anzugewöhnen spart viel Fehlersuchzeit!!
Anzeige
AW: Userform - an Tabellenblatt fixieren
01.02.2022 07:02:33
Chris
Klasse vielen Dank für die schnelle Hilfe.
AW: Userform - an Tabellenblatt fixieren
31.01.2022 15:23:10
Rudi
Hallo,

wie kann ich es einstellen, dass meine Userform auf dem ersten Tabellenblatt "Eingabe" bleibt?
indem du auf Activate/ Select verzichtest und sauber referenzierst.
Private Sub UserForm_Initialize()
Eingabemaske1.Haftgrund.RowSource = "Materialübersicht!C4:C10"
Eingabemaske1.Filament1.RowSource = "Materialübersicht!C11:C31"
Eingabemaske1.Filament2.RowSource = "Materialübersicht!C11:C31"
Eingabemaske1.Drucker.RowSource = "Druckerübersicht!C4:C11"
Eingabemaske1.MA2.RowSource = "Personalkosten!C38:C44"
Eingabemaske1.MA3.RowSource = "Personalkosten!C38:C44"
End Sub
Private Sub Button_Kulk_Click()
'Eingabe der Schaltfläche in die Arbeitsmappe übernehmen
With Worksheets("Ergebnisblatt")
.Range("C13") = Haftgrund.Text
.Range("E13") = HaftgrundGewicht.Text
.Range("C14") = Filament1.Text
.Range("E14") = Filament1Gewicht.Text
.Range("C15") = Filament2.Text
.Range("E15") = Filament2Gewicht.Text
.Range("C21") = Drucker.Text
.Range("C27") = ZeitH.Text
.Range("D27") = ZeitM.Text
.Range("C28") = AuNH.Text
.Range("D28") = AuNM.Text
.Range("E28") = MA2.Text
.Range("C29") = KonstrH.Text
.Range("D29") = KonstrM.Text
.Range("E29") = MA3.Text
End With
Unload Eingabemaske1
End Sub
Gruß
Rudi
Anzeige
AW: Userform - an Tabellenblatt fixieren
01.02.2022 07:05:11
Chris
Danke für die schnelle Antwort
AW: Userform - an Tabellenblatt fixieren
31.01.2022 15:35:35
EtoPHG
Hallo
vollständige Referenzierung ist da A & O in VBA

Private Sub UserForm_Initialize()
With Eingabemaske1
.Haftgrund.RowSource = "Materialübersicht!C4:C10"
.Filament1.RowSource = "Materialübersicht!C11:C31"
.Drucker.RowSource = "Druckerübersicht!C4:C11"
.MA2.RowSource = "Personalkosten!C38:C44"
.MA3.RowSource = "Personalkosten!C38:C44"
End With
End Sub
dito Button
Gruss Hansueli
AW: Userform - an Tabellenblatt fixieren
01.02.2022 07:05:43
Chris
Vielen Dank für die schnelle Hilfe

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige