Datentypen unverträglich

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Datentypen unverträglich
von: PQuest:-)
Geschrieben am: 30.10.2015 13:15:10

Hallo,
ich habe ein Userform mit einer Schaltfläche Save und einer Edit.
Mit Save sollen neue Datensätze gespeichert werden mit eidt wird ein vorhandener Datensatz aus einer Tabelle in das Form geladen und kann bearbeitet werden.
Klappt alles.
Jetzt kommt das Problem mit dem Speichern. Habe ich einen Datensatz geändert und klicke dann auf Speichern, so wird er hinten an die Liste angefügt. Ich möchte aber, dass der vorhandene Datensatz mit den aktuellen Einträgen überschrieben wird.
Welche Möglichkeiten gibt es, den Datensatz zu überschreiben?
Gruß,
PQuest:-)

Bild

Betrifft: Falscher Betr!! Save nach Edit ist richtig
von: PQuest:-)
Geschrieben am: 30.10.2015 13:19:54
Sorry

Bild

Betrifft: AW: Falscher Betr!! Save nach Edit ist richtig
von: Rudi Maintaire
Geschrieben am: 30.10.2015 13:28:30
Hallo,
Patientennummer per Find-Methode suchen. Wenn gefunden, Zeile überschreiben. Sonst neuer Datensatz.
Ich würde das generell mit einer Schaltfläche so machen. Nur 1 SF, nur 1 Code.
Gruß
Rudi

Bild

Betrifft: AW: Falscher Betr!! Save nach Edit ist richtig
von: PQuest:-)
Geschrieben am: 30.10.2015 13:39:21
Hallo Rudi,
NA KLAR! Du hast Recht. Ich habe schon überlegt mit einer Public Bol Variable zu arbeiten.
Kaum redet man drüber, wirds auch schon einfach. Wenn ich es jetzt noch richtig mache...
Danke und Gruß
PQuest:-)

Bild

Betrifft: AW: Falscher Betr!! Save nach Edit ist richtig
von: Daniel
Geschrieben am: 30.10.2015 13:55:21
Hi
im Prinzip so:

dim ZeilenNummer
dim Zelle
set Zelle = Cells.Find(What:=PatientenNummer)
if Zelle Zelle is Nothing then
    ZeilenNummer = Cells(Rows.count, 1).End(xlup).Row
else
    ZeilenNummer = Zelle.Row
end if

und dann die Werte aus der Userform in die Zeile "ZeilenNummer" zurückschreiben
wenn die Patientennummer gefunden wurde, ist das die Zeile mit dieser Patientennummer, wenn nicht, die erste freie Zelle am Tabellenende.
gruß Daniel

Bild

Betrifft: ...).End(xlup).Row +1 !!! owT
von: Rudi Maintaire
Geschrieben am: 30.10.2015 14:03:07


Bild

Betrifft: AW: Falscher Betr!! Save nach Edit ist richtig
von: PQuest:-)
Geschrieben am: 30.10.2015 14:11:18
Danke. Ich habe es so gemacht:

        With Worksheets("ListOfPatients")
            If Not IsError(Application.Match(cbPatID, .Columns(1), 0)) Then
                lngLastRow = Application.Match(cbPatID, .Columns(1), 0) 'PatID vorhanden=Daten ü _
berschreiben
                lngOffset = 0
            Else
                lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row   'PatID nicht vorhanden= _
Daten anhängen
                If lngLastRow = 8 And IsEmpty(Cells(8, 1).Value) Then lngOffset = 0 Else  _
lngOffset = 1
            End If
...


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Werte und Formatierung in andere Datei übernehmen"