• 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.

vervangen van waarde van ene werkblad naar ander werkblad

Status
Niet open voor verdere reacties.

Gorinchem

Gebruiker
Lid geworden
16 sep 2017
Berichten
22
Goedemiddag,

Ik wil graag dat bepaalde gegevens van het ene werkblad naar het andere werkblad komen, als de waarden in een cel overeen komen.

Voorbeeld:
Als de waarde in ( Voorblad A4) overeenkomt met een cel in Rittenschema in dit geval A85,
dan moeten de waarden van rij 4 F4 en G4 komen in de cellen van Rittenschema C85 en D85.
Dit moet dan voor het hele werkblad ( Voorblad ) gaan werken. ( hiervan nu geen voorbeeld )
Hiervoor werd de onderstaande code gemaakt door VenA, die perfect werkt. Waarvoor heel veel dank.

“ Sub Macro1()
Dim f As Range, j As Long, ar
ar = Sheets("Voorblad").Cells(2).CurrentRegion
For j = 2 To UBound(ar)
Set f = Sheets("Rittenschema").Columns(1).SpecialCells(2).Find(ar(j, 1), , xlValues, xlWhole)
If Not f Is Nothing Then
With f.Offset(, 2).Resize(, 2)
.Value = Array(ar(j, 6), ar(j, 7))
.Interior.Color = vbRed

End With
End If
Next j
End Sub”

Ik ben helaas iets te voorbarig geweest.
In het eerste voorbeeld werkt de code van VenA perfect.
Alleen is in het officiële bestand het bereik waarmee gewerkt moet worden, variabel.
De kolom blijft hetzelfde, maar het rijnummer waarmee begonnen moet worden, kan elke keer anders zijn.
Ik dacht dus heel slim te zijn, door "Cells" te veranderen in "Collumn", maar toen kreeg ik fout 13 te zien.
Daarna lopen rommelen met Range.("C2":"H1200") en dergelijke maar natuurlijk ook niet het gewenste resultaat.
Ik heb opnieuw een voorbeeld bijgevoegd, maar nu van het officiële bestand.

Ben ik nog te helpen?

Alvast bedankt: Rik
 

Bijlagen

  • voorbeeld.xlsx
    40,9 KB · Weergaven: 21
Beste Gorinchem

Als ik de macro van VenA goed begrijp gebruikt deze de gegevens op het voorblad (van ritnummer tot aangepast laadvenster)

vervolgens gaat deze opzoek naar ditzelfde ritnummer op het tabblad Rittenschema en plaatst de tijden van het aangepast laadvenster in kolommen C en D. De aangepaste cellen worden dan rood gemaakt.


In jouw voorbeeld geef jij aan dat er gegevens op het voorblad in regel 4 komen...
Als ik naar jouw bestandje kijk gaat het om gegevens uit de range("C21:I37"), klopt dit?


Als dat idd de gegevens zijn die jij wilt doorvoeren in het rittenschema kun je onderstaande macro gebruiken.

Code:
Sub Macro1()
Dim f As Range, j As Long, ar
ar = Sheets("Voorblad").Cells(21, 3).CurrentRegion
For j = 2 To UBound(ar)
Set f = Sheets("Rittenschema").Columns(1).SpecialCells(2).Find(ar(j, 1), , xlValues, xlWhole)
If Not f Is Nothing Then
With f.Offset(, 2).Resize(, 2)
.Value = Array(ar(j, 6), ar(j, 7))
.Interior.Color = vbRed
End With
End If
Next j
End Sub

Hierin is .Cells(2).CurrentRegion vervangen door .Cells(21,3).CurrentRegion.
Dit zorgt ervoor dat de macro zoekt naar alle opeenvolgende rijen vanaf C21 en stopt wanneer er een lege cel in kolom C gevonden wordt.

Is dit wat je bedoelde?
 
NogGeenGuru, VenA en Gijsbert1,

Hartstikke bedankt voor de hulp.
Met jullie geduld heb ik het voor elkaar gekregen.
Het werkt nu exact zoals het moet.

Diepe buiging van mijn kant.
Nogmaals sorry voor de eventuele overlast, en de dubbele vraag.

Gr: Rik Gorinchem.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan