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

Aus UserForm Daten übernehmen

Aus UserForm Daten übernehmen
23.04.2015 15:42:50
Michael
Hallo bräuchte mal eure Hilfe und zwar habe ich eine Tabelle in der Daten aus einer UserForm übernommen werden soll.
Habe die UserForm schon fertig mir fehlt nur noch der Befehl zur Übernahme und das er den nächsten Eintrag dann immer in die nächste Zeile setzt.
Textbox 1 Zeile A4
Textbox 2. Zeile C4
Textbox 3. Zeile D4
Textbox 4. Zeile E4
Textbox 5. Zeile F4
Textbox 6. Zeile G4
Textbox 7. Zeile H4
Textbox 8 Zeile I4
Textbox 9 Zeile K4
Gruß Michael
Ich hoffe ihr könnt mir helfen

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus UserForm Daten übernehmen
23.04.2015 16:02:06
Michael
Hallo Michael!
Den Text einer TextBox kannst Du zB so in eine Zelle schreiben:
Range("A4").Value = Textbox1.Text
ODER
Cells(4,1).Value = Textbox1.Text
das er den nächsten Eintrag dann immer in die nächste Zeile setzt.
Das ist mir noch nicht ganz klar; was meinst Du damit? Dazu sind vermutlich ein paar mehr Infos zu der Wirkweise Deiner Userform im Zusammenspiel mit Deinem Tabellenblatt hilfreich.
LG
Michael

AW: Aus UserForm Daten übernehmen
23.04.2015 16:51:29
Michael
Hallo Michael
Ies ist ein Tabellen Blatt mit dem Namen "Daten"
Und aus der UserForm mit Namen "Taktzeit" sollen die Daten aus den TextBoxen 1-9 in das Daten Blatt übernommen werden.
TextBox1 = Daten A4
Gruß Michael
Kann die Datei nicht hochladen da ich auf Arbeit bin

Anzeige
AW: Aus UserForm Daten übernehmen
23.04.2015 17:29:55
Michael
Hi!
Also, wenn Du bspw. eine Schaltfläche (CommandButton) auf Deiner UserForm hast, kannst Du die jeweiligen Einträge der TextBoxen so in die betroffenen Zellen schreiben:
Private Sub CommandButton1_Click()
Dim i As Byte
'Textbox-Text in Zelle A4 schreiben
Worksheets("Daten").Range("A4").Value = Me.TextBox1.Text
'Textboxen-Text in Zellen C4:I4 schreiben
For i = 2 To 8
Worksheets("Daten").Cells(4, i + 1) = Me.Controls("Textbox" & i).Text
Next i
'Textbox-Text in Zelle K4 schreiben
Worksheets("Daten").Range("K4").Value = Me.TextBox9.Text
End Sub
Das ist als Beispiel gedacht. Du kannst entweder ALLE Zellen direkt füllen (wie im o.a. Fall A4 bzw. K4) oder eben eine Schleife nutzen (wie alle anderen o.a. Fälle); durchgehende Schleife ist aber nicht möglich, da Du eben bestimmte Spalten "auslässt" (B, J).
Wenn Du keine Schaltfläche hast kannst Du auch aus einem "normalen" Makro (allgemeines Modul) den o.a. Code verwenden.
So hätte ich Dich verstanden... Oder meintest Du, Du hast nur eine TextBox und willst deren Wert zeilenweise an Zellen übergeben? Dazu wüsste ich aktuell nichts beizutragen...
Bin dann für heute auch raus - kann morgen wieder antworten.
LG
Michael

Anzeige
AW: Aus UserForm Daten übernehmen
23.04.2015 17:54:14
Michael
Super Danke das mit der ersten Variante funktioniert nur macht er jetzt in der UserForm die TextBoxen nicht leer. Nach dem übertragen. Und wenn ich neue Faten eingebe trägt es immer in die erste Zeile ein also A4 . Und nimmt nicht die nächste freie.
Gruß Michael

AW: Aus UserForm Daten übernehmen
23.04.2015 21:42:46
Michael
Hallo Michael!
Ahhh ;-), dann hab ich's doch verstanden. Dann so, inkl. jeweils nächster freier Zelle und Rücksetzen der Textboxen:
Private Sub CommandButton1_Click()
Dim i As Byte 'Schleifenzähler
'Textbox-Text in nächste freie Zelle in Spalte A schreiben
Worksheets("Daten").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = Me.TextBox1.Text
'Textbox-Text in nächste freie Zelle in Spalte C:I schreiben
For i = 2 To 8
Worksheets("Daten").Cells(Rows.Count, i + 1).End(xlUp).Offset(1, 0).Value = Me.Controls( _
"Textbox" & i).Text
Next i
'Textbox-Text in nächste freie Zelle in Spalte K schreiben
Worksheets("Daten").Range("K" & Rows.Count).End(xlUp).Offset(1, 0).Value = Me.TextBox9.Text
'Textboxen leeren
For i = 1 To 9
Me.Controls("Textbox" & i).Text = ""
Next i
End Sub
Läuft's?
LG
Michael

Anzeige
AW: Aus UserForm Daten übernehmen
23.04.2015 23:43:30
Michael
Hallo Michael
einiges übernimmt er aber nicht alles und die Userform Schließt auch nicht .
Hab mal die Datei hochgeladen vielleicht findest du den fehler.
https://www.herber.de/bbs/user/97277.xlsm
Danke schonmal
Gruß Michael

AW: Aus UserForm Daten übernehmen
24.04.2015 00:00:42
Michael
Hallo Michael
es übernimmt jetzt alles nur die UserForm schließt nach dem drücken des Eingabe Buttons
super Arbeit danke dir
Gruß Michael

