Jeg er ude efter at at vise og redigere indholdet af en kolonne i en listbox. Kolonnen der skal vises i listbox'en er dynamisk og afhængig af en combobox.
Derfor:
I Sheet1 har jeg i første række overskrifter som vises i ComboBox1. A1 = Overskrift1 B1 = Overskrift2 C1 = Overskrift3 ...osv. Disse er mit opslag i ComboBox1.
Nedenfor hver overskrift har jeg flere rækker data som kan variere i antal.
F.eks: B1 = Overskrift2 B2 = Data B3 = Data B4 = Data ... osv
Når jeg i ComboBox1 vælger f.eks. Tekst2, vil jeg have ListBox1 til at vise indholdet i denne kolonne, altså B2:B100 (eller "uendeligt"). Min ComBobox skal derfor være bestemmende for hvilken kolonne i arket der skal vises i listboxen.
Dernæst vil jeg kunne redigere i det viste indhold og overskrive data i den valgte kolonne vha. CommandButton1.
Håber det giver mening, og håber meget at nogen kan hjælpe.
Rem Anbringes under relevante ark. Rem Hvis du vil have hele filen - så send en mail. @-adresse under min profil
Dim cc As Object, sidsteKol As Integer, sidsteRække As Integer Dim kol As Integer, ræk As Integer Private Sub ComboBox1_Change() kol = Me.ComboBox1.ListIndex + 1 Me.ListBox1.Clear Me.TextBox1 = ""
For Each cc In Range(Cells(2, kol), Cells(sidsteRække, kol)).Cells If cc <> "" Then Me.ListBox1.AddItem cc Else Exit For End If Next cc End Sub Private Sub CommandButton1_Click() 'overskriv Cells(ræk, kol) = Me.TextBox1 End Sub Private Sub ListBox1_Click() ræk = Me.ListBox1.ListIndex + 2 Me.TextBox1 = Cells(ræk, kol) End Sub Private Sub UserForm_activate() sidsteRække = ActiveCell.SpecialCells(xlLastCell).Row sidsteKol = ActiveCell.SpecialCells(xlLastCell).Column
For Each cc In Range(Cells(1, 1), Cells(1, sidsteKol)).Cells If cc <> "" Then Me.ComboBox1.AddItem cc Else Exit For End If Next cc
Me.ComboBox1.DropDown End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.