Dynamische VBA code met selection.replace functie

Status
Niet open voor verdere reacties.

martenbergmans

Gebruiker
Lid geworden
23 nov 2009
Berichten
7
Beste,

Op het moment ben ik vastgelopen met de onderstaande code.

Wat ik graag zou willen is dat de waardes zoeken naar en vervangen door (ctrl f -> tabblad vervangen) per loop veranderd worden door de speciale instellingen. Ik wil dus graag in de eerste loop dat de zoekwaarde Appels (= zoekwaarde1) en vervangwaarde Fruit (= vervangwaarde1) worden toegevoegd aan de selection.replace functie en dat bij de tweede loop de zoekwaarde Peren (=zoekwaarde2) en vervangwaarde Fruit (= vervangwaarde2) worden toegevoegd aan de selection.replace functie, etc.

Alvast bedankt voor de hulp.

Met vriendelijke groeten,

Marten


-------------------BEGIN CODE-------------------------


Sub Macro15()
'
' Macro15 Macro
'

'------------------------SPECIALE INSTELLINGEN VOOR DEZE MACRO------------------------

Aantal_wijzigingen = 3

Zoekwaarde1 = "Appels"
Vervangwaarde1 = "Fruit"
Zoekwaarde2 = "Peren"
Vervangwaarde2 = "Fruit"
Zoekwaarde3 = "Bananen"
Vervangwaarde3 = "Fruit"

'-------------------------------------------------------------------------------------

For o = 1 To Aantal_wijzigingen

Columns("CU:CU").Select
Selection.Replace What:=Zoekwaarde & o, Replacement:=Vervangwaarde & o, LookAt:= _
xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Next o

Range("CS1").Select

End Sub
 
Ik zou dat met een array en de Split functie doen.
Voorbeeld:
Code:
Sub ArrayGebruik()
    Dim i As Integer                'Tellertje
    Dim Lijst() As String           'Maak een Array
    Dim Zoek As String              'De zoekwaarden
    Dim Vervang As String           'De vervangwaarde
    
    Zoek = "Appels,Peren,Bananen"   'Vul de zoekwaarden
    Lijst() = Split(Zoek, ",")      'Plaats de zoekwaarden in de Array
    Vervang = "Fruit"               'Vul de vervangwaarde
    
    For i = 0 To UBound(Lijst)      'Loop nu door de Array
        MsgBox Lijst(i)             'De Ubound functie geeft het hoogste indexnummer
        'Hier je zoek en vervang    'De MsgBox kan dan uiteraard weg
        'code
    Next
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan