Avatar billede jath08ac Forsker
30. oktober 2017 - 13:37 Der er 5 kommentarer og
1 løsning

Ref. til tabel og fjern dubletter i ComboBox

Hej,

Jeg har en Combobox, hvor jeg skal skal have vist nogle værdier fra en Tabel (tblDataSpec), kolonne 'Noter'.

I denne kolonne er der en række tekst værdier som fremgår flere gange.
Jeg kunne godt tænke mig at får hjælp til nedenstående:
1. Lave en VBA kode, der kan vise data der fremgår af tblDataSpec,
    kolonnen Noter
2. Fjerne dubletter i combobox

pft.
Avatar billede Jan Hansen Ekspert
30. oktober 2017 - 13:48 #1
1. "Noter" er det et navngivet område?
2. Comboboxen er det et kontrol element?
3. forventer du en VBA løsning?

Jan
Avatar billede jath08ac Forsker
31. oktober 2017 - 08:12 #2
@Jan:
1. Noter er kolonnenavnet i min tabel, som hedder tblDataSpec

2. Det ved jeg faktisk ikke. Jeg har indsat comboboxen i en UserForm.

3. Ja. Jeg tænkte, at koden skal køre hver gang UserFormen bliver åbnet.
Avatar billede Jan Hansen Ekspert
31. oktober 2017 - 08:58 #3
1. Du mener at der står "Noter" i f.eks. cellle "B1"?

Bare så man kan lave den rette kode

Jan
Avatar billede jath08ac Forsker
31. oktober 2017 - 15:55 #4
Ja, i celle B1 sår der Note, som er overskriften på den tabel jeg har lavet. Tabellen vil være dynamisk, så der kan komme flere eller færre rækker til.
Avatar billede Den Store Stygge ;0) Seniormester
31. oktober 2017 - 22:53 #5
Kunne nedenstående være løsningen?
Der er ikke taget højde for sortering af data.
Det letteste vil nok være at sortere kolonnen (evt. via kode) før denne kode køres


Private Sub UserForm_Initialize()
' expertenATkjflDOTdk
Dim itmValue As Variant
ReDim arrValues(0) As String
Dim rngCell As Range
Dim rngCells As Range
Dim intCounter As Integer
Dim bolFound As Boolean
' itererer celler i tabellens kolonne
For Each rngCell In ActiveSheet.Range("tblDataSpec[Noter]").Cells
' checker værdien mod tidligere værdier
If intCounter > 0 Then
bolFound = False
For Each itmValue In arrValues
If CStr(rngCell.Value) = CStr(itmValue) Then
bolFound = True
Exit For
End If
Next
End If
' hvis ny værdi indsættes denne i array
If bolFound = False Then
ReDim Preserve arrValues(intCounter)
arrValues(intCounter) = rngCell.Value
intCounter = intCounter + 1
End If
Next
' array anvendes som listekilde for combobox
ComboBox.List = arrValues
End Sub
Avatar billede Jan Hansen Ekspert
31. oktober 2017 - 23:09 #6
Ligner StoreStygge har løsningen Ligner det jeg ville foreslå!!
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