Avatar billede kahl Mester
15. februar 2017 - 20:45 Der er 5 kommentarer og
1 løsning

Array til listboks i Userform

Hej

Jeg vil gerne loope igennem en kollonne og pille de tekster ud der er markeret med fed. putte dem i et array sammen med række nummeret. Det går faktisk okay. Så har jeg lavet en UserForm med en Listboks hvor jeg godt kunne tænke mig at liste teksten et komma og så række-nummeret.

Hvordan griber jeg Array til Listboks problematikken an? jeg får hele tiden en fejl, alt efter hvad jeg retter får jeg en ny fejl så jeg ved ikke helt om det jeg har lavet overhovedet er den rette vej at gå.
15. februar 2017 - 21:01 #1
Vis lidt kode, så kan fejlen(e) måske findes
Avatar billede kahl Mester
15. februar 2017 - 21:21 #2
Det er faktisk med vilje jeg ikke har sat kode ind for at få en anden til gang til opgaven end min.
15. februar 2017 - 22:05 #3
Der er masser af metoder til det - her er en hurtig - dog en jeg næsten aldrig bruger, da jeg normalt læser hele kilden ind i et array, og så løber det igennem... det er væsentig hurtigere end at skulle evaluere på cellerne, men det skal vi jo gøre her (FED)

Private Sub UserForm_Activate()
    Dim lRow As Long
    Dim wsSource As Worksheet
    Dim rSource As Range
   
    'Definer kilden
    Set wsSource = ActiveSheet
    Set rSource = ActiveSheet.Range("A1").CurrentRegion.Columns(1)
   
    For lRow = rSource.Cells(1, 1).Row To rSource.Cells(rSource.Rows.Count, 1).Row
        If rSource.Cells(lRow, 1).Font.Bold = True Then
            Me.ListBox1.AddItem rSource.Cells(lRow, 1).Value & ", " & lRow
        End If
    Next lRow
   
End Sub
Avatar billede kahl Mester
16. februar 2017 - 10:12 #4
Det var slet ikke sådan jeg have grebet det an så det var godt at få en anden vinkel på det.

Jeg får dog kun 7 fede linjer når jeg springer de 2 første rækker over (overskriften til kolonerne) 9 fede linjer hvis jeg tager de 2 rækker med også.
Den stopper med at læse mellem linje 103 og 116. Der er lige nu 758 linjer der skal loopes igennem samt 38 fede linjer.

Nogen gode bud på hvor jeg finder begrænsningen?
Avatar billede kahl Mester
16. februar 2017 - 10:16 #5
den looper 112 linjer igennem, linje 112 er ganske vist tom men er ikke den første tomme linje heller ej den sidste. slette jeg den stopper den ved linje 115 som også er tom.
Avatar billede kahl Mester
16. februar 2017 - 10:59 #6
Fandt den selv ved at ændre For loopet lidt til
  For lRow = rSource.Cells(3, 25).Row To rSource.Cells(Rows.Count, 25).End(xlUp).Row
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