Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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 für Anfänger

Userform für Anfänger
29.01.2020 23:49:11
JessySch
Hallo Miteinander,
mir ist dieses Forum seit Langem ein Begriff und ich konnte mir schon viele Kniffe abschauen.
Allerdings stehe ich jetzt vor einem Problem, für das ich nach Tagen Recherche und Try&Error keine Lösung finde.
Kurz zu meinen Kenntnissen: Excel kenne ich seit Jahrzehnten und nutze es ausgiebig. Wenn mal eine Anforderung auftaucht nach einem Makro (Inhaltsverzeichnisse erstellen lassen, automatische Formatierungen etc.), dann kann ich ein vorhandenes Makro einbinden und auf meine Mappe anpassen.
Aber: so richtig selbst was in VBA zu erstellen, dafür reicht es nicht.
Nun habe ich ein größeres Excel-Projekt (und nein, alle anderen naheliegenden Ansätze, das über Datenbanken zu realisieren scheitern an diversen Gründen). Gearbeitet wird mit Excel2010.
Es soll eine große Liste aus Dokumenten geben, die hinsichtlich Quelle, Erstellungsdatum, Inhalten... erfasst werden sollen.
Dazu habe ich eine Datei erstellt und in das Hauptblatt die Struktur der Tabelle aufgebaut mit allen Feldern.
Diese Tabelle heisst "Akten".
Nun habe ich anhand Hilfevideos und diversen Hilfeseiten eine userform gebastelt, die das Eintragen neuer Datensätze in die letzte freie Zeile erlaubt und den Daten eine automatische ID vergibt. Die userform ist ziemlich aufwändig mit vielen Feldern und Kombifeldern und Listenboxen. Aufwändig im Sinne von divers.
Das klappt also.
Dann wollte ich neben dem Eintragen ganz neuer Datensätze auch die Kontrolle/Ergänzung von schon bestehenden Zeilen ermöglichen.
Dass das alles innerhalb einer einzigen userform passiert habe ich schnell aufgegeben, weshalb ich eher den Ansatz einer zweiten userform verfolge, die dann eben die vorhanden Daten ändert.
Weil ich das bestehende Formular nicht nochmal neu basteln wollte habe ich es kurzerhand exportiert und als neues importiert.
Das neue Formular habe ich so angepasst, dass die Variable, die die letzte freie Zeile suchte, gelöscht wurde.
Ich hänge an folgendem:
- Laden der Werte aus dem bestehenden Tabellenblatt (anhand der Auswahl einer Combobox)
Das Ziel wären noch folgende Eigenschaften:
- Blätterbuttons für vor und zurück
- Speichern in die richtige Zeile
Wer bis hierher mitgelesen hat: Dankeschön
Ich hänge die beiden userforms mal dran, vielleicht gibt es Cracks unter Euch, die da binnen kurzer Zeit den entscheidenden Denkanstoss geben können. Falls das so rüberkommt: ich suche niemanden, wer wochenlang kostenlos Support bietet. Mir gehts echt nur um den Stoss in die richtige Richtung :)
Hm, ich kann keine Files hochladen? Dann verlänger ich diesen Beitrag unerheblich...
-----------------------------------------------------------------------------------------------
userform 1: Eingeben neuer Datensätze
VERSION 5.00
Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} EingabeFormular
Caption = "Dateneingabe"
ClientHeight = 11160
ClientLeft = 45
ClientTop = 390
ClientWidth = 15105
OleObjectBlob = "1_EingabeFormular.frx":0000
StartUpPosition = 1 'Fenstermitte
End
Attribute VB_Name = "EingabeFormular"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Button_Cancel_Click()
'Eingabefenster schließen'
Unload EingabeFormular
End Sub

Private Sub Button_Take_Click()
'Variablen
'Letzte Zeile finden
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
'Eingaben aus Formular in Tabelle übernehmen'
ActiveSheet.Cells(last, 1).Value = EingabeFormular.Text_ID.Value
ActiveSheet.Cells(last, 3).Value = EingabeFormular.Box_Archiv.Value
ActiveSheet.Cells(last, 4).Value = EingabeFormular.Box_Bestand.Value
ActiveSheet.Cells(last, 5).Value = EingabeFormular.Text_Ablage.Value
ActiveSheet.Cells(last, 6).Value = EingabeFormular.Text_Seiten.Value
ActiveSheet.Cells(last, 7).Value = EingabeFormular.Text_Umfang.Value
ActiveSheet.Cells(last, 8).Value = EingabeFormular.Text_AblOrt.Value
ActiveSheet.Cells(last, 9).Value = EingabeFormular.Text_Link.Value
ActiveSheet.Cells(last, 10).Value = EingabeFormular.Text_Jahr.Value
ActiveSheet.Cells(last, 11).Value = EingabeFormular.Text_Datum.Value
ActiveSheet.Cells(last, 12).Value = EingabeFormular.Text_Zeit.Value
ActiveSheet.Cells(last, 13).Value = EingabeFormular.Box_Typ.Value
ActiveSheet.Cells(last, 14).Value = EingabeFormular.Box_Hierarchie.Value
ActiveSheet.Cells(last, 15).Value = EingabeFormular.Box_Schrift.Value
ActiveSheet.Cells(last, 16).Value = EingabeFormular.Box_Nummernkreis.Value
ActiveSheet.Cells(last, 17).Value = EingabeFormular.Text_Nummer.Value
ActiveSheet.Cells(last, 18).Value = EingabeFormular.Text_Titel.Value
ActiveSheet.Cells(last, 19).Value = EingabeFormular.Text_Ort.Value
ActiveSheet.Cells(last, 20).Value = EingabeFormular.Box_Von.Value
ActiveSheet.Cells(last, 21).Value = EingabeFormular.Box_An.Value
'ActiveSheet.Cells(last, 22).Value = EingabeFormular.List_Verfasser.Value
Dim list2 As Integer
With EingabeFormular.List_Verfasser
For list2 = 0 To .ListCount - 1
If .Selected(list2) Then
If Cells(last, 22).Value = "" Then
ActiveSheet.Cells(last, 22).Value = .List(list2)
Else
ActiveSheet.Cells(last, 22).Value = ActiveSheet.Cells(last, 22).Value & " / " & . _
List(list2)
End If
Else 'nichts passiert'
End If
Next list2
End With
'ActiveSheet.Cells(last, 23).Value = EingabeFormular.List_Empfänger.Value
Dim list3 As Integer
With EingabeFormular.List_Empfänger
For list3 = 0 To .ListCount - 1
If .Selected(list3) Then
If Cells(last, 23).Value = "" Then
ActiveSheet.Cells(last, 23).Value = .List(list3)
Else
ActiveSheet.Cells(last, 23).Value = ActiveSheet.Cells(last, 23).Value & " / " & . _
List(list3)
End If
Else 'nichts passiert'
End If
Next list3
End With
ActiveSheet.Cells(last, 24).Value = EingabeFormular.Text_Inhalt
'ActiveSheet.Cells(last, 25).Value = EingabeFormular.List_Themen.Value
Dim i As Integer
With EingabeFormular.List_Themen
For i = 0 To .ListCount - 1
If .Selected(i) Then
If Cells(last, 25).Value = "" Then
ActiveSheet.Cells(last, 25).Value = .List(i)
Else
ActiveSheet.Cells(last, 25).Value = ActiveSheet.Cells(last, 25).Value & " / " & . _
List(i)
End If
Else
'nichts passiert'
End If
Next i
End With
'ActiveSheet.Cells(last, 27).Value = EingabeFormular.List_Zeugen.Value
Dim list4 As Integer
With EingabeFormular.List_Zeugen
For list4 = 0 To .ListCount - 1
If .Selected(list4) Then
If Cells(last, 27).Value = "" Then
ActiveSheet.Cells(last, 27).Value = .List(list4)
Else
ActiveSheet.Cells(last, 27).Value = ActiveSheet.Cells(last, 27).Value & " / " & . _
List(list4)
End If
Else 'nichts passiert'
End If
Next list4
End With
'ActiveSheet.Cells(last, 28).Value = EingabeFormular.List_Ermittler.Value
Dim list5 As Integer
With EingabeFormular.List_Ermittler
For list5 = 0 To .ListCount - 1
If .Selected(list5) Then
If Cells(last, 28).Value = "" Then
ActiveSheet.Cells(last, 28).Value = .List(list5)
Else
ActiveSheet.Cells(last, 28).Value = ActiveSheet.Cells(last, 28).Value & " / " & . _
List(list5)
End If
Else 'nichts passiert'
End If
Next list5
End With
'ActiveSheet.Cells(last, 29).Value = EingabeFormular.List_Personen.Value
Dim list6 As Integer
With EingabeFormular.List_Personen
For list6 = 0 To .ListCount - 1
If .Selected(list6) Then
If Cells(last, 29).Value = "" Then
ActiveSheet.Cells(last, 29).Value = .List(list6)
Else
ActiveSheet.Cells(last, 29).Value = ActiveSheet.Cells(last, 29).Value & " / " & . _
List(list6)
End If
Else 'nichts passiert'
End If
Next list6
End With
'ActiveSheet.Cells(last, 30).Value = EingabeFormular.List_Verdächtige.Value
Dim list7 As Integer
With EingabeFormular.List_Verdächtige
For list7 = 0 To .ListCount - 1
If .Selected(list7) Then
If Cells(last, 30).Value = "" Then
ActiveSheet.Cells(last, 30).Value = .List(list7)
Else
ActiveSheet.Cells(last, 30).Value = ActiveSheet.Cells(last, 30).Value & " / " & . _
List(list7)
End If
Else 'nichts passiert'
End If
Next list7
End With
ActiveSheet.Cells(last, 34).Value = EingabeFormular.Text_Bemerkung
ActiveSheet.Cells(last, 35).Value = EingabeFormular.Check_OK.Value
ActiveSheet.Cells(last, 36).Value = CDate(EingabeFormular.Text_Erfasst.Value)
ActiveSheet.Cells(last, 37).Value = EingabeFormular.Text_Wer
ActiveSheet.Cells(last, 38).Value = EingabeFormular.Check_übersetzen.Value
ActiveSheet.Cells(last, 39).Value = EingabeFormular.Check_Auswertung.Value
ActiveSheet.Cells(last, 40).Value = EingabeFormular.Check_Wiki.Value
ActiveSheet.Cells(last, 41).Value = EingabeFormular.Check_Buch.Value
ActiveSheet.Cells(last, 42).Value = EingabeFormular.Check_Recherche.Value
ActiveSheet.Cells(last, 43).Value = EingabeFormular.Check_Ideen.Value
End Sub
Private Sub UserForm_Initialize()
'Aktivieren Tabelle Akten'
Worksheets("Akten").Activate
'Vorbelegungen für die Felder'
EingabeFormular.Text_ID = WorksheetFunction.Max(Range("Akten!A:A")) + 1
EingabeFormular.Text_Erfasst = Date
EingabeFormular.Text_Wer = "xy"
EingabeFormular.Box_Archiv.RowSource = "Grunddaten!C9:C23"
EingabeFormular.Box_Bestand.RowSource = "Grunddaten!D26:D45"
EingabeFormular.Box_Typ.RowSource = "Grunddaten!B50:B64"
EingabeFormular.Box_Hierarchie.RowSource = "Grunddaten!B67:B69"
EingabeFormular.Box_Schrift.RowSource = "Grunddaten!B72:B74"
EingabeFormular.Box_Nummernkreis.RowSource = "Grunddaten!B77:B79"
EingabeFormular.Box_Von.RowSource = "Dienststellenliste!B6:B40"
EingabeFormular.Box_An.RowSource = "Dienststellenliste!B6:B40"
'Liste Themen vorbelegen
EingabeFormular.List_Themen.RowSource = "Inhaltslisten!B9:B56"
'Style Liste Themen
List_Themen.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Themen.MultiSelect = fmMultiSelectMulti
'Werte
'Liste Sachverhalte vorbelegen
EingabeFormular.List_Sachverhalte.RowSource = "Inhaltslisten!B61:B90"
'Style Liste Themen
List_Sachverhalte.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Sachverhalte.MultiSelect = fmMultiSelectMulti
'Werte
'Liste Verfasser
With EingabeFormular.List_Verfasser
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Verfasser.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Verfasser.MultiSelect = fmMultiSelectMulti
'Liste Empfänger
With EingabeFormular.List_Empfänger
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Empfänger.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Empfänger.MultiSelect = fmMultiSelectMulti
'Liste Zeugen
With EingabeFormular.List_Zeugen
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Zeugen.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Zeugen.MultiSelect = fmMultiSelectMulti
'Liste Ermittler
With EingabeFormular.List_Ermittler
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Ermittler.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Ermittler.MultiSelect = fmMultiSelectMulti
'Liste Zeugen
With EingabeFormular.List_Personen
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Personen.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Personen.MultiSelect = fmMultiSelectMulti
'Liste Verdächtige
With EingabeFormular.List_Verdächtige
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Verdächtige
List_Verdächtige.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Verdächtige.MultiSelect = fmMultiSelectMulti
End Sub

userform 2: Ändern bestehender Datensätze
VERSION 5.00
Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} AendernFormular
Caption = "Datenänderung"
ClientHeight = 11160
ClientLeft = 45
ClientTop = 390
ClientWidth = 15105
OleObjectBlob = "2_AendernFormular.frx":0000
StartUpPosition = 1 'Fenstermitte
End
Attribute VB_Name = "AendernFormular"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Box_ID_Change()
Dim ar1 As Integer
ar1 = ActiveCell.Row
AendernFormular.Text_Datum.Value = Application.WorksheetFunction.VLookup(clng(Box_id.Value), _
Activesheet.Range("A5",10,11,0)
End Sub

Private Sub Button_Cancel_Click()
'Eingabefenster schließen'
Unload AendernFormular
End Sub

Private Sub Button_Take_Click()
'Variablen
Dim ar As Integer
ar = ActiveCell.Row
'Eingaben aus Formular in Tabelle übernehmen'
ActiveSheet.Cells(ar, 1).Value = AendernFormular.Text_ID.Value
ActiveSheet.Cells(ar, 3).Value = AendernFormular.Box_Archiv.Value
ActiveSheet.Cells(ar, 4).Value = AendernFormular.Box_Bestand.Value
ActiveSheet.Cells(ar, 5).Value = AendernFormular.Text_Ablage.Value
ActiveSheet.Cells(ar, 6).Value = AendernFormular.Text_Seiten.Value
ActiveSheet.Cells(ar, 7).Value = AendernFormular.Text_Umfang.Value
ActiveSheet.Cells(ar, 8).Value = AendernFormular.Text_AblOrt.Value
ActiveSheet.Cells(ar, 9).Value = AendernFormular.Text_Link.Value
ActiveSheet.Cells(ar, 10).Value = AendernFormular.Text_Jahr.Value
ActiveSheet.Cells(ar, 11).Value = AendernFormular.Text_Datum.Value
ActiveSheet.Cells(ar, 12).Value = AendernFormular.Text_Zeit.Value
ActiveSheet.Cells(ar, 13).Value = AendernFormular.Box_Typ.Value
ActiveSheet.Cells(ar, 14).Value = AendernFormular.Box_Hierarchie.Value
ActiveSheet.Cells(ar, 15).Value = AendernFormular.Box_Schrift.Value
ActiveSheet.Cells(ar, 16).Value = AendernFormular.Box_Nummernkreis.Value
ActiveSheet.Cells(ar, 17).Value = AendernFormular.Text_Nummer.Value
ActiveSheet.Cells(ar, 18).Value = AendernFormular.Text_Titel.Value
ActiveSheet.Cells(ar, 19).Value = AendernFormular.Text_Ort.Value
ActiveSheet.Cells(ar, 20).Value = AendernFormular.Box_Von.Value
ActiveSheet.Cells(ar, 21).Value = AendernFormular.Box_An.Value
'ActiveSheet.Cells(ar, 22).Value = AendernFormular.List_Verfasser.Value
Dim list2 As Integer
With AendernFormular.List_Verfasser
For list2 = 0 To .ListCount - 1
If .Selected(list2) Then
If Cells(ar, 22).Value = "" Then
ActiveSheet.Cells(ar, 22).Value = .List(list2)
Else
ActiveSheet.Cells(ar, 22).Value = ActiveSheet.Cells(ar, 22).Value & " / " & .List( _
list2)
End If
Else 'nichts passiert'
End If
Next list2
End With
'ActiveSheet.Cells(ar, 23).Value = AendernFormular.List_Empfänger.Value
Dim list3 As Integer
With AendernFormular.List_Empfänger
For list3 = 0 To .ListCount - 1
If .Selected(list3) Then
If Cells(ar, 23).Value = "" Then
ActiveSheet.Cells(ar, 23).Value = .List(list3)
Else
ActiveSheet.Cells(ar, 23).Value = ActiveSheet.Cells(ar, 23).Value & " / " & .List( _
list3)
End If
Else 'nichts passiert'
End If
Next list3
End With
ActiveSheet.Cells(ar, 24).Value = AendernFormular.Text_Inhalt
'ActiveSheet.Cells(ar, 25).Value = AendernFormular.List_Themen.Value
Dim i As Integer
With AendernFormular.List_Themen
For i = 0 To .ListCount - 1
If .Selected(i) Then
If Cells(ar, 25).Value = "" Then
ActiveSheet.Cells(ar, 25).Value = .List(i)
Else
ActiveSheet.Cells(ar, 25).Value = ActiveSheet.Cells(ar, 25).Value & " / " & .List(i) _
End If
Else
'nichts passiert'
End If
Next i
End With
'ActiveSheet.Cells(ar, 27).Value = AendernFormular.List_Zeugen.Value
Dim list4 As Integer
With AendernFormular.List_Zeugen
For list4 = 0 To .ListCount - 1
If .Selected(list4) Then
If Cells(ar, 27).Value = "" Then
ActiveSheet.Cells(ar, 27).Value = .List(list4)
Else
ActiveSheet.Cells(ar, 27).Value = ActiveSheet.Cells(ar, 27).Value & " / " & .List( _
list4)
End If
Else 'nichts passiert'
End If
Next list4
End With
'ActiveSheet.Cells(ar, 28).Value = AendernFormular.List_Ermittler.Value
Dim list5 As Integer
With AendernFormular.List_Ermittler
For list5 = 0 To .ListCount - 1
If .Selected(list5) Then
If Cells(ar, 28).Value = "" Then
ActiveSheet.Cells(ar, 28).Value = .List(list5)
Else
ActiveSheet.Cells(ar, 28).Value = ActiveSheet.Cells(ar, 28).Value & " / " & .List( _
list5)
End If
Else 'nichts passiert'
End If
Next list5
End With
'ActiveSheet.Cells(ar, 29).Value = AendernFormular.List_Personen.Value
Dim list6 As Integer
With AendernFormular.List_Personen
For list6 = 0 To .ListCount - 1
If .Selected(list6) Then
If Cells(ar, 29).Value = "" Then
ActiveSheet.Cells(ar, 29).Value = .List(list6)
Else
ActiveSheet.Cells(ar, 29).Value = ActiveSheet.Cells(ar, 29).Value & " / " & .List( _
list6)
End If
Else 'nichts passiert'
End If
Next list6
End With
'ActiveSheet.Cells(ar, 30).Value = AendernFormular.List_Verdächtige.Value
Dim list7 As Integer
With AendernFormular.List_Verdächtige
For list7 = 0 To .ListCount - 1
If .Selected(list7) Then
If Cells(ar, 30).Value = "" Then
ActiveSheet.Cells(ar, 30).Value = .List(list7)
Else
ActiveSheet.Cells(ar, 30).Value = ActiveSheet.Cells(ar, 30).Value & " / " & .List( _
list7)
End If
Else 'nichts passiert'
End If
Next list7
End With
ActiveSheet.Cells(ar, 34).Value = AendernFormular.Text_Bemerkung
ActiveSheet.Cells(ar, 35).Value = AendernFormular.Check_OK.Value
ActiveSheet.Cells(ar, 36).Value = CDate(AendernFormular.Text_Erfasst.Value)
ActiveSheet.Cells(ar, 37).Value = AendernFormular.Text_Wer
ActiveSheet.Cells(ar, 38).Value = AendernFormular.Check_übersetzen.Value
ActiveSheet.Cells(ar, 39).Value = AendernFormular.Check_Auswertung.Value
ActiveSheet.Cells(ar, 40).Value = AendernFormular.Check_Wiki.Value
ActiveSheet.Cells(ar, 41).Value = AendernFormular.Check_Buch.Value
ActiveSheet.Cells(ar, 42).Value = AendernFormular.Check_Recherche.Value
ActiveSheet.Cells(ar, 43).Value = AendernFormular.Check_Ideen.Value
End Sub
Private Sub UserForm_Initialize()
'Aktivieren Tabelle Akten'
Worksheets("Akten").Activate
'Vorbelegungen für die Felder'
AendernFormular.Text_Erfasst = Date
AendernFormular.Text_Wer = "xy"
AendernFormular.Box_Archiv.RowSource = "Grunddaten!C9:C23"
AendernFormular.Box_Bestand.RowSource = "Grunddaten!D26:D45"
AendernFormular.Box_Typ.RowSource = "Grunddaten!B50:B64"
AendernFormular.Box_Hierarchie.RowSource = "Grunddaten!B67:B69"
AendernFormular.Box_Schrift.RowSource = "Grunddaten!B72:B74"
AendernFormular.Box_Nummernkreis.RowSource = "Grunddaten!B77:B79"
AendernFormular.Box_Von.RowSource = "Dienststellenliste!B6:B40"
AendernFormular.Box_An.RowSource = "Dienststellenliste!B6:B40"
'Liste Themen vorbelegen
AendernFormular.List_Themen.RowSource = "Inhaltslisten!B9:B56"
'Style Liste Themen
List_Themen.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Themen.MultiSelect = fmMultiSelectMulti
'Werte
'Liste Sachverhalte vorbelegen
AendernFormular.List_Sachverhalte.RowSource = "Inhaltslisten!B61:B90"
'Style Liste Themen
List_Sachverhalte.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Sachverhalte.MultiSelect = fmMultiSelectMulti
'Werte
'Liste Verfasser
With AendernFormular.List_Verfasser
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Verfasser.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Verfasser.MultiSelect = fmMultiSelectMulti
'Liste Empfänger
With AendernFormular.List_Empfänger
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Empfänger.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Empfänger.MultiSelect = fmMultiSelectMulti
'Liste Zeugen
With AendernFormular.List_Zeugen
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Zeugen.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Zeugen.MultiSelect = fmMultiSelectMulti
'Liste Ermittler
With AendernFormular.List_Ermittler
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Ermittler.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Ermittler.MultiSelect = fmMultiSelectMulti
'Liste Zeugen
With AendernFormular.List_Personen
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Themen
List_Personen.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Personen.MultiSelect = fmMultiSelectMulti
'Liste Verdächtige
With AendernFormular.List_Verdächtige
.ColumnCount = 3
.RowSource = "Personenliste!A6:C100"
End With
'Style Liste Verdächtige
List_Verdächtige.ListStyle = fmListStyleOption
'Mehrerer Werte
List_Verdächtige.MultiSelect = fmMultiSelectMulti
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform für Anfänger
30.01.2020 09:55:40
Werner
Hallo,
und warum kannst du keine Files hochladen?
Ich glaube kaum, dass hier jemand, anhand deiner Beschreibung deine Datei mit den Userformen nachbaut.
Gruß Werner
AW: Userform für Anfänger
01.02.2020 22:15:36
JessySch
Danke Werner,
ich bekam eine Fehlermeldung, konnte keine Files hochladen.
Das versuche ich jetzt gerne nochmal.
Sorry, wenn ich das falsch eingestellt war. Mein Fehler.
Hallo Stefan,
Danke für die Anleitung zum File-Upload. Das hatte ich so versucht, bekam aber mehrfach Fehler zurückgemeldet.
Falls es klappt müsste nun meine Excel-Datei dranhängen plus der Screenshot mit der in Excel integrierten Standardeingabemaske. Da kann man über "vorigen suchen" bzw. "weitersuchen" zwischen den Datensätzen springen (also blättern) und man kann sogar einen ganz neuen Datensatz anlegen.
Vielleicht gibt es ja einen Quellcode für genau so eine einfache Eingabemaske mit diesen Funktionalitäten?
https://www.herber.de/bbs/user/134912.xlsm
Userbild
Anzeige
AW: Userform für Anfänger
30.01.2020 11:33:38
SH95
Hallo erstmal,
also ich muss beichten, dass ich mir den Code nicht komplett durchgesehen hab. Das hat den Hauptgrund, ohne Datei hilft mir der ganze Code nichts.
Um deine Excel Datei hochzuladen, musst du auf den Buttom "Zum File-Upload" klicken, bestätigen, dass man deine Daten speichern darf, die Datei aussuchen und hochladen.
Den Link kopieren und hier reinstellen.
Die Datei darf aber max 300kb Groß sein, falls deine Datei größer ist, gäbe es die Option das du die Excel-Datei in einen Ordner legst und ihn per "Zip" komprimierst.
Oder du kopierst deine Datei, löscht die Daten, die für deine Problemstellung unwichtig sind und lädst dann die vereinfachte Excel-Datei hoch.
Gruß
Stefan
ps. als Denkanstoß für deine Fragen:
Das Laden der Werte anhand der Combobox, kannst du mit einer Schleife lösen,
For lzeile = 2 to weißdergeier
IF Combobox1.text = .cells(lzeile,deinespalte in der der Text der Combobox steht) then
in Listbox einfügen
End if
next lzeile
.
Was du mit Blätterbuttons meinst, versteh ich nicht ganz?
Speichern, kannst du wieder mit einer Schleife machen.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige