Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
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

Userform If/Else

Userform If/Else
01.10.2018 23:12:27
tursiops
Hallo!
Ich habe mir eine Eingabemaske für Personal per Userform gebastelt.
Hierbei soll es eine separate Userform für Neueingaben und verschiedene kleinere für Änderungen geben.
Bisher klappt alles super. In der Userform für Neuanlagen möchte ich jedoch Zwischenspeicher erlauben.
D.h. falls im Blatt "MAStD" in Spalte A bereits die ID aus UserForm: UF_MA_Aufnahme1 und _ TextBOX: TB_MAStD_Personalnummer vorhanden ist, soll die betreffende Zeile markiert und überschrieben werden. Andernfalls könnte das Makro wie folgt weiterlaufen. mit dieser If/Else Abfrage tue ich mich schwer. Kann jemand helfen?

Private Sub CommandButton2_Click()
Set frm = UF_MA_Aufnahme1
'STAMMDATEN
Sheets("MAStD").Activate
letztezeile = Sheets("MAStD").UsedRange.SpecialCells(xlCellTypeLastCell).Select
Cells(Selection.Row, 1).Offset(1, 0).Select
With frm
ActiveCell.Value = .TB_MAStD_Personalnummer.Value
ActiveCell.Offset(0, 1).Value = .TB_MAStD_Nachname.Value
ActiveCell.Offset(0, 2).Value = .TB_MAStD_Vorname.Value
ActiveCell.Offset(0, 3).Value = .TB_MAStD_Nachname.Value & ", " & .TB_MAStD_Vorname.Value
'ActiveCell.Offset(0, 4).Value = "aktiv"
ActiveCell.Offset(0, 5).Value = .TB_MAStD_Einstellungsdatum.Value
'ActiveCell.Offset(0, 6).Value = Enddatum
ActiveCell.Offset(0, 7).Value = .TB_MAStD_Geburtsdatum.Value
ActiveCell.Offset(0, 8).Value = .TB_MAStD_Geburtsname.Value
ActiveCell.Offset(0, 9).Value = .TB_MAStD_Geburtsort.Value
ActiveCell.Offset(0, 10).Value = .TB_MAStD_Personalnummer.Value
ActiveCell.Offset(0, 11).Value = .TB_MaStD_QualiKurz.Value
ActiveCell.Offset(0, 12).Value = .TB_MAStD_QualiLang.Value
ActiveCell.Offset(0, 13).Value = .TB_MAStD_Berufsbezeichnung.Value
ActiveCell.Offset(0, 14).Value = .TB_MAStD_AbschlJahr.Value
'ActiveCell.Offset(0, 15).Value = .TB_MAStD_Freitext.Value
ActiveCell.Offset(0, 16).Value = Worksheets("User").Range("G1").Value & " - " & _
Format(Date, "DD.MM.YYYY (DDDD)") & " - " & Time & " Uhr"
End With
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform If/Else
02.10.2018 08:25:36
fcs
Hallo tursiops,
probiere es mal mit der folgenden Ergänzung.
Um die von mir nicht so geliebten Activate, Select und Selection hab ich mich jetzt nich gekümmert
LG
Franz
Private Sub CommandButton2_Click()
Dim rngID As Range
Set frm = UF_MA_Aufnahme1
'STAMMDATEN
Sheets("MAStD").Activate
'ID in Spalte A suchen
Set rngID = ActiveSheet.Range("A:A").Find(What:=frm.TB_MAStD_Personalnummer.Value, _
LookIn:=xlValues, lookat:=xlWhole)
If rngID Is Nothing Then    'nicht gefunden
letztezeile = Sheets("MAStD").UsedRange.SpecialCells(xlCellTypeLastCell).Select
Cells(Selection.Row, 1).Offset(1, 0).Select
Else                        'Gefunden
rngID.Select
End If
With frm
ActiveCell.Value = .TB_MAStD_Personalnummer.Value
ActiveCell.Offset(0, 1).Value = .TB_MAStD_Nachname.Value
ActiveCell.Offset(0, 2).Value = .TB_MAStD_Vorname.Value
ActiveCell.Offset(0, 3).Value = .TB_MAStD_Nachname.Value & ", " & .TB_MAStD_Vorname.Value
'ActiveCell.Offset(0, 4).Value = "aktiv"
ActiveCell.Offset(0, 5).Value = .TB_MAStD_Einstellungsdatum.Value
'ActiveCell.Offset(0, 6).Value = Enddatum
ActiveCell.Offset(0, 7).Value = .TB_MAStD_Geburtsdatum.Value
ActiveCell.Offset(0, 8).Value = .TB_MAStD_Geburtsname.Value
ActiveCell.Offset(0, 9).Value = .TB_MAStD_Geburtsort.Value
ActiveCell.Offset(0, 10).Value = .TB_MAStD_Personalnummer.Value
ActiveCell.Offset(0, 11).Value = .TB_MaStD_QualiKurz.Value
ActiveCell.Offset(0, 12).Value = .TB_MAStD_QualiLang.Value
ActiveCell.Offset(0, 13).Value = .TB_MAStD_Berufsbezeichnung.Value
ActiveCell.Offset(0, 14).Value = .TB_MAStD_AbschlJahr.Value
'ActiveCell.Offset(0, 15).Value = .TB_MAStD_Freitext.Value
ActiveCell.Offset(0, 16).Value = Worksheets("User").Range("G1").Value & " - " & _
Format(Date, "DD.MM.YYYY (DDDD)") & " - " & Time & " Uhr"
End With
End Sub

Anzeige
AW: Userform If/Else
02.10.2018 08:33:55
tursiops
Hallo!
Das klappt in der Test-Tabelle bereits super, VIELEN DANK!!!
MIt der restlichen Umsetzung werde ich klarkommen.
Du hast mir sehr geholfen!
Gruß Frank

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige