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

Klick auf Button, listbox,tabelle

Klick auf Button, listbox,tabelle
23.03.2020 07:43:08
Michi
Guten Tag Ihr Excel Profis
Ich bringe es irgendwie nicht hin das ich neue Kurse einfügen kann.
Ich klicke auf den Button "Kurs eingeben" , dann kann ich bei der Multipage "Kursdaten eingeben"
wenn ich die TextBoxen und Combobox mit Daten ausgefüllt habe Klicke ich nun auf den Button "Neue Kursvorlage" . ID fügt es mir automatisch hinzu, aber leider sind alle meine Dateneingabe weg, es zeigt mir nicht in der Listbox an und es fügt mir auch nicht in die Kursvorlage ein.
Das ist die Datei: https://www.herber.de/bbs/user/136028.xlsm
und hier ist mein Code:
  • 
    Private Sub CommandButton1_Click()
    Dim lZeile As Long
    Dim NeueID As Long
    lZeile = 2
    Do While Trim(CStr(Worksheets("Kursvorlagen").Cells(lZeile, 1).Value))  ""
    lZeile = lZeile + 1
    Loop
    NeueID = Application.Max(Sheets("Kursvorlagen").Range("A:A")) + 1
    Worksheets("Kursvorlagen").Cells(lZeile, 1) = CStr(NeueID)
    ListBox2.ColumnCount = 3
    ListBox2.ColumnWidths = "0,8 cm"
    ListBox2.AddItem
    ListBox2.List(ListBox2.ListCount - 1, 0) = CStr(NeueID)
    ListBox2.List(ListBox2.ListCount - 1, 1) = ""
    ListBox2.List(ListBox2.ListCount - 1, 2) = ""
    ListBox2.ListIndex = ListBox2.ListCount - 1
    End Sub
    

  • Kann mir jemand Helfen, komme echt nicht weiter ist zum verzweifeln?
    Danke für eure Hilfe.
    Lg Michi

    18
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Klick auf Button, listbox,tabelle
    23.03.2020 08:14:32
    Kuwer
    Hallo Michi,
    ersetze Deine Private Sub ListBox2_Click()-Prozedur durch folgende:
    Private Sub ListBox2_Click()
    Dim lZeile As Long
    If ListBox2.Name = ActiveControl.Name Then
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
    TextBox8 = ""
    TextBox9 = ""
    ComboBox1 = ""
    TextBox11 = ""
    TextBox12 = ""
    TextBox13 = ""
    If ListBox2.ListIndex >= 0 Then
    lZeile = 2
    Do While Trim(CStr(Worksheets("Kursvorlagen").Cells(lZeile, 1).Value))  ""
    If ListBox2.Text = Trim(CStr(Worksheets("Kursvorlagen").Cells(lZeile, 1).Value))  _
    Then
    TextBox4 = Trim(CStr(Worksheets("Kursvorlagen").Cells(lZeile, 1).Value))
    TextBox5 = Worksheets("Kursvorlagen").Cells(lZeile, 2).Value
    TextBox6 = Worksheets("Kursvorlagen").Cells(lZeile, 3).Value
    TextBox8 = Worksheets("Kursvorlagen").Cells(lZeile, 4).Value
    TextBox9 = Worksheets("Kursvorlagen").Cells(lZeile, 5).Value
    ComboBox1 = Worksheets("Kursvorlagen").Cells(lZeile, 6).Value
    TextBox11 = Worksheets("Kursvorlagen").Cells(lZeile, 7).Value
    TextBox11 = Format(TextBox11, "hh:mm")
    TextBox12 = Worksheets("Kursvorlagen").Cells(lZeile, 8).Value
    TextBox13 = Worksheets("Kursvorlagen").Cells(lZeile, 9).Value
    Exit Do
    End If
    lZeile = lZeile + 1
    Loop
    End If
    End If
    End Sub
    
    Gruß Uwe
    Anzeige
    AW: Klick auf Button, listbox,tabelle
    23.03.2020 08:27:19
    Michi
    Hallo Uwe
    Danke das du mir hilfst.
    Habe dies mit deinem Code ersetzt aber es passiert nichts, Listbox bleibt leer und in der Tabelle passiert auch nichts.
    Habe ich was falsch gemacht?
    Lg Michi
    AW: Klick auf Button, listbox,tabelle
    23.03.2020 08:32:53
    Kuwer
    Hallo Michi,
    "Habe ich was falsch gemacht?"
    vermutlich ja.
    Gruß Uwe
    AW: Klick auf Button, listbox,tabelle
    23.03.2020 08:39:55
    Michi
    Hallo Uwe
    Hier die Datei mit deinem Code drinnen, kannst du bitte mal testen.
    https://www.herber.de/bbs/user/136030.xlsm
    Wäre lieb wenn du es testen könntest, ich sehe den Fehler echt nicht habe es dort eingefügt wo du es mir gesagt hast.
    Lg Michi
    Anzeige
    Kommando zurück ;-)
    23.03.2020 08:52:17
    Kuwer
    Hallo Michi,
    sorry, war mein Fehler. Ich bedachte nicht, dass das ActiveControl immer die MultiPage ist.
    Teste es mal so:
    Private Sub CommandButton1_Click()
    Dim lZeile As Long
    Dim NeueID As Long
    lZeile = 2
    Do While Trim(CStr(Worksheets("Kursvorlagen").Cells(lZeile, 1).Value))  ""
    lZeile = lZeile + 1
    Loop
    NeueID = Application.Max(Sheets("Kursvorlagen").Range("A:A")) + 1
    Worksheets("Kursvorlagen").Cells(lZeile, 1) = CStr(NeueID)
    With ListBox2
    .Tag = "x"
    .ColumnCount = 3
    .ColumnWidths = "0,8 cm"
    .AddItem
    .List(ListBox2.ListCount - 1, 0) = CStr(NeueID)
    .List(ListBox2.ListCount - 1, 1) = ""
    .List(ListBox2.ListCount - 1, 2) = ""
    .Tag = ""
    .ListIndex = ListBox2.ListCount - 1
    End With
    End Sub
    Private Sub ListBox2_Click()
    Dim lZeile As Long
    If ListBox2.Tag = "" Then
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
    TextBox8 = ""
    TextBox9 = ""
    ComboBox1 = ""
    TextBox11 = ""
    TextBox12 = ""
    TextBox13 = ""
    If ListBox2.ListIndex >= 0 Then
    lZeile = 2
    Do While Trim(CStr(Worksheets("Kursvorlagen").Cells(lZeile, 1).Value))  ""
    If ListBox2.Text = Trim(CStr(Worksheets("Kursvorlagen").Cells(lZeile, 1).Value))  _
    Then
    TextBox4 = Trim(CStr(Worksheets("Kursvorlagen").Cells(lZeile, 1).Value))
    TextBox5 = Worksheets("Kursvorlagen").Cells(lZeile, 2).Value
    TextBox6 = Worksheets("Kursvorlagen").Cells(lZeile, 3).Value
    TextBox8 = Worksheets("Kursvorlagen").Cells(lZeile, 4).Value
    TextBox9 = Worksheets("Kursvorlagen").Cells(lZeile, 5).Value
    ComboBox1 = Worksheets("Kursvorlagen").Cells(lZeile, 6).Value
    TextBox11 = Worksheets("Kursvorlagen").Cells(lZeile, 7).Value
    TextBox11 = Format(TextBox11, "hh:mm")
    TextBox12 = Worksheets("Kursvorlagen").Cells(lZeile, 8).Value
    TextBox13 = Worksheets("Kursvorlagen").Cells(lZeile, 9).Value
    Exit Do
    End If
    lZeile = lZeile + 1
    Loop
    End If
    End If
    End Sub
    
    Gruß Uwe
    Anzeige
    AW: Kommando zurück ;-)
    23.03.2020 09:02:37
    Michi
    Hallo Uwe
    Kein Problem, aber leider immer noch gleich. :-(
    Hoffe du kannst mir weiterhin helfen?
    Lg Michi
    Offen
    23.03.2020 09:12:01
    Kuwer
    Hallo Michi,
    alles, was jetzt nach den Änderungen passiert oder auch nicht, ist dann codemäßig so gewollt.
    Gruß Uwe
    AW: Offen
    23.03.2020 09:19:24
    Michi
    Hallo Uwe
    Danke für deine Hilfe.
    In diesem fall muss ich den Code umschreiben.
    Das es so funktioniert wie ich es gern hätte.
    Das es wenn ich nach Eingabe der Kursdaten auf Button "Neue Kursvorlage" Klicke mir in Listbox anzeigt und in die Tabelle "Kursvorlagen" einträgt.
    Danke für deine Hilfe und hoffe das mir jemand sonst auch noch Helfen kann.
    Wäre echt lieb.
    Lg Michi
    Anzeige
    AW: Offen
    23.03.2020 09:49:14
    Nepumuk
    Hallo Michi,
    ändere mal folgende Prozeduren:
    Private Sub CommandButton1_Click()
        Dim lZeile As Long
        Dim NeueID As String
        
        With Worksheets("Kursvorlagen")
            
            lZeile = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
            
            NeueID = CStr(Application.Max(.Columns(1)) + 1)
            .Cells(lZeile, 1) = NeueID
            
        End With
        
        With ListBox2
            
            .ColumnCount = 3
            .ColumnWidths = "0,8 cm"
            .AddItem
            .List(.ListCount - 1, 0) = NeueID
            .List(.ListCount - 1, 1) = vbNullString
            .List(.ListCount - 1, 2) = vbNullString
            
            .ListIndex = .ListCount - 1
            
        End With
    End Sub

    Private Sub CommandButton2_Click()
        Dim objCell As Range
        
        If ListBox2.ListIndex > -1 Then
            
            Set objCell = Worksheets("Kursvorlagen").Columns(1).Find( _
                What:=ListBox2.Text, LookIn:=xlValues, LookAt:=xlWhole)
            
            If Not objCell Is Nothing Then
                
                objCell.EntireRow.Delete
                
                Call UserForm_Initialize
                If ListBox2.ListCount > 0 Then ListBox2.ListIndex = 0
                
            End If
        End If
    End Sub

    Private Sub ListBox2_Click()
        Dim objCell As Range
        
        TextBox4.Text = vbNullString
        TextBox5.Text = vbNullString
        TextBox6.Text = vbNullString
        TextBox8.Text = vbNullString
        TextBox9.Text = vbNullString
        ComboBox1.Text = vbNullString
        TextBox11.Text = vbNullString
        TextBox12.Text = vbNullString
        TextBox13.Text = vbNullString
        
        With Worksheets("Kursvorlagen")
            
            Set objCell = .Columns(1).Find(What:=ListBox2.Text, LookIn:=xlValues, LookAt:=xlWhole)
            
            If Not objCell Is Nothing Then
                
                TextBox4.Text = objCell.Text
                TextBox5.Text = objCell.Offset(0, 1).Text
                TextBox6.Text = objCell.Offset(0, 2).Text
                TextBox8.Text = objCell.Offset(0, 3).Text
                TextBox9.Text = objCell.Offset(0, 4).Text
                ComboBox1.Text = objCell.Offset(0, 5).Text
                TextBox11.Text = objCell.Offset(0, 6).Text
                TextBox12.Text = objCell.Offset(0, 7).Text
                TextBox13.Text = objCell.Offset(0, 8).Text
                
            End If
        End With
    End Sub

    Private Sub CommandButton6_Click()
        Dim objCell As Range
        Dim rgtext As String
        Dim lbvalue As Long
        
        lbvalue = ListBox2.ListIndex
        
        If ListBox2.ListIndex > -1 Then
            
            If TextBox4.TextLength = 0 Then
                MsgBox "ID fehlt!", vbCritical, "FEHLER!"
                Exit Sub
            End If
            
            With Worksheets("Kursvorlagen")
                
                Set objCell = .Columns(1).Find(What:=ListBox2.Text, LookIn:=xlValues, LookAt:=xlWhole)
                
                If Not objCell Is Nothing Then
                    
                    objCell.Offset(0, 1).Value = TextBox5.Text
                    objCell.Offset(0, 2).Value = TextBox6.Text
                    objCell.Offset(0, 3).Value = TextBox8.Text
                    objCell.Offset(0, 4).Value = TextBox9.Text
                    objCell.Offset(0, 5).Value = ComboBox1.Text
                    TextBox11.Text = Format$(TextBox11.Text, "hh:mm")
                    objCell.Offset(0, 6).Value = TextBox11.Text
                    objCell.Offset(0, 7).Value = TextBox12.Text
                    objCell.Offset(0, 8).Value = TextBox13.Text
                    
                End If
            End With
            
            Call UserForm_Initialize
            ListBox2.ListIndex = lbvalue
        End If
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Offen
    23.03.2020 14:46:26
    Michi
    Hallo Nepumuk
    Habe es jetzt gerade so angepasst wie Du es mir empfohlen hast.
    Aber leider immer noch das selber Problem, in der Listbox bekomme ich nur die neu zugewiesene ID, das selber auch bei der Tabelle Kursvorlage. Aber alle Dateneingaben sind weg.
    Hast Du sonst noch eine Idee?
    Danke für deine Hilfe.
    Lg Michi
    AW: Offen
    23.03.2020 15:10:35
    Nepumuk
    Hallo Michi,
    also bei mir werden die Daten in die Tabelle Kursteilnahmen eingetragen.
    Auch Änderungen oder Neueintragungen in die Kursvorlagen werden in die Tabelle eingetragen und in der Listbox aktualisiert.
    Gruß
    Nepumuk
    AW: Offen
    23.03.2020 15:19:42
    Michi
    Hallo Nepumuk,
    Kannst du mir bitte die Datei mal hochladen, wäre super lieb?
    Lg Michi
    Anzeige
    AW: Offen
    23.03.2020 15:31:12
    Michi
    Hallo Nepumuk,
    Ich gebe einfach daten ein und klicke dann auf neue Kursvorlage und habe immer noch das Problem. Nur ID und der rest ist weg. Liegt es daran das ich Microsoft Office 365 version habe?
    Lg Michi
    AW: Offen
    23.03.2020 15:41:27
    Nepumuk
    Hallo Michi,
    Neue Kursvorlage ist der CommandButton1 und da ist im Makro das vorgesehen. Sonst nichts.
    Private Sub CommandButton1_Click()
        Dim lZeile As Long
        Dim NeueID As String
        
        With Worksheets("Kursvorlagen")
            
            lZeile = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
            
            NeueID = CStr(Application.Max(.Columns(1)) + 1)
            .Cells(lZeile, 1) = NeueID
            
        End With
        
        With ListBox2
            
            .ColumnCount = 3
            .ColumnWidths = "0,8 cm"
            .AddItem
            .List(.ListCount - 1, 0) = NeueID
            .List(.ListCount - 1, 1) = vbNullString
            .List(.ListCount - 1, 2) = vbNullString
            
            .ListIndex = .ListCount - 1
            
        End With
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Offen
    23.03.2020 15:48:54
    Michi
    Hallo Nepumuk
    Ja soweit war es mir klar, aber das wollte ich eben ergänzen/ändern, das es mir von dort aus in die Listbox einträgt und in die Tabelle "Kursvorlagen" ,wenn ich auf den Button "Neue Kursvorlage" klicke.
    Ich möchte eben von der Userform her die neuen Kurse eintragen und dann mit Klick auf Button "Neue Kursvorlage" Direkt in die Listbox erscheinen lasse und in die Tabelle "Kursvorlage" kopieren/einfügen.
    Und da steh ich momentan voll auf dem schlauch und komme gerade nicht mehr weiter :-(.
    Kannst du mir dabei weiterhelfen?
    Danke für deine Hilfe
    Lg Michi
    Anzeige
    AW: Offen
    23.03.2020 15:59:24
    Nepumuk
    Hallo Michi,
    teste mal:
    Private Sub CommandButton1_Click()
        
        Dim lZeile As Long
        
        With Worksheets("Kursvorlagen")
            
            lZeile = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
            
            .Cells(lZeile, 1) = CStr(Application.Max(.Columns(1)) + 1)
            .Cells(lZeile, 2).Value = TextBox5.Text
            .Cells(lZeile, 3).Value = TextBox6.Text
            .Cells(lZeile, 4).Value = TextBox8.Text
            .Cells(lZeile, 5).Value = TextBox9.Text
            .Cells(lZeile, 6).Value = ComboBox1.Text
            TextBox11.Text = Format$(TextBox11.Text, "hh:mm")
            .Cells(lZeile, 7).Value = TextBox11.Text
            .Cells(lZeile, 8).Value = TextBox12.Text
            .Cells(lZeile, 9).Value = TextBox13.Text
            
        End With
        
        Call UserForm_Initialize
        
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Offen
    23.03.2020 16:06:16
    Michi
    Hallo Nepumuk
    Ja klasse, genau das was ich wollte :-)
    Genial.
    Danke viel mal für deine Bemühungen.
    Lg Michi

    43 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige