• 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 opnemen met zoek en vervang werkt niet

Status
Niet open voor verdere reacties.

68Yael

Gebruiker
Lid geworden
2 aug 2023
Berichten
49
Hoi Forumleden,
Voor mijn werk moet ik vaak vergelijkingen maken waar de datum vergelijken een grote rol speelt.
Om duidelijk te zien welke data's verschillen werk ik met voorwaardelijke opmaak, de data's die gelijk zijn kleuren dan niet.
Vanuit het systeem komt een datum (01-08-2023) van de leverancier ontvang ik een datum (01.08.2023) nu heb ik een macro opgenomen waarbij de streep vervangen wordt door een punt maar dit werkt niet.
Wat wel werkt in de macro is als ik bij de datum (31-12-2099 waarbij de leverancier zegt 31.12.9999) de 2099 zoek en vervang voor 9999.
Wanneer ik handmatig de kolom selecteer en met ctr h vervangen doe, werkt het wel.
Als ik de weergave wijzig werkt het weer niet want dan zie je wel de punten maar in de header staan nog steeds de streepjes.

extra info, datum uit het systeem geeft een aangepaste datum aan: dd*-*mm*-*jjjj
de datum van de leverancier komt uit een verticaal zoek functie

Hoop dat jullie mij hiermee kunnen helpen, dank daarvoor.
 
Welkom op het forum.
een voorbeeld bestand zou helpen.
 
Wat in kolom B staat zijn geen datums maar gewoon tekst.
Zo kan je controleren of de datum in kolom A gelijk is aan kolom B.
PHP:
=A5=DATUMWAARDE(SUBSTITUEREN(B5;".";"-"))
 
Beste Edmoor,

dank je wel.
ik heb nu waar of onwaar staan.
in kolom b heb ik een voorwaardelijke opmaak staan met, als a en b niet gelijk zijn de cel in B een kleur krijgt.
hoe krijg ik dat weer voor elkaar?
had gehoopt dat de data's dezelfde format zouden krijgen zodat het werkt, die ik dan weer in een macro kan meenemen.

hoor graag of daar een oplossing voor is
 
Zo?
 

Bijlagen

Hoi Edmoor,

het werkt alleen kleuren nu nog steeds alle cellen.
kan dit omdat er een vert.zoeken in kolom b staat?
VERT.ZOEKEN(G16;'Blad 2'!A:V;21;ONWAAR)
 
Bij mij kleuren alleen de cellen die aan de voorwaarde van de functie voldoen:
 

Bijlagen

  • Screenshot 2023-08-02 142206.png
    Screenshot 2023-08-02 142206.png
    31,7 KB · Weergaven: 13
in het voorbeeld dat ik mee stuurde kon ik geen vert.zoeken laten staan want die verwijzing doet het dan niet.
ik heb er dus de datum ingezet.
in onderstaand printscreen doet hij het allemaal kleuren
KdA5vG2 uQAAAABJRU5ErkJggg==
 
Je kan dan beter een relevant voorbeeld document plaatsen.
 
Hallo 68Yael

Met welke versie van excel werken jullie?
Ik ben zelf aan het denken om hiervoor power query te gebruiken.
En zoals al div. keren gevraagd is, upload een bestandje zoals je het e.e.a. binnen krijgt maar zorg wel dat er geen gevoelige info in staat.
 
Nee, is helaas niet voldoende.
Je hebt het ook steeds over een macro maar het bestandje wat je upload is een .xlsx bestand dus zonder macro's.
.xlsm of .xlsb is een bestand met macro's.
Tevens is je bestand zo summier dat we (ik) er niet veel mee aankan.
 
Maak er dit van:
PHP:
=B1=DATUMWAARDE(SUBSTITUEREN(C1;".";"-"))
 

Bijlagen

Hoi Peter en Edmoor,
wij werken met office 365
bijgevoegd het originele bestand en heb de gevoelige info verwijderd.
hoop dat dit voldoende is om te kijken wat werkt.
alvast mijn dank.
 

Bijlagen

Je vervangt 2099 door 9999.
Vervang dan ook de punten door streepjes.
 
Hoi Edmoor,
dat heb ik geprobeerd maar niet gelijk met de 9999 maar wel dezelfde regels gekopieerd en de 2099 gewijzigd in - en 9999 in .
helaas slaat de macro de laatste stap over. Ook als ik deze eerder in het proces zet.
zijn er jokers die je kunt gebruiken om de streep en komma van 31-12-2099 om te zetten naar 31.12.9999?
 
Persoonlijk zou ik de datum van de leverancier omzetten naar echte datums die met het streepje dus.(01-08-2023)
Dit is eenvoudig te doen via de standaardfunctie van excel 'Tekst naar Kolommen'
Via macrorecoder heb ik deze code gemaakt.

Code:
Sub Macro_2()

    Columns("U:U").Select
    Selection.TextToColumns Destination:=Range("U1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 4), TrailingMinusNumbers:=True
End Sub
 
Gebruik deze functie in kolom V in plaats van je VERT.ZOEKEN functie.
Die zit al in het document.
Code:
Function ZoekVervang(zoek As String) As String
    With Sheets("LEVERANCIER")
        Set c = .Range("A:A").Find(zoek, , xlValues, xlWhole)
        If Not c Is Nothing Then
            ZoekVervang = Replace(Replace(.Cells(c.Row, 21), ".", "-"), "9999", "2099")
        End If
    End With
End Function
Aanroep:
PHP:
=ZoekVervanG(G12)
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan