|
Hallo zusammen,
ich habe unter Excel 2021 eine Mappe mit Makros angelegt. Dort ein Formular mit mehreren TextBoxen/Labels, 2 ComboBoxen und einem Button zum Speichern.
Geht um eine kleine Kunden-/Adreßverwaltung. Ich würde Euch gerne mal meine Mappe zeigen. Kann ich hier keine Anlagen beifügen?
Ich frage die wichtigsten TextBoxen auf Inhalt ab. Ist kein Eintrag, kommt eine Fehlermeldung.
Gebe ich die Daten ein und klicke auf Speichern, werden die Daten in einer Tabelle reinkopiert. Danach werden die TextBoxen gelöscht, um dann weitere Daten einfügen zu können.
Ich hatte schon was in Facebook-Gruppe (Excel VBA Programmierung | Facebook) geschrieben. Aber mir konnte da scheinbar niemand mehr helfen, es kam zumindest nix mehr.
Ich hatte die Mappe in FB hochgeladen. Jetzt schreibt mir einer, das UserForm sollte sich automatisch öffnen (das bekomme ich noch hin), die Quelltexte könnten optimiert werden und eine Funktion zum Suchen/Ändern von Einträgen. Ich weiß nicht wo ich da was optimieren könnte. Und Daten suchen/ändern, wie mache ich das? Muß ich ein neues zusätzliches Formular für die Suche/Änderung anlegen und dann ne Abfrage machen? Da ich gerade erst ein Fernstudium VBA-Programmierung mache, habe ich noch nicht viele Kenntnisse.
Hier mal mein Quellcode:
Option Explicit
Private Sub cmd_Speichern_Click()
Dim znr As Long
Dim st_ele As Control
znr = Range("A1").CurrentRegion.Rows.Count + 1
If Me.txt_Vorname = "" Then
MsgBox "Das Feld """ & Me.txt_Vorname.Tag & """ darf nicht leer bleiben!", vbExclamation, "fehlende Eingabe"
Me.txt_Vorname.SetFocus
Exit Sub
ElseIf Me.txt_Name = "" Then
MsgBox "Das Feld """ & Me.txt_Name.Tag & """ darf nicht leer bleiben!", vbExclamation, "fehlende Eingabe"
Me.txt_Name.SetFocus
Exit Sub
ElseIf Me.txt_Strasse = "" Then
MsgBox "Das Feld """ & Me.txt_Strasse.Tag & """ darf nicht leer bleiben!", vbExclamation, "fehlende Eingabe"
Me.txt_Strasse.SetFocus
Exit Sub
ElseIf Me.txt_Hausnummer = "" Then
MsgBox "Das Feld """ & Me.txt_Hausnummer.Tag & """ darf nicht leer bleiben!", vbExclamation, "fehlende Eingabe"
Me.txt_Hausnummer.SetFocus
Exit Sub
ElseIf Me.txt_PLZ = "" Then
MsgBox "Das Feld """ & Me.txt_PLZ.Tag & """ darf nicht leer bleiben!", vbExclamation, "fehlende Eingabe"
Me.txt_PLZ.SetFocus
Exit Sub
ElseIf Me.txt_Ort = "" Then
MsgBox "Das Feld """ & Me.txt_Ort.Tag & """ darf nicht leer bleiben!", vbExclamation, "fehlende Eingabe"
Me.txt_Ort.SetFocus
Exit Sub
End If
Range("A" & znr) = Me.cmb_Anrede
Range("B" & znr) = Me.txt_Titel
Range("C" & znr) = Me.txt_Vorname
Range("D" & znr) = Me.txt_Name
Range("E" & znr) = Me.txt_Strasse
Range("F" & znr) = Me.txt_Hausnummer
Range("G" & znr) = Me.txt_PLZ
Range("H" & znr) = Me.txt_Ort
Range("I" & znr) = Me.cmb_Land
Range("J" & znr) = Me.txt_Telefon
Range("K" & znr) = Me.txt_Handy
Range("L" & znr) = Me.txt_EMail
Range("M" & znr) = Me.txt_Internet
Range("N" & znr) = Me.txt_Kundennummer
Me.cmb_Anrede.ListIndex = 0
Me.cmb_Land.ListIndex = 0
For Each st_ele In Me.Controls
If TypeName(st_ele) = "TextBox" Then
st_ele.Value = ""
End If
Next
Me.cmb_Anrede.SetFocus
End Sub
Private Sub UserForm_Initialize()
Me.cmb_Anrede.AddItem "Frau"
Me.cmb_Anrede.AddItem "Herr"
Me.cmb_Anrede.AddItem "Divers"
Me.cmb_Land.AddItem "Deutschland"
Me.cmb_Land.AddItem "Österreich"
Me.cmb_Land.AddItem "Schweiz"
Me.cmb_Land.AddItem "Spanien"
Me.cmb_Anrede.ListIndex = 0
Me.cmb_Land.ListIndex = 0
End Sub
Hat einer von Euch ein paar Ideen für mich? Danke.
VG
Heiko
|