[VBA] macro problemen

Pagina: 1
Acties:

  • sebasgrif
  • Registratie: Februari 2004
  • Laatst online: 28-01 18:26
Ik ben bezig met het maken van een macro voor excel

Als ik een bestand open moet ik eerst een combobox vullen met gegevens uit kolom F. dubbele gegevens mogen hier niet in voorkomen.Hierna moet ik alle rijen waarin F de geslecteerde waarde heeft kopieren naar een ander blad.

ik zit met een probleem, hoe kan ik door een kolom heen stappen op zoek naar de waarde, ik krijg het niet voor elkaar om een loop aan te maken met hierin een vergelijking.

Wie kan mij een beetje op weghelpen, ik heb al gezocht, maar misschien niet op de juiste plaatsen (wel op google, msdn, got, en nog wat fora)

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Een loopje kan je gewoon zo maken:
Visual Basic:
1
2
3
4
5
6
7
i = 1
Set Cell = Sheet1.Cells(i, 6)
While Not (Cell.Value = "")
    ComboBox1.AddItem Cell
    i = i + 1
    Set Cell = Sheet1.Cells(i, 6)
Wend



Ik kan me niet voorstellen dat je dat nergens heb kunnen vinden. Je titel had trouwens ook iets duidelijker gemogen.

[ Voor 3% gewijzigd door Daos op 16-01-2005 17:31 . Reden: typo ]


  • sebasgrif
  • Registratie: Februari 2004
  • Laatst online: 28-01 18:26
Ik heb het uiteindelijk zo gedaan:
Visual Basic:
1
2
3
For Each cell In Range("b2", Range("B2").End(xlDown))
                ComboBox.AddItem (cell.Value)
 Next cell


werkt ook goed, ik had wat problemen met bovenstaande reply.
Ik zit nu alleen wel met een ander klein probleempje, hoe kan ik dubbele entries voorkomen?

[ Voor 27% gewijzigd door sebasgrif op 16-01-2005 20:43 ]


  • Daos
  • Registratie: Oktober 2004
  • Niet online
Ik heb het uiteindelijk zo gedaan:
Visual Basic:
1
2
3
For Each cell In Range("b2", Range("B2").End(xlDown))
                ComboBox.AddItem (cell.Value)
 Next cell
Hij is bij mij met deze code wel erg lang bezig als de kolom leeg is.
Ik zit nu alleen wel met een ander klein probleempje, hoe kan ik dubbele entries voorkomen?
Ik kan zo snel even geen .Contains Method vinden, maar het kan bijvoorbeeld ook zo:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim items As New Collection
    
For Each cell In Range("b2", Range("B2").End(xlDown))
        
    found = False
    For Each i In items
        If i = cell Then
            found = True
            Exit For
        End If
    Next i
        
    If Not found Then
           items.Add cell
           ComboBox.AddItem (cell.Value)
    End If
Next cell


Heb je wel iets geprobeerd???

[ Voor 20% gewijzigd door Daos op 16-01-2005 21:45 ]