Avatar billede hoell Nybegynder
26. april 2006 - 10:52 Der er 5 kommentarer og
1 løsning

Kald af funktion

Hej jeg forsøger at kalde med nedenstående:
Dim KolonneStart
Dim ComboboxNavn

KolonneStart = 8
ComboboxNavn = "ComboBox2"
Call Funktioner.DataInCombobox(ComboboxNavn, KolonneStart)

der kaldes følgende funktion:
Public Sub DataInCombobox(ComboboxNavn, KolonneStart)
Dim i, j, t
Dim RowNumber
Dim objListRows As ListRows
Set objListRows = ActiveWorkbook.Worksheets("Hoved ark").ListObjects("Liste1").ListRows
RowNumber = objListRows.Count
Dim unikke(65000)
Dim unikke2(65000)
t = 1
Worksheets("Hoved ark").Activate
For i = 1 To RowNumber
  unikke(i) = Cells(i + 3, KolonneStart)
Next
For i = 1 To RowNumber
  For j = i + 1 To RowNumber
    If unikke(j) = unikke(i) Then unikke(j) = ""
  Next
Next
For i = 1 To RowNumber
If unikke(i) = "" Then GoTo om
unikke2(t) = unikke(i): t = t + 1
om:
Next
For i = 1 To t
    If unikke2(i) <> "" Then
        ComboboxNavn.AddItem unikke2(i)
    End If
Next
End Sub

Der kaldes fra en userform til module hvor jeg har funktionen til at ligge; kan man overhovedt det?

men det ser ud til at problemet er omkring det at skulle kalde comboboxen med et specifikt navn der driller
Avatar billede bak Forsker
26. april 2006 - 17:07 #1
sidste løkke ændres til

For i = 1 To t
    If unikke2(i) <> "" Then
        UserForm1.Controls(ComboboxNavn).AddItem unikke2(i)
    End If
Next
Avatar billede hoell Nybegynder
27. april 2006 - 07:28 #2
Hej Bak lige hvad det skulle til. Smider du et svar så er points på kontoen
Avatar billede bak Forsker
27. april 2006 - 10:40 #3
ok :-)
Avatar billede bak Forsker
27. april 2006 - 10:40 #4
og lige et svar..
Avatar billede hoell Nybegynder
28. maj 2006 - 19:24 #5
Hej Bak

Håber du stadigvæk lige er på dette spm.
Jeg lavet det om til en funktion hvor ComboboxNavn og Kolonnestart benyttes, men nu vil jeg også gerne have formen med, men den vil ikke rigtig acceptere nedenstående:

Public Sub DataInCombobox(UserFormVariabel, ComboboxNavn, KolonneStart)
Dim i, j, t
Dim RowNumber
RowNumber = 200
Dim unikke(65000)
Dim unikke2(65000)
t = 1
Worksheets("Hoved ark").Activate
For i = 1 To RowNumber
  unikke(i) = Cells(i + 3, KolonneStart)
Next
For i = 1 To RowNumber
  For j = i + 1 To RowNumber
    If unikke(j) = unikke(i) Then unikke(j) = ""
  Next
Next
For i = 1 To RowNumber
If unikke(i) = "" _
  Or Cells(i + 3, ColoumnItemNumber).Value = "" _
  Or Cells(i + 3, ColoumnItemNumber).Value = "TBD" _
  Or Cells(i + 3, ColoumnPaperWorks).Value = "" _
  Or Cells(i + 3, ColoumnPackgingPapers).Value = "" _
  Or Cells(i + 3, ColoumnAccessoryLayout).Value = "" _
  Then GoTo om
unikke2(t) = unikke(i): t = t + 1
om:
Next
For i = 1 To t
    If unikke2(i) <> "" Then
        UserFormVariabel.Controls(ComboboxNavn).AddItem unikke2(i)
    End If
Next

Er klar over det er:

FormVariabel.Controls(ComboboxNavn).AddItem unikke2(i)

den er gal med, men kan ikke lige gennemskue hvordan syntaxen er når man bruger en variabel her?
Avatar billede hoell Nybegynder
28. maj 2006 - 19:31 #6
UserFormVariabel.Controls(ComboboxNavn).AddItem unikke2(i)

Skulle det have været :o)
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