Avatar billede jensen363 Forsker
29. juni 2007 - 22:59 Der er 8 kommentarer og
1 løsning

Autofyld kombinationsboks med data som kan variere i antal

Dette har jeg gjort 1000 gange i Access, men hvordan gøres det i Excel ???

Har et dataudtræk som grundlæggende består af en række produktnavne som jeg via en kombinationsboks skal vælge imellem i et regneark.

Afhængig af bruger / behov, kan dataudtrækket variere i antallet af produkter, men min kombinationsboks skal kun indeholde netop det antal produkter som findes det aktuelle dataudtræk.

Ydermere indeholder dataudtrækket flere identiske produktlinier, blot visende hver sine data i de øvrige kolonner.

Eksempel :

Produkt_A  Budget
Produkt_A  Actual
Produkt_A  Previous
Produkt_B  Budget
Produkt_B  Actual
Produkt_C  Previous
..... o.s.v.

Produktet skal kun optræde een gang i min kombinationsboks, men antallet af produkter kan altså variere dynamisk fra gang til gang

Hvordan gøres det ?
Avatar billede word-hajen Nybegynder
01. juli 2007 - 11:57 #1
Har du ikke mulighed for at ændre/manipulere dit dataudtræk, så du ikke får "dubletter"?

Hvor befinder dit dataudtræk sig? Bliver det placeret i et ark for sig selv i Excel eller har du det et andet sted?

Hvis ikke du kan ændre/manipulere dit dataudtræk, kan du løbe de items, som du allerede har tilføjet i comboboxen, igennem og tjekke, om det næste item eksisterer, inden du tilføjer det.
Avatar billede jensen363 Forsker
01. juli 2007 - 12:27 #2
Data / produkt  er i kolonne A i mit dataudtræk ... hvis der er en metode hvormed man kan kopierer dette over i en anden arkfane og der manipulere/gruppere data er det vel i orden.

Jeg kan ikke hitte ud af hvorledes jeg dynamisk kan opdatere min dropdownboks
Avatar billede word-hajen Nybegynder
01. juli 2007 - 12:50 #3
Public Sub FillCombobox()
    Dim objFillRange As Range
    Dim strProduct As String
    Dim i As Integer
   
    ComboBox1.Clear
    Application.ScreenUpdating = False
    Set objFillRange = ActiveSheet.Columns("A").CurrentRegion
   
    For i = 1 To objFillRange.Cells.Count
        strProduct = objFillRange.Cells(i)
        If AddItem(strProduct) Then ComboBox1.AddItem strProduct
    Next i
   
    Application.ScreenUpdating = True
End Sub

Public Function AddItem(strProduct As String) As Boolean
    Dim i As Integer
   
    For i = 0 To ComboBox1.ListCount - 1
        If strProduct = ComboBox1.List(i) Then
            AddItem = False
            Exit Function
        End If
    Next i
   
    AddItem = True
End Function
***********************
Husk at rette sheet til det rigtige (og navnet på comboboxen).
Avatar billede jensen363 Forsker
01. juli 2007 - 14:54 #4
Jeg kan ikke få det til at fungere :-( ...

Den kan ikke genkende min combobox

Min Combobox1 befinder sig på en på en arkfane som er benævnt Dashboard, og min liste på en arkfane kaldet Gruppe, men heller ikke selv om jeg placerer denne på selve Dashboard-arket
Avatar billede word-hajen Nybegynder
01. juli 2007 - 15:29 #5
Placér koden i det ark, hvor du har comboboxen (husk at rette navnet på comboboxen, hvis du har kaldt den noget andet).

Ret derefter set objFillRange til:

set objFillRange = sheets("Gruppe").Columns("A").CurrentRegion
Avatar billede jensen363 Forsker
01. juli 2007 - 15:34 #6
Jeg forsøger ... men ind til videre tak for hjælpen
Avatar billede jensen363 Forsker
01. juli 2007 - 15:44 #7
Kunne ikke lige få den til at virke med den makro jeg havde i forvejen, men det hjalp at fo den aktiveret via  Worksheet_SelectionChange i det aktuelle ark :-)

Læg venligst svar
Avatar billede word-hajen Nybegynder
01. juli 2007 - 22:45 #8
Svar :-)

Sig lige til, hvis du skal have hjælp med at kombinere med den eksisterende makro - at fylde comboboxen ved hver Worksheet_SelectionChange er formentlig ikke optimal.
Avatar billede jensen363 Forsker
02. juli 2007 - 08:18 #9
Det er helt ok sådan som løsningen fungerer nu :-)

Takker for hjælpen
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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