Supportnet / Forum / Tabellenkalkulation
doppelte Nummern bei Formulareingabe abfangen
Frage
Hallo Zusammen,
zuerst mal eine wunderschöne Karwoche an alle; vorallem ohne Schnee wo er nicht sein muss ;)
Ich habe von coros seite nachfolgenden Code geladen. Allerdings brauch ich noch einige Änderungen und finde nichts dass ich anpassen kann. Selbst coding schreiben kann ich leider nicht.
Es sind zwei Textboxen und eine Combobox.
Textbox 1 füllt Spalte A, Textbox 2 füllt Spalte B und die Combobox füllt Spalte C.
Nun würde ich gerne noch folgendes gerne haben.
a) nach ausfüllen von allen drei boxen sollen die Daten in die Spalten übergeben werden und sich selbst leeren. Das Formular soll offen bleiben. Im Moment schliesst es sich.
b) Es sollte eine Abfrage im Hintergrund laufen, in der Art, dass geprüft wird ob Eingabe von Textbox 1 schon mal in Spalte A ist ; - wenn ja ,bitte den Wert in Spalte B mit dem jetzigen Wert von Textbox 2 (und combobox) überschreiben; - wenn nein, alle Werte eingeben.
Das wäre schon mal eine Superhilfe.
Und gleich noch eine Frage im Anschluss:
Wenn ich alle Felder ausgefüllt habe und dann in Spalte (?) verschiedene Werte habe zb. 1-10 diese so sortiert zu kopieren, dass alle mit Wert 1 in einem neu zu erstellen Tabellenblatt mit der Bezeichnung 1 befinden (kann in der gleichen Tabelle sein, oder auch eine neue)? Alle mit Wert 2 in einem abellenblatt mit Bezeichung 2, usw.
Dies wäre ein superschmankerl, mit Knopfdruck erledeigen zu können. Falls nicht, ist halt Handarbeit gefragt.
Vielen Dank für eure Hilfe und macht weiter so. Ich habe schon eine Menge aus den Beiträgen vom Forum gelernt.
Grüsse
===
Private Sub CommandButton1_Click()
´Variable deklarieren
Dim erste_freie_Zeile As Integer
´erste freie Zeile in Blatt "Formular" ermitteln
´und in Variable "erste_freie_Zeile" schreiben
erste_freie_Zeile = Sheets("Formular").Range("A65536").End(xlUp).Offset(1, 0).Row
´In Blatt "Formular"
´With Sheets("Formular")
´Spalte A, erste freie Zeile die Artikelnummer in Zahlenformat übertragen
Sheets("Formular").Cells(erste_freie_Zeile, 1) = Format(TextBox1.Text)
´Spalte B, erste freie Zeile den Menge in Zahlenformat übertragen
Sheets("Formular").Cells(erste_freie_Zeile, 2) = Format(TextBox2.Text)
´Spalte C, erste freie Zeile die ausgewählte Categorie übertragen
Sheets("Formular").Cells(erste_freie_Zeile, 3) = ComboBox1.Text
´End With
Unload Me
End Sub
Antwort 1 von christali
Hallo zusammen,
hat wirklich keiner eine Idee?
Grüsse und schönes Wochenende
Christali
hat wirklich keiner eine Idee?
Grüsse und schönes Wochenende
Christali
Antwort 2 von fürLau
Hallo
Das bedarf noch etwas an Erläuterung.
Doch zunächst soweit nachvollziehbar:
Gruß
Zitat:
Wenn ich alle Felder ausgefüllt habe und dann in Spalte (?) verschiedene Werte habe zb. 1-10 diese so sortiert zu kopieren, dass alle mit Wert 1 in einem neu zu erstellen Tabellenblatt mit der Bezeichnung 1 befinden (kann in der gleichen Tabelle sein, oder auch eine neue)? Alle mit Wert 2 in einem abellenblatt mit Bezeichung 2, usw.
Wenn ich alle Felder ausgefüllt habe und dann in Spalte (?) verschiedene Werte habe zb. 1-10 diese so sortiert zu kopieren, dass alle mit Wert 1 in einem neu zu erstellen Tabellenblatt mit der Bezeichnung 1 befinden (kann in der gleichen Tabelle sein, oder auch eine neue)? Alle mit Wert 2 in einem abellenblatt mit Bezeichung 2, usw.
Das bedarf noch etwas an Erläuterung.
Doch zunächst soweit nachvollziehbar:
Option Explicit
Private Sub CommandButton1_Click()
´Variable deklarieren
Dim erste_freie_Zeile As Long, i As Long
erste_freie_Zeile = Sheets("Formular").Range("A65536").End(xlUp).Offset(1, 0).Row
For i = 1 To erste_freie_Zeile
If TextBox1.Text = Cells(i, 1).Value Then
Cells(i, 2).Value = TextBox2.Text
Cells(i, 3).Value = ComboBox1.Text
TextBox1.Text = "": TextBox2.Text = "": ComboBox1.Text = ""
End If
Next
´erste freie Zeile in Blatt "Formular" ermitteln
´und in Variable "erste_freie_Zeile" schreiben
´In Blatt "Formular"
´With Sheets("Formular")
´Spalte A, erste freie Zeile die Artikelnummer in Zahlenformat übertragen
Sheets("Formular").Cells(erste_freie_Zeile, 1) = Format(TextBox1.Text)
TextBox1.Text = ""
´Spalte B, erste freie Zeile den Menge in Zahlenformat übertragen
Sheets("Formular").Cells(erste_freie_Zeile, 2) = Format(TextBox2.Text)
TextBox2.Text = ""
´Spalte C, erste freie Zeile die ausgewählte Categorie übertragen
Sheets("Formular").Cells(erste_freie_Zeile, 3) = ComboBox1.Text
ComboBox1.Text = ""
TextBox1.SetFocus
´End With
´Unload Me
End SubGruß
Antwort 3 von christali
Hallo fürLau,
Danke dir und bitte enschuldige die späte Antwort.
Ziemlich beschäftigt.
Leider bekomme ich es so nicht zum laufen, meldet das mit der Deklaration etwas nicht stimmt.
Na ja, das werd ich wahrscheinlich auch noch rauskriegen, wenn ich etwas Zeit habe.
Grüsse
Danke dir und bitte enschuldige die späte Antwort.
Ziemlich beschäftigt.
Leider bekomme ich es so nicht zum laufen, meldet das mit der Deklaration etwas nicht stimmt.
Na ja, das werd ich wahrscheinlich auch noch rauskriegen, wenn ich etwas Zeit habe.
Grüsse
Antwort 4 von public3
´ohne schnee wo er nicht sein muss´, lies mal zwiebelfisch