Nochmal sauber...
24.04.2015 09:28:38
Michael
Hallo Michael!
Ich hatte mich nur auf das von Dir geschilderte Problem (TextBox-Werte in Zellen schreiben) bezogen; dass die UserForm danach zB schließen soll etc. hattest Du nicht angegeben.
Hab mir jetzt Deine Datei noch angesehen - Du hast in den Spalten A:B bzw. I:J in der Überschrift verbundene Zellen gesetzt - dadurch lief beim Makro noch etwas schief. Verbundene Zellen sind für solche Dinge gar nicht gut ;-). Aber nachdem ich nun Deine Datei gesehen habe, konnte ich etwas "aufräumen" und habe den Code noch gekürzt/optimiert bzw. Dir noch ein paar Dinge integriert:
- Die UserForm habe ich jetzt auf "ShowModal = False" gesetzt (siehe Eigenschaften UserForm). D.h. die Form bleibt geöffnet, auch nach Eingabe der Daten und Du kannst normal in der Tabelle weiterarbeiten.
- Geschlossen wird die UserForm nun entweder durch Klick auf "Abbrechen/Schließen" (habe ich umbenannt) bzw. auch durch Klicken auf das Schließkreuz "X" oben rechts.
- Durch Entfernen der verbundenen Zellen (die brauchst Du nicht, Du kannst ja Spalte A bzw. I jeweils nach der Breite der Inhalte ausrichten) ist jetzt ein vollständiger, schlanker Schleifendurchlauf möglich.
Hier die korrigierte Datei: https://www.herber.de/bbs/user/97284.xlsm
bzw. als Code:
Private Sub Abbrechen_Click()
Unload Me 'UserForm aus Speicher entladen und schließen
End Sub
Private Sub CommandButton1_Click()
Dim i As Byte 'Schleifenzähler
'Textbox-Text in nächste freie Zellen in Spalten A:I schreiben
For i = 1 To 9
Worksheets("Daten").Cells(Rows.Count, i).End(xlUp).Offset(1, 0).Value = Me.Controls(" _
Textbox" & i).Text
Next i
'Textboxen leeren
For i = 1 To 9
Me.Controls("Textbox" & i).Text = ""
Next i
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Unload Me 'UserForm aus Speicher entladen und schließen, bei Klick auf "X"
End Sub
Freut mich, dass ich Dir helfen konnte! Noch als Tipp für das nächste Mal: Datei gleich herzeigen hilft den Helfern, weil besser klar wird, was Du wie machen möchtest bzw. schon machst!
LG
Michael

Anzeige
AW: Nochmal sauber...
24.04.2015 11:22:48
Michael
Super Danke nochmal
Gruß Michael

AW: Nochmal sauber...
24.04.2015 19:40:15
Michael
Hallo Michael
Hätte noch eine Frage zu meiner Datei gibt es auch die Möglichkeit mit einem 2.Button nach einer Zeichnungsnummer zu suchen und die dann irgendwie anzeigen zu lassen weil da kommen viele Daten in die Tabelle und wenn man dann immer alles durchsuchen muss ist nicht schön.
Wäre dann Spalte "C"
Gruß Michael

Ja, geht, melde mich am Montag wieder, owT
24.04.2015 22:13:03
Michael
.

AW: Ja, geht, melde mich am Montag wieder, owT
24.04.2015 22:30:16
Michael
Super 😀

Nun mit Such-Funktion...
27.04.2015 09:47:24
Michael
Hallo Michael!
Hier die neue Datei, jetzt mit einer kleinen Such-Funktion: https://www.herber.de/bbs/user/97317.xlsm
Ich habe das jetzt schnell über den AutoFilter realisiert. Ich gehe davon aus, dass die Zeichnungs-Nr. jeweils einzigartig sind, d.h. nie doppelt vorkommen. Das Ganze wäre natürlich nur mit Nutzen der AutoFilter-Funktion genauso (und schneller) zu bewerkstelligen, aber Du wolltest eine Schaltfläche haben - und so ist der Vorteil, dass die Suche eine etwaige Eingabe neuer Datensätze, die aber zu bestehenden ähnlich sind, erleichtert.
Ein paar Anmerkungen:
- Zeile 3 des Tabellenblattes ist leer und neu, damit die Überschrift (mit bösen, verbundenen Zellen) von der eigentlichen Tabelle getrennt ist (sonst streikt der Filter)
- Wie gesagt, die Zeichnungs-Nr, nach der gesucht wird, muss eindeutig/einzigartig sein. Ich hab Dir keine Kontext- oder Teilsuche integriert; es muss nach einer vollständigen Nr. gesucht werden.
- Wenn ein Suchergebnis in Deiner UserForm angezeigt wird, können die einzelnen TextBoxen überschrieben bzw. korrigiert werden - ein Klick auf "Eingabe" schreibt dann die jeweiligen Daten wieder in die Tabelle (Achtung: Das könnte auch ungewünscht sein).
Viel Erfolg mit Deiner Tabelle!
LG
Michael

Anzeige
AW: Nun mit Such-Funktion...
27.04.2015 15:31:36
Michael
Hallo Michael
super Danke funktioniert super aber mir wäre liebe die suche über die MsgBox da die Datei audf der
Arbeit genutzt wird und sich nicht jeder mit exel so gut auskennt.
da wäre eine MsgBox besser.
gruß michael

AW: Nun mit Such-Funktion...
27.04.2015 16:46:00
Michael
Hallo Michael!
Hier nochmal die Datei, Such-Ergebnis diesmal in einer Msg-Box: https://www.herber.de/bbs/user/97319.xlsm
Die genannten Einschränkungen etc. treffen immer noch zu, es muss die gesuchte Zeichnungs-Nr eindeutig/einzigartig sein. Wird die Nr. nicht gefunden, zeigt die Msg-Box nur "Überschriften" aber keine Werte.
Die verbundenen Zellen in den Überschriften hab ich auch rausgenommen - damit sind jetzt hoffentlich alle verbundenen Zellen weg (bis auf die Blattüberschrift, da stört es nicht).
Ich hoffe jetzt passt's dann langsam ;-).
Viel Erfolg mit der Datei!
Michael

Anzeige
AW: Nun mit Such-Funktion...
27.04.2015 18:43:06
Michael
Hallo Michael
Du bist der beste Danke ,genau so wollte ich es haben.
Nochmals vielen Dank für die Gedult
Gruß Michael

Gerne und vielen Dank für die Rückmeldung, owT
27.04.2015 22:18:45
Michael
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige