Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Überarbeitung einer kleinen Kunden-/Adreßverwaltung
#1
Hallo zusammen,
unter  Excel VBA-Forum - Das Forum zu Microsoft Excel VBA habe ich schon mal gefragt. Aber da komme ich nicht weiter. Deswegen versuche ich es hier mal, zumal ich hier auch meine Excelmappe hochladen kann.



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.



LG
Heiko


Angehängte Dateien
.xlsm   Kunden_Adress_Verwaltung.xlsm (Größe: 18,44 KB / Downloads: 2)
Zitieren
#2
Hallo Heiko,

ich habe mal eine Listobjekt (formatierte Tabelle "Tbl_Stammdaten") draus gemacht und den Code zum Eintragen dazu passend geschrieben.
Code:
Option Explicit

Private Sub cmd_Speichern_Click()
    Dim i&, arrZ(), arrCnt(): arrCnt = Array("cmb_Anrede", "txt_Titel", "txt_Vorname", "txt_Name", "txt_Strasse", "txt_Hausnummer", "txt_PLZ", "txt_Ort", "cmb_Land", "txt_Telefon", "txt_Handy", "txt_EMail", "txt_Internet", "txt_Kundennummer")
    ReDim arrZ(1 To 1, 1 To UBound(arrCnt) + 1)
    For i = LBound(arrCnt) To UBound(arrCnt)
        arrZ(1, i + 1) = Controls(arrCnt(i))
        arrCnt(i) = ""
    Next i
    Tabelle1.ListObjects(1).ListRows.Add.Range.Resize(1, UBound(arrZ, 2)) = arrZ
End Sub

Private Sub UserForm_Initialize()
    cmb_Anrede.List = Array("Frau", "Herr", "Divers")
    cmb_Land.List = Array("Deutschland", "Österreich", "Schweiz", "Spanien")
    cmb_Anrede.ListIndex = 0
    cmb_Land.ListIndex = 0
End Sub
Mehr braucht es dafür eigentlich nicht.

.xlsm   Kunden_Adress_Verwaltung.xlsm (Größe: 23 KB / Downloads: 1)

Gruß Uwe
Zitieren
#3
sorry Pflichtfelder hatte ich vergessen. Die Prozedur mit Pflichtfelder dann so:
Code:
Private Sub cmd_Speichern_Click()
    Dim i&, arrZ(), arrCnt(): arrCnt = Array("cmb_Anrede", "txt_Titel", "txt_Vorname", "txt_Name", "txt_Strasse", "txt_Hausnummer", "txt_PLZ", "txt_Ort", "cmb_Land", "txt_Telefon", "txt_Handy", "txt_EMail", "txt_Internet", "txt_Kundennummer")
    ReDim arrZ(1 To 1, 1 To UBound(arrCnt) + 1)
    For i = 2 To 7
        If Controls(arrCnt(i)) = "" Then
            MsgBox "Das Feld """ & arrCnt(i) & """ darf nicht leer bleiben!", vbExclamation, "fehlende Eingabe"
            Controls(arrCnt(i)).SetFocus
            Exit Sub
        End If
    Next i
    For i = LBound(arrCnt) To UBound(arrCnt)
        arrZ(1, i + 1) = Controls(arrCnt(i))
        arrCnt(i) = ""
    Next i
    Tabelle1.ListObjects(1).ListRows.Add.Range.Resize(1, UBound(arrZ, 2)) = arrZ
End Sub

Gruß Uwe
Zitieren
#4
Hallo Heiko,
 
hier mal ein erster Schritt zum Weg einer brauchbaren Tabellenverwaltung via Userform. Erst mal habe ich nur Neu Eintragen nebst Fehlerbehandlung eingebaut.
Dies funktioniert auf Basis Listobjekt. Den Rest: Filtern / Eintrag ändern / Löschen kann ich bei Bedarf noch nachreichen.
Aber versuche erst mal auf dieser Basis weiter zu bauen.

.xlsm   Kunden_Adress_Verwaltung.xlsm (Größe: 31,37 KB / Downloads: 0)
 
Gruß Uwe
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste




Hinweis auf Angebot Excel-Inside - lang    Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden um dein Anliegen zu besprechen.
   Gerne erstellen wir auf dieser Basis ein Angebot.
   Sende deine Anfrage einfach
per E-Mail an anfrage@excel-inside.de


Powerd and supported by Excel-InsideSolutions