• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro aanpassen vervangen op bepaalde tabbladen

Status
Niet open voor verdere reacties.

Tweety1

Gebruiker
Lid geworden
6 mrt 2013
Berichten
637
Ik gebruik de volgende macro om gegevens te vervangen alleen lukt het me niet om uit te voeren op de 1e 4 tabbladen en alleen op kolom A
Op tabblad 5 staan de gegevens en wil dit uitvoeren op tabbladen 1 t/m 4

Ik heb al geprobeerd "Worksheets(1)" te vervangen door "Worksheets(5)" en de regel
"For W = 2 To Worksheets.Count" te vervangen door "For W = -4 To Worksheets.Count"

Code:
Sub vervangen()
Dim lRij As Long
    lRij = 2
    On Error Resume Next
    While Worksheets(1).Range("A" & lRij) <> ""
        For W = 2 To Worksheets.Count
            Set g = Worksheets(W).Cells.Find(Worksheets(1).Range("A" & lRij), LookIn:=xlValues, lookat:=xlWhole)
            If Not g Is Nothing Then
                Worksheets(W).Range(g.Address).Value = Worksheets(1).Range("B" & lRij).Value
                Worksheets(W).Range(g.Address).Interior.Color = vbRed
            End If
        Next
        lRij = lRij + 1
    Wend
End Sub
 
Laatst bewerkt:
Doe eens:
For W = 1 To 4
 
ok maar hoe pas ik het zo aan dat het alleen op kolom A wordt uitgevoerd
 
Gebruik deze om blad5 uit t sluiten:
Code:
For Each Ws In ThisWorkbook.Sheets
         If Not Ws.Name = "Blad5" Then
 
ok maar hoe pas ik het zo aan dat het alleen op kolom A wordt uitgevoerd

Bedoel je hiermee het zoeken in kolom A van elk werkblad?
Code:
Set g = Worksheets(W).columns(1).Find......
 
Dat klopt.
Hij werkt nu goed op kolom A. Ik loop alleen nog op het volgende vast als er meerde zelfde resultaten zijn vervangt hij er maar 1 hoe kan ik dit oplossen
 
Zoek eens op:
"Do, Loop en Findnext".
 
Allemaal erg bedankt met het meedenken

Ik heb ondertussen deze macro gebruikt.
Code:
Sub Vervangen()
    
    Dim rngData     As Range
    Dim rngLookup   As Range
    Dim Lookup      As Range
    
    With Sheets("Sheet1")
        Set rngData = .Range("A1", .Range("A" & Rows.Count).End(xlUp))
    End With
    
    With Sheets("Sheet2")
        Set rngLookup = .Range("A1", .Range("A" & Rows.Count).End(xlUp))
    End With
    
    For Each Lookup In rngLookup
        If Lookup.Value <> "" Then
            rngData.Replace What:=Lookup.Value, _
                            Replacement:=Lookup.Offset(0, 1).Value, _
                            LookAt:=xlPart, _
                            SearchOrder:=xlByRows, _
                            MatchCase:=False
        End If
    Next Lookup
    
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan