Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1180to1184
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

Daten in Userform laden & zurück schreiben

Daten in Userform laden & zurück schreiben
webdepp
Hallo Forum,
ich brauche eure Hilfe, denn ich komme nicht weiter. Mein Problem sieht wie folgt aus.
Ich habe eine userform mit einem Button. Über diesen Button rufe ich eine zweite Userform auf. In dieser zweiten Userform habe ich eine Dropdownbox (DDB) und textfelder. Je nach dem was ich in der DDB auswähle werden entsprechend die Textboxen mit Daten aus Excel gefüllt. Jetzt ändere ich die Daten in den Textfeldern. Danach betätige ich ein Button und möchte die Daten in die gleiche Zeile in Excel zurück schreiben. Nur kommen die Daten nicht an. Und da benötige ich eure Hilfe. Ich weiß nicht warum die Daten nicht ankommen. Wenn ich Sie in die nächste freie Zeile im Exxcel schreiben will, kommen Sie an.
Wo ist mein Fehler?
Aufrufen der zweiten Userform:
Private Sub CB_S2_NA_Click()
Dim V_ZEILE_UA As Integer
Dim V_ZEILE_FIRMA As Integer
Dim V_ZEILE As Integer
V_ZEILE_UA = Worksheets("Neuer Anwender").Cells(Rows.Count, 3).End(xlUp).Row
V_ZEILE_FIRMA = Worksheets("Angaben").Cells(Rows.Count, 1).End(xlUp).Row
UF_S3_NA.CB_S3_NA_KO.RowSource = "'Neuer Anwender'!B8:B" & V_ZEILE_UA   'Source aus dem  _
Excel
UF_S3_NA.CB_S3_FIRMA.RowSource = "Angaben!A2:A" & V_ZEILE_FIRMA   'Source aus dem Excel
V_ZEILE = Worksheets("Neuer Anwender").Cells(Rows.Count, 2).End(xlUp).Row
'FüllungComboBox mit 2 Spalten
With UF_S3_NA.CB_S3_NA_KO
.ColumnCount = 2                   'Spaltenanzahl
.ColumnWidths = "0,5cm"          'Spaltenbreite
.ColumnWidths = "1cm"          'Spaltenbreite
'    .ColumnHeads = True                'Kopfzeile
.RowSource = "'Neuer Anwender'!B8:C" & V_ZEILE   'Source aus dem Excel
End With
UF_S3_NA.Show vbModeless
End Sub

Zurück schreiben der Daten:
Private Sub BU_S3_KO_Click()
Dim V_ZEILE_KO As Integer
V_ZEILE_KO = CB_S3_NA_KO.ListIndex + 8
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 3) = TB_S3_NA_BSKENNUNG
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 4) = TB_S3_NA_NACHNAME
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 5) = TB_S3_NA_VORNAME
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 6) = TB_S3_NA_MAIL
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 7) = TB_S3_NA_REFERENZ
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 8) = TB_S3_APG
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 9) = TB_S3_ASG
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 10) = CB_S3_FIRMA
End Sub
Schreiben in leere Zeile
Private Sub BU_S3_OK_Click()
Dim V_LASTROW As Integer
V_LASTROW = Sheets("Neuer Anwender").Cells(Rows.Count, 3).End(xlUp).Row + 1
Sheets("Neuer Anwender").Cells(V_LASTROW, 3) = TB_S3_NA_BSKENNUNG
Sheets("Neuer Anwender").Cells(V_LASTROW, 4) = TB_S3_NA_NACHNAME
Sheets("Neuer Anwender").Cells(V_LASTROW, 5) = TB_S3_NA_VORNAME
Sheets("Neuer Anwender").Cells(V_LASTROW, 6) = TB_S3_NA_MAIL
Sheets("Neuer Anwender").Cells(V_LASTROW, 7) = TB_S3_NA_REFERENZ
Sheets("Neuer Anwender").Cells(V_LASTROW, 8) = TB_S3_APG
Sheets("Neuer Anwender").Cells(V_LASTROW, 9) = TB_S3_ASG
Sheets("Neuer Anwender").Cells(V_LASTROW, 10) = CB_S3_FIRMA
Unload UF_S3_NA                                        'Userform UF_S3_FK leeren
UF_S3_NA.Hide                                   'Userform UF_S3_FK schließen
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten in Userform laden & zurück schreiben
09.10.2010 22:12:37
webdepp
Hallo,
habe die Datei noch hoch geladen.
https://www.herber.de/bbs/user/71834.xls
Start ; Weiter zu Step 2 ; Neuer Anwender (zweite Userform wird geladen) ; Dropdownbox und Daten aktualisieren
Vielen Dank an alle.
AW: Daten in Userform laden & zurück schreiben
10.10.2010 15:55:14
webdepp
Hallo,
kann denn mir keiner helfen?
Gruß
AW: Daten in Userform laden & zurück schreiben
10.10.2010 17:07:31
fcs
Hallo webdepp,
leider bist du deinem Nickname beim Hochladen deiner Datei ein wenig gerecht geworden. Du hast die Datei mit kennwortgeschütztem VBA-Projekt hochgeladen.
Da tut man sich natürlich schwer dir zu helfen.
Ein Problem könnte sein, dass du die korrigierten Daten zum Teil in den Bereich schreiben willst, der als RowSource für die Auswahl der zu ändernden Zeile dient. Da kann es zu unerwünschten Rückkopplungseffekten kömmen.
Gruß
Franz
Anzeige
AW: Daten in Userform laden & zurück schreiben
11.10.2010 05:00:38
fcs
Hallo webdepp,
ich lag mit meiner Vermutung richtig.
Wenn mit dem "Daten korrigieren"-Button die Nutzerkennung in Tabelle zurückgeschrieben wird, dann wird das Change-Ereignis der ComboBox "CB_S3_NA_KO" ausgelöst und die "alten" Daten werden aus der Tabelle ins UF geladen und somit die ins UF eingegebenen Korrekturen überschrieben bevor sie in die Tabelle eingetragen werden.
Man kann die meist nicht genutzte Tag-Eigenschaft der ComboBox nutzen, um den Ablauf in die gewünschte Richtung zu steuern.
Gruß
Franz
'Anzupassende Prozeduren im Code von Userform UF_S3_NA
Private Sub BU_S3_KO_Click()
Dim V_ZEILE_KO As Integer
Dim Merker                                          '###### 20101011 #####
Merker = Me.CB_S3_NA_KO.Tag                         '###### 20101011 #####
Me.CB_S3_NA_KO.Tag = "Korrektur"                    '###### 20101011 #####
V_ZEILE_KO = CB_S3_NA_KO.ListIndex + 8
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 3) = TB_S3_NA_BSKENNUNG
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 4) = TB_S3_NA_NACHNAME
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 5) = TB_S3_NA_VORNAME
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 6) = TB_S3_NA_MAIL
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 7) = TB_S3_NA_REFERENZ
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 8) = TB_S3_APG
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 9) = TB_S3_ASG
Sheets("Neuer Anwender").Cells(V_ZEILE_KO, 10) = CB_S3_FIRMA _
'Von Userform in Excel übertragen
' Unload UF_S3_NA                                 'Userform UF_S3_FK leeren
' UF_S3_NA.Hide                                   'Userform UF_S3_FK schließen
Me.CB_S3_NA_KO.Tag = Merker                          '###### 20101011 #####
End Sub
Private Sub CB_S3_NA_KO_Change()
If Me.CB_S3_NA_KO.Tag = "Korrektur" Then Exit Sub          '###### 20101011 #####
V_ZEILE = Worksheets("Neuer Anwender").Cells(Rows.Count, 2).End(xlUp).Row
'FüllungListbox mit 2 Spalten und Kopfzeile
With UF_S3_NA.CB_S3_NA_KO
.ColumnCount = 2                   'Spaltenanzahl
.ColumnWidths = "0,5cm"          'Spaltenbreite
.ColumnWidths = "1cm"          'Spaltenbreite
'   .ColumnHeads = True                'Kopfzeile
.RowSource = "'Neuer Anwender'!B8:C" & V_ZEILE   'Source aus dem Excel
End With
TB_S3_NA_BSKENNUNG = Sheets("Neuer Anwender").Cells(CB_S3_NA_KO.ListIndex + 8, 3)
TB_S3_NA_NACHNAME = Sheets("Neuer Anwender").Cells(CB_S3_NA_KO.ListIndex + 8, 4)
TB_S3_NA_VORNAME = Sheets("Neuer Anwender").Cells(CB_S3_NA_KO.ListIndex + 8, 5)
TB_S3_NA_MAIL = Sheets("Neuer Anwender").Cells(CB_S3_NA_KO.ListIndex + 8, 6)
TB_S3_NA_REFERENZ = Sheets("Neuer Anwender").Cells(CB_S3_NA_KO.ListIndex + 8, 7)
TB_S3_APG = Sheets("Neuer Anwender").Cells(CB_S3_NA_KO.ListIndex + 8, 8)
TB_S3_ASG = Sheets("Neuer Anwender").Cells(CB_S3_NA_KO.ListIndex + 8, 9)
CB_S3_FIRMA = Sheets("Neuer Anwender").Cells(CB_S3_NA_KO.ListIndex + 8, 10)
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige