(07.04.2017, 09:34)PhilippB. schrieb: 2.) wenn ich die Daten eines Artikels aufrufe und "update" übernimmt er die Daten, wenn ich Sie dann wieder aufrufe, fehlt z.B. die Anzeige des klick in der Checkbox!
ja, klar, das hast Du ja auch nicht in Deinem "update"-Makro drin, bzw. das wurde noch gar nicht überarbeitet!
An dem Makro hat außer Dir noch keiner was dran gemacht.
ja, klar, das hast Du ja auch nicht in Deinem "update"-Makro drin, bzw. das wurde noch gar nicht überarbeitet!
An dem Makro hat außer Dir noch keiner was dran gemacht.
@Rabe, hast du da eine Idee? Komme da nicht weiter. versuche mich in vba jedoch bin ich noch am anfang.
07.04.2017, 10:16 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2017, 10:19 von Rabe.)
Hi,
Zu Deiner Frage 1: Es darf nicht mal eine Artikelnummer komplett in einer anderen enthalten sein, dann wird eine der beiden nicht gefunden! Da ist bis jetzt noch keine Sicherung eingebaut!
Im Urzustand-Makro muß aus der 2 eine 3 gemacht werden, sonst steht die Überschrift auch in der Combobox:
Code:
For lngZeile = 3 To .Cells(Rows.Count, 1).End(xlUp).Row
Es darf auch nur ein Modul mit gleichem Namen geben, verschiebe dieses Makro aus der UF in das allgemeine Modul und lösche das dortige!
Sortiere die Aktivierreihenfolge in der Userform sinnvoll (Textbox5, Checkbox1 und Combobox1 direkt hinter Textbox4).
Drum hatte ich Dir letztes Mal schon meine Version angehängt.
(07.04.2017, 09:58)PhilippB. schrieb: @Rabe, hast du da eine Idee?
so?
PrivateSub cmd_search_Click() Dim i AsLong Dim booJaNein AsBoolean
With Worksheets("Stammdaten") With .Range("A5:A" & .Cells(Rows.Count, 1).End(xlUp).Row) Set Suchergebnis = .Find(TextBox1.Value, LookIn:=xlValues) IfNot Suchergebnis IsNothingThen ' MsgBox Suchergebnis.Address If Suchergebnis.Offset(0, 5).Value = "ja"Then
booJaNein = True Else
booJaNein = False EndIf
Me.Controls("Checkbox1").Value = booJaNein For i = 2To5
Me.Controls("textbox" & i).Value = Suchergebnis.Offset(0, i - 1).Value Next i
cmd_Update.Enabled = True
cmd_loeschen.Enabled = True Else
MsgBox "Kein Eintrag mit der Nummer" & vbCrLf & vbCrLf & TextBox1.Value & vbCrLf & vbCrLf & "in dieser Liste vorhanden!"
cmd_Update.Enabled = False
cmd_loeschen.Enabled = False EndIf EndWith EndWith EndSub
07.04.2017, 12:02 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2017, 12:02 von Rabe.)
Hi,
(07.04.2017, 11:26)PhilippB. schrieb: leider geht es noch nicht richtig! Wenn ich beim "Update" Daten ändere, werden die z.B. bei der Checkbox nicht übernommen!
ein "Fehler" in der Tabelle müsste noch bereinigt werden!
1.) Artikel-Nummern dürfen nicht doppelt eintragbar sein!
Hat noch jemand eine Idee?
Im Update habe ich auch noch nichts geändert, Du?
hier zu den doppelten Art-Nrn.:
[edit] das war nix
07.04.2017, 12:08 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2017, 12:08 von PhilippB..)
Nein,
ich habe nichts verändert.
habe die aktuelle Version mal in anhang gepackt. Also bis Spalte D geht alles, aber im jetzigen Beispiel von E bis F nicht!
Mein Ziel ist, dass ich nachher meine Bestandsdaten in Form einer Userform von mehreren Checkboxen, Dropdown auswahlfelder und eingabefelder zu erstellen.
07.04.2017, 12:16 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2017, 12:16 von Rabe.
Bearbeitungsgrund: Makro ausgetauscht
)
Hi,
(07.04.2017, 12:08)PhilippB. schrieb: ich habe nichts verändert.
eben!
Du könntest Dir mal das cmd_new und das cmd_search hernehmen und die relevanten Sachen rausziehen für dasd cmd_update.
Da ist alles drin, was Du brauchst!
Hilfe zur Selbsthilfe!
(07.04.2017, 12:08)PhilippB. schrieb: Das mit den doppltenb Art,Nr. geht! DANKE
Hier nochmal ein neues Makro für die Doppelten, das alte funktioniert nicht richtig:
PrivateSub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim rng As Range
Dim lr AsLongDim i AsLongDim Such AsStringDim Zähler AsLong
lr = Sheets("Stammdaten").Cells(Rows.Count, "A").End(xlUp).Row
Such = TextBox1.Value
Zähler = 0Set rng = Sheets("Stammdaten").Range("A5:A" & lr).Find(Such, LookIn:=xlValues, LookAt:=xlWhole)
For i = 1To lr
IfNot rng IsNothingThen
Zähler = Zähler + 1EndIfNext i
If Zähler <> 0Then
MsgBox ("Artikelnummer schon vorhanden!" & vbCrLf & "Bitte eine andere eingeben!")
TextBox1.Value = ""
TextBox1.SetFocus
EndIfEndSub
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28 • PhilippB.
eben!
Du könntest Dir mal das cmd_new und das cmd_search hernehmen und die relevanten Sachen rausziehen für dasd cmd_update.
Da ist alles drin, was Du brauchst!
wie Du vielleicht inzwischen gemerkt hast, gibt es bei Eingabe einer schon vorhandenen Art.Nr. zum Suchen natürlich die Fehlermeldung und Du kannst dann nicht mehr updaten.
Also muß entweder das Suchen oder das verhindern von Doppeleingaben verändert werden.
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28 • PhilippB.