Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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 Zelle erfragen und überschreibe

Userform Zelle erfragen und überschreibe
13.03.2021 11:41:50
Totti
Hey hey!
Ich habe ein "Problem", bei dem ich trotz vielfacher Lösungsansätze nicht weiterkomme.
Ich habe eine Bestellliste erstellt, deren Zellen ich per Userform befülle. Im konkreten handelt es sich um eine Bestellübersicht. Wenn alle Daten in die aufgerufene Userform eingetragen worden sind, wird automatisch der Wert "Bestellung aufgenommen" in dieser Zeile eingefügt. Nun möchte ich über einen zweiten Button die Möglichkeit schaffen, den Status über eine bestimmte Bestellung (also im konkreten eine bestimmte Zelle auf dem Blatt) zu ändern per Userform. Meine Idee war folgende:
Per Button wird eine zweite Userform gestartet. Es wird erfragt, welche Bestellung (also welche Zeile?!) aktualisiert werden soll. Hier wird dann ein numerischer Wert angegeben (z.B. ich möchte die Bestellung ändern, die sich in Zeile 13 befindet). Dann wird der neue Status ausgewählt (z.B. "bestellt" oder "geliefert") und dann bestätigt. Dann soll sich der Status dieser einen Bestellung ändern. D.h. ich müsste von dem User zunächst die Zeile erfragen und dann den neuen Wert in die eine bestimmte Zeile einfügen. Das klingt recht simpel, funktioniert aber nicht wie ich es mir vorstelle. Hat jemand eine Idee, wie ich das Problem lösen kann?
Vielen Dank!
Lieben Gruß,
Thorsten

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Zelle erfragen und überschreibe
13.03.2021 11:54:40
ralf_b
du hast doch schon eine Userform mir der du Daten in die Zeilen eingibst. Kann man damit nicht den Status auch ändern? Wie du an die Zeile kommst, ist doch auch schon in deiner Userform drin oder nicht?
Eine suche über den Datenbestand nach der Bestellnummer oder was auch immer du dort benutzt, sollte die Zeile zurückliefern und den Datensatz in die Uf laden. Fertig.

AW: Userform Zelle erfragen und überschreibe
13.03.2021 12:21:32
Totti
Vielen lieben Dank für die schnelle Antwort.
Sowie ich es momentan geschrieben hat, ist der nächste Eintrag automatisch immer in der nächsten freien Zeile. D.h. wenn ich die Userform erneut aufrufe und einen anderen Status auswähle, dann würden die Werte in die nächste freie Zeile gehen und nicht in eine bereits existierende. Nachfolgend mal der Code
Private Sub CommandButton_Abbrechen_Click()
Unload Me
End Sub
Private Sub CommandButton_Eingabe_Click()
'Pflichtfelder abfragen
If TextBox_Kundennummer = "" Then
MsgBox ("Bitte eine Kundennummer eingeben. Wenn es eine interne Bestellung ist, dann 'intern'   _
_
eintragen.")
TextBox_Kundennummer.SetFocus
Exit Sub
End If
If TextBox_Kundennummer  "intern" And TextBox_Name = "" Then
MsgBox ("Bitte den vollständigen Namen des Kunden eintragen.")
TextBox_Kundennummer.SetFocus
Exit Sub
End If
If TextBox_Kundennummer  "intern" And TextBox_Telefonnummer = "" Then
MsgBox ("Bitte die Telefonnummer des Kunden für Rückfragen eintragen.")
TextBox_Kundennummer.SetFocus
Exit Sub
End If
'Erste freie Zeile ausfinding machen
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
'Kundennummer
Cells(last, 1).Value = TextBox_Kundennummer
'Vollständiger Name
Cells(last, 2).Value = TextBox_Name
'Produkt
Cells(last, 3).Value = ComboBox_Produkt
'Aufgenommen am
Cells(last, 4).Value = TextBox_Datum1
'Aufgenommen von
Cells(last, 5).Value = ComboBox_Besteller
'Status
If OptionButton1.Value = True Then Cells(last, 6).Value = "Bestellung aufgenommen"
'Eingegangen am
Cells(last, 7).Value = TextBox_Datum2
'Empfangen von
Cells(last, 8).Value = ComboBox_Besteller2
'Status
If OptionButton2.Value = True Then Cells(last, 9).Value = "offen"
End Sub
Private Sub Label10_Click()
End Sub
Private Sub UserForm_Initialize()
'Kundennummer
TextBox_Kundennummer = "Kundennummer oder 'intern' eingeben"
'Vollständiger Name
TextBox_Name = "Vollständigen Kunden-Namen eingeben"
'Telefonnummer
TextBox_Telefonnummer = "Telefonnummer für Rückfragen"
'Aufgenommen am
TextBox_Datum1.Value = Date
'Status
OptionButton1.Value = True
'Eingegangen am
'Status
OptionButton2.Value = True
End Sub
Private Sub TextBox_Name_Enter()
TextBox_Name = ""
End Sub
Private Sub TextBox_Telefonnummer_Enter()
TextBox_Telefonnummer = ""
End Sub

Und ich habe jetzt z.B. 20 Einträge und die Bestellung aus Zeile 7 ist eingetroffen, dann würde ich gerne den Status ändern per Userform.

Anzeige
AW: Userform Zelle erfragen und überschreibe
13.03.2021 12:45:26
ralf_b
naja ich studiere den Code jetzt nicht.
die echte ZeilenNr im Tabellenblatt ist meist nicht der Index des Datensatzes. Wegen Überschriften und dergleichen. Deshalb kann ein User nur die Zeilenr kennen wenn er auf die Datenbank schaut. Und das ist im Grunde nicht notwendig.
Ich leite aus deiner Schilderung ab das deine UF nur eine reine EingabeUF ist. Wenn du schon mal die Corntrols für alle Felder hast, dann ist es doch nicht so aufwendig ein Auswahlfeld dazu zulegen in dem man einen Datensatz auswählen kann, oder auch eine Listbox in der alle Datensätze drin stehen und bei click wird der Entsprechende geladen und kann bearbeitet werden.
Zeig mal deine funktionierende UF in einer Beispieldatei.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige