Avatar billede JZA Nybegynder
10. juli 2014 - 14:59 Der er 3 kommentarer og
1 løsning

Excel: Kan man kun bruge "Range" når der er mere end en celle?

Hej Eksperter

I forbindelse med en række ComboBokse hvis lister er afhængige af hinanden, har jeg udfordringer med at få programmet til at virke når jeg forsøger at sætte et range der kun består af en celle. Burde man ikke kunne det?

Private Sub ComboBox2_Enter()
    Dim rng1 As Range
     
    If ComboBox1.Value = "" Then
        ComboBox2.Clear
    ElseIf ComboBox1.Value = Sheet2.Range("A2") Then
        Set rng1 = Sheet2.Range("B2:B3")
        Me.ComboBox2.List = rng1.Cells.Value.......

Ovenstående virker fint i helheden, men når jeg har behov for at Range("B2:B3") eksempelvis skulle være Range("B3") eller Range("B3:B3") så stopper programmet ved Me.ComboBox2.List. rng1.Cells.Value har fået værdien fra "B3" men det er som om at den ikke ser det som en Liste når der kun er en værdi.
Skriver jeg eks. Me.ComboBox.Value så kommer værdien ind og så har jeg istedet udfordringer med at få den slettet med ComboBoxX.Clear.
Avatar billede kabbak Professor
12. juli 2014 - 23:17 #1
Brug navngivet område

Private Sub ComboBox1_Change()
  If Val(ComboBox1.Value) = Ark2.Range("A2") Then
    ActiveWorkbook.Names.Add Name:="CBM2", RefersToLocal:="=Ark2!B2:B10" ' ret som du vil i =Ark2!B2:B10
        ComboBox2.RowSource = "CBM2"
  End If
End Sub

Private Sub ComboBox2_Enter()
    If ComboBox1.Value = "" Then ComboBox2.Clear

End Sub
Avatar billede JZA Nybegynder
29. juli 2014 - 09:21 #2
Hej

Det virker stort set og så har jeg dog fortsat lidt udfordringer med At bruge .RowSource i stedet for .List.
Hvis jeg bruger .List kan jeg nemt slette indholdet i en efterfølgende ComboBox når jeg Enter den forgående ComboBox. det kan jeg ikke når jeg bruger RowSource.
Sagt på en anden måde så ønsker jeg at slette eventuelle valg i alle efterfølgende ComboBokse hvis man laver ændringer i en af de forgående comboBokse.
Avatar billede JZA Nybegynder
29. juli 2014 - 11:29 #3
Hej igen

Det ser ud til at jeg kan anvende RowSource hvis jeg udskifter ComboBox.Clear med ComboBox.Cut
Vil du sende mig et svar så du kan få nogle point?
Tak for hjælpen.

Mvh Jan
Avatar billede kabbak Professor
29. juli 2014 - 21:48 #4
svar
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester