Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Daten aus Tabelle wieder in UF einlesen ...
25.09.2006 19:28:11
proxima05
Hallo, ich habe zwar schon die Suchfunktion bemüht, bin aber nur zum Teil erfolgreich gewesen.
Ich suche nach einer Möglichkeit, Daten die über ein UF in eine Tabelle geschrieben wurden, über einen Auswahldialog wieder in die einzelnen Felder des UF einzulesen und zu bearbeiten, und dann so abzuspeichern, dass kein neuer Datensatz aufgemacht wird, sondern der bestehende nur aktualisiert würde (dies erfordert m.E. einen Abgleich mit einem festen Schlüsselfeld in der Tabelle).
Im Moment programmiere ich gerade die dafür erforderlichen Abfragefelder, aber der Code zum Rück-Einlesen (inkl. Abgleich) ist eine echte Hürde.
Wäre toll, wenn da jemand einen Ansatz hätte .....
Danke
Ralph

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Tabelle wieder in UF einlesen ...
25.09.2006 20:25:02
Martin
Hallo,
wenn du wenige Einträge hast, hilft dir vielleicht meine Beispielmappe. Siehe ein bißchen weiter unten unter "Nummerformat in UF" Beitrag von Heute 10:38 Uhr
Wenn man Daten eingegeben und gespeichert hat, kann man später die UF wieder öffnen und einen Haftraum auswählen. Und schon ist die Eingabe sichtbar.
Gruß aus Celle
Martin
Rückmeldung wäre nett
AW: Daten aus Tabelle wieder in UF einlesen ...
25.09.2006 20:39:03
proxima05
Martin,
Danke für deine schnelle Antwort .... das ist nicht ganz das was ich suche.
Ich habe eine Tabelle (Range A1: H10), in der Daten stehen. Der Oberbegriff steht in A1, A2, A3 .... A10. Die Werte dort wurde ich gerne in ein Listenfeld oder Kombinationsfeld beim Öffnen einer Dialogbox einlesen. Beim Selektieren eines Eintrages aus dieser Liste und nachherigem OK möchte ich ein anderes UF öffnen, in dem dann alle die Details erscheinen, die zum vorher selektieren Eintrag gehören ...... das zweite UF nutze ich zum Eintragen der Daten, jetzt will ich es auch zum Aktualisieren bestehender Daten verwenden.
Scheint mir ziemlich kompliziert, aber ich möchte so etwas vorsehen, damit der User die Möglichkeit hat seinen gewünschten Weg festzulegen.
Bin dankbar für jede Hilfe.
Danke
Ralph
Anzeige
AW: Daten aus Tabelle wieder in UF einlesen ...
25.09.2006 21:13:35
fcs
Hallo Ralph,
hier ein Beispiel wie man mit Hilfe einer Spalte mit Schlüsselfeld-Eigenschaft die Daten aus der Tabelle in ein Userform laden kann und auch wieder in die Tabelle zurückspeichern kann.
In meinem Beispiel wird der gesuchte Schlüssel in einer Combobox ausgewählt. Mit Laden-Button werden die zugehörigen Daten ins Userform geholt und per Speichern-Button werden sie in die Tabelle zurückgeschrieben.
Beim Code für das Zurückschreiben muss du bei Zahlen und Datumsangaben immer den als Text aus den Formblatt-Elementen kommenden Inhalt (zumindest unter Excel97 ist das so) in ein entsprechendes Format wandeln. Funktionen CDate, CDbl, CInt etc. verwenden, sonst werden die Inhalte in der Tabelle falsch zurückgegeben.
Beispiel-Datei: https://www.herber.de/bbs/user/37005.xls
Gruss
Franz

Private Sub CB_Laden_Click()
'Suchen des Schlüssels und Laden der Daten aus der Tabelle ins Formblatt
Dim wks As Worksheet, ZelleSchluessel As Range
Set wks = ActiveWorkbook.Worksheets("Tabelle1")
'Suchen des Schlüssels in Spalte 1 (Spalte kann beliebig gewählt werden)
Set ZelleSchluessel = wks.Columns(1).Find(What:=Me.ComboBox_Schluessel, LookIn:=xlValues, Lookat:=xlWhole)
'Daten in Formblatt einlesen
With wks
UserForm1.TB_Daten01.Value = .Cells(ZelleSchluessel.Row, 2).Value 'Text aus Spalte 2
UserForm1.TB_Daten02.Value = Format(.Cells(ZelleSchluessel.Row, 3).Value, "DD.MM.YYYY") 'Datum aus Spalte 3
UserForm1.TB_Daten03.Value = .Cells(ZelleSchluessel.Row, 4).Value 'Zahl aus Spalte 4
'... ähnlich die Daten der anderen Formblattelemente mit Daten aus der Tabelle füllen
End With
End Sub
Private Sub CB_Schliessen_Click()
Unload Me
End Sub
Private Sub CB_Speichern_Click()
'Suchen des Schlüssels und zurückschreiben der Daten aus dem Formblatt in die Tabelle
If Me.ComboBox_Schluessel = "" Then Exit Sub
Application.EnableEvents = False
Dim wks As Worksheet, ZelleSchluessel As Range
Set wks = ActiveWorkbook.Worksheets("Tabelle1")
'Suchen des Schlüssels in Spalte 1 (Spalte kann beliebig gewählt werden)
Set ZelleSchluessel = wks.Columns(1).Find(What:=Me.ComboBox_Schluessel, LookIn:=xlValues, Lookat:=xlWhole)
'Daten in Formblatt einlesen
With wks
.Cells(ZelleSchluessel.Row, 2).Value = UserForm1.TB_Daten01.Value 'Text nach Spalte 2
If UserForm1.TB_Daten02.Value = "" Then
.Cells(ZelleSchluessel.Row, 3).ClearContents
Else
.Cells(ZelleSchluessel.Row, 3).Value = CDate(UserForm1.TB_Daten02.Value) 'Datum nach Spalte 3
End If
If UserForm1.TB_Daten03.Value = "" Then
.Cells(ZelleSchluessel.Row, 4).ClearContents
Else
.Cells(ZelleSchluessel.Row, 4).Value = CDbl(UserForm1.TB_Daten03.Value) 'Dezimalzahl nach Spalte 4
End If
'... ähnlich die Daten der anderen Formblattelemente in die Tabelle zurückschreiben
End With
Application.EnableEvents = True
End Sub

Anzeige
AW: Daten aus Tabelle wieder in UF einlesen ...
25.09.2006 21:53:24
proxima05
@fcs .... vielen Dank. Das hilft mir sehr!
Melde mich, wenn ich es geschafft habe bzw. zwischendurch etwas Unterstützung brauche.
gruß
Ralph
ComboBox bleibt immer leer ...
25.09.2006 23:40:39
proxima05
Kann mir jemand sagen, warum die ComboBox1 im UF bei folgendem Code leer bleibt?

Private Sub ComboBox1_Click()
ComboBoxFuellen ComboBox1, ActiveWorkbooks.Worksheets("Cash Flow").Range("AA2:AA16")
'ComboBox1.RowSource = "Cash Flow!AA2:AA16"
End Sub

Die Idee ist die, dass beim Klick auf eine Befehlsschaltfläche ein UF geöffnet wird und beim Klick in die Combobox1 die Daten aus AA2:AA16 dort gelistet werden (da die gesamte Range nicht immer vollständig gefüllt ist, wäre es gut, nur die Daten gelistet zu bekommen, die auch in der Range stehen.
Ich habe mich schon tod-gegoogelt ......
Danke für Hilfe.
Ralph
Anzeige
AW: ComboBox bleibt immer leer ...
26.09.2006 10:45:22
fcs
Hallo Ralph,
für das füllen der ComboBox muss du mit dem "Enter"-Ereignis arbeiten, nicht mit dem "Click"-Ereignis. Das "Click"-Ereignis wird bei Auswahl eines Listeneintrags ausgelöst.
Außerdem sind in deinem Code noch ein paar kleine Syntax-Fehler drin.
Gruß
Franz

Private Sub ComboBox1_Enter()
'    ComboBox1.RowSource = "'Cash Flow'!AA2:AA16"
ComboboxFuellen ComboBox1, ActiveWorkbook.Worksheets("Cash Flow").Range("AA2:AA16")
End Sub
Private Sub ComboboxFuellen(CBox As ComboBox, Bereich As Range)
'Laden der Daten aus dem Bereich in die ComboBox, leere Zellen werden übersprungen
With CBox
.Clear
For Each Zelle In Bereich
If Zelle.Value <> "" Then
.AddItem (Zelle.Value)
End If
Next Zelle
End With
End Sub

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige