Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 08:48:04
Karsten
Hallo zusammen,
ich hatte letzte Woche bereits eine Frage zum Thema UserForm, ComboBox, usw. gestellt. Mir wurde ein Link zu einer Datei mit ähnlichem Inhalt genannt. Jetzt habe ich das Problem, dass diese Datei, nachdem ich sie etwas an meine Bedürfnisse angepasst habe, die Daten nicht mehr aktualisiert...
Sobald man einen Eintrag hinzufügen bzw. einen vorhandenen ändern möchte, und auf den Button "Übernehmen" klickt, passiert.....nichts! Ich kann mir nicht erklären, woran das liegt.
Hoffe der unten eingefügte Code reicht aus, um nachvollziehen zu können, worum es sich handelt - falls nicht, sagt bitte bescheid!
CODE:
-----
Option Explicit

Private Sub CBox_Auswahl_Click()
If CBox_Auswahl.ListIndex <> 0 Then
TB_StaplerNR = Cells(CBox_Auswahl.ListIndex + 1, 1)
TB_Typ = Cells(CBox_Auswahl.ListIndex + 1, 2)
TB_Abteilung = Cells(CBox_Auswahl.ListIndex + 1, 3)
Else
TB_StaplerNR = ""
TB_Typ = ""
TB_Abteilung = ""
End If
End Sub


Private Sub CB_Löschen_Click()
If CBox_Auswahl.ListIndex > 0 Then
Rows(CBox_Auswahl.ListIndex + 1).Delete
TB_StaplerNR = ""
TB_Typ = ""
TB_Abteilung = ""
UserForm_Initialize
End If
End Sub


Private Sub CB_Übernehmen_Click()
Dim xZeile As Long
Dim MELDUNG As String
MELDUNG = "Bitte alle Felder ausfüllen!"
If TB_StaplerNR = "" Or TB_Typ = "" Or TB_Abteilung = "" Then MsgBox (MELDUNG)
Exit Sub
If CBox_Auswahl.ListIndex = 0 Then
xZeile = [A65536].End(xlUp).Row + 1
Else
xZeile = CBox_Auswahl.ListIndex + 1
End If
Cells(xZeile, 1) = TB_StaplerNR
Cells(xZeile, 2) = TB_Typ
Cells(xZeile, 3) = TB_Abteilung
TB_StaplerNR = ""
TB_Typ = ""
TB_Abteilung = ""
Columns("A:C").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
UserForm_Initialize
End Sub


Private Sub CB_Schließen_Click()
Unload Me
End Sub


Private Sub TB_Abteilung_Change()
End Sub


Private Sub UserForm_Initialize()
Dim aRow, i As Long
Application.EnableEvents = False
CBox_Auswahl.Clear
aRow = [A65536].End(xlUp).Row
CBox_Auswahl.AddItem "neuen Stapler hinzufügen"
For i = 2 To aRow
CBox_Auswahl.AddItem Cells(i, 1)
Next i
CBox_Auswahl.ListIndex = 0
Application.EnableEvents = True
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 08:54:47
Alwin
Hallo Karsten,
wenn Du Deinen Button (laut Code CB_Übernehmen) nich auch umbenannt hast, kann sich nichts tun!
Du musst den Code entweder wie im Original mit CommanButton2 benennen oder eben Deinen Command-Button über die Eigenschaften umbenennen.
So sprichst Du momentan den CB_Übernehmen an, den es ja nicht gibt ergo kann sich nichts tun.
Gruß
Alwin Ball
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 09:04:43
Karsten
Hallo Alwin,
ich habe die alle umbenannt (in Eigenschaften und im Code).
Daran dürfte es doch dann nicht liegen!?
Gruß
Karsten
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 09:16:48
Alwin
Hallo Karsten,
lad Deine Datei doch mal hoch, dann ist es etwas einfacher eine Fehlerdiagnose durchzuführen.
Gruß Alwin
Anzeige
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 09:31:57
Karsten
Alles klar - hatte bisher übersehen, dass es diese Möglichkeit hier gibt =)
https://www.herber.de/bbs/user/35970.xls
Es geht um den Button "Daten bearbeiten" - dahinter versteckt sich eine UserForm.
Die beiden Buttons auf der rechten Seite, sollen demnächst auch genutzt werden.
Dort möchte ich es den Benutzern ermöglichen, neue Abteilungen hinzuzufügen/ sie zu löschen. Die Liste der darunter stehenden Abteilungen bzw. Typen soll dann per ComboBox in der UserForm (siehe oben - "Daten bearbeiten") ausgewählt werden können. Ich möchte so verhindern, dass es für einen Typ oder eine Abteilung mehrere Schreibweisen gibt...
Ich weiß nicht, wieviel Aufwand dahinter steckt, wenn man das Programm beherrscht - vielleicht kannst du mir ja einen Tipp geben, und ich arbeite dann daran weiter
Danke dir schon einmal für die Unterstützung!!
Gruß
Karsten
Anzeige
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 09:43:39
Alwin
Hallo Karsten,
vor lauter Wald die Bäume nicht...
Du beendest den Code mit "Exit Sub"
If TB_StaplerNR = "" Or TB_Typ = "" Or TB_Abteilung = "" Then MsgBox (MELDUNG)
Exit Sub
If CBox_Auswahl.ListIndex = 0 Then
Da kann dann natürlich nichts gehn...
Was willst Du denn mit dem Exit erreichen? Du kannst den Anwender doch auf der Userform mit den Einträgen belassen. Er muss eben nur nach dem Fehler (fehlende Daten) die Daten ergänzen.
Gruß Alwin
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 09:53:56
Karsten
Jop, hast recht.
Das Problem ist aber, dass der ohne das "Exit Sub" zwar die MsbBox ausgibt, wenn eines der Felder nicht gefüllt ist, den Befehl aber trotzdem ausführt und einen Eintrag z.B. ohne Abteilung vornimmt. Genau das soll aber verhindert werden...
Anzeige
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 10:10:36
Alwin
Hallo Karsten,
verstanden.
Versuchs mal damit den Code dann einfach zu überspringen:
If TB_StaplerNR = "" Or TB_Typ = "" Or TB_Abteilung = "" Then GoTo step10
Und ganz unten von Deinem Code:
step10:
MsgBox (MELDUNG)
End Sub
In der Beispieldatei funzt es.
Gruß
Alwin Ball
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 10:24:08
Karsten
Ich ärger mich ja über mich selbst, aber ich bekomms nicht zum Laufen
step10:
MsgBox (MELDUNG)
End Sub
>>> Ganz unten = so?....

Private Sub CB_Übernehmen_Click()
Dim xZeile As Long
Dim MELDUNG As String
MELDUNG = "Bitte alle Felder ausfüllen!"
If TB_StaplerNR = "" Or TB_Typ = "" Or TB_Abteilung = "" Then GoTo step10
If CBox_Auswahl.ListIndex = 0 Then
xZeile = [A65536].End(xlUp).Row + 1
Else
xZeile = CBox_Auswahl.ListIndex + 1
End If
Cells(xZeile, 1) = TB_StaplerNR
Cells(xZeile, 2) = TB_Typ
Cells(xZeile, 3) = TB_Abteilung
TB_StaplerNR = ""
TB_Typ = ""
TB_Abteilung = ""
Columns("A:C").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
UserForm_Initialize
step10:
MsgBox (MELDUNG)
End Sub

Anzeige
AW: UserForm - Daten werden nicht aktualisiert...!?
21.08.2006 10:35:03
Alwin
Hallo Karsten,
jetzt war ich etwas falsch dran....
Die Position ist schon richtig, aber es fehlte noch was.
UserForm_Initialize (hast Du schon)
Exit

Sub (neu)
Achtung, das Exit und das 

Sub in eine Zeile, bei der Vorschau macht er hier im Board einen Zeilenumbruch (weiß nicht warum)
step10:
MsgBox (MELDUNG)
Exit 

Sub (ändern von End in Exit)
Achtung, auch hier das Exit und das 

Sub in eine Zeile, bei der Vorschau macht er hier im Board einen Zeilenumbruch (weiß nicht warum)
End Sub

Gruß
Alwin Ball
Anzeige
Warum so kompliziert ?!
21.08.2006 10:40:48
Heiko
Hallo Ihr,
wenn ich mich da mal einlklinken darf ?! Denn Cmd Button Code so ändern !!!

Private Sub CB_Übernehmen_Click()
Dim xZeile As Long
Dim MELDUNG As String
MELDUNG = "Bitte alle Felder ausfüllen!"
If TB_StaplerNR = "" Or TB_Typ = "" Or TB_Abteilung = "" Then
MsgBox (MELDUNG)
Exit Sub
End If
If CBox_Auswahl.ListIndex = 0 Then
xZeile = [A65536].End(xlUp).Row + 1
Else
xZeile = CBox_Auswahl.ListIndex + 1
End If
Cells(xZeile, 1) = TB_StaplerNR
Cells(xZeile, 2) = TB_Typ
Cells(xZeile, 3) = TB_Abteilung
TB_StaplerNR = ""
TB_Typ = ""
TB_Abteilung = ""
Columns("A:C").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
UserForm_Initialize
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Warum so kompliziert ?!
21.08.2006 10:47:35
Karsten
Ich glaubs nicht!!
Danke, das klappt so.
Ich hatte das vorher auch versucht. Hier hat mir das Programm aber immer gesagt, dass ich das End If nicht ohne If-Anweisung setzen darf...
so: If TB_StaplerNR = "" Or TB_Typ = "" Or TB_Abteilung = "" Then MsgBox (MELDUNG)
Exit Sub
End If
Es ist also wichtig, dass es in mehreren Zeilen steht:
so: If TB_StaplerNR = "" Or TB_Typ = "" Or TB_Abteilung = "" Then
MsgBox (MELDUNG)
Exit Sub
End If
Vielen Dank für eure Hilfe!!
Gruß
Karsten
AW: Warum so kompliziert ?!
21.08.2006 10:48:18
Alwin
oder so...

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige