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

sheet omzetten naar waardes maar met behoud van opmaak

  • Onderwerp starter Onderwerp starter jcke
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jcke

Nieuwe gebruiker
Lid geworden
18 jul 2013
Berichten
3
ik heb een excel sheet waarvan in dmv macro alle formules laat omzetten naar waardes, echter zitten hier wat getallen in die als tekst worden weergegeven, maar deze moeten weer als tekst worden terug gezet en niet als getal

dus de formule vind '00, maar na onderstaande marco wordt het 0, maar het moet 00 blijven

iemand een idee hoe ik het onderstaande kan aanpassen?

For Each sh In Worksheets
If sh.Visible = True Then
sh.UsedRange.Value = sh.UsedRange.Value
Else
sh.Delete
End If
Next
End If
 
Als waardes in een kolom (of bereik aan cellen) áltijd als tekstwaarde moeten worden weergegeven, is het het slimste om die cellen ook als Tekst op te maken. In dat geval gaat je VBA-procedure wel goed.
 
Als die '00 handmatig is ingegeven om twee nullen te laten zien, dan kun je ook kiezen voor een AANGEPASTE opmaak: 00
 
als ik de cellen opmaak als tekst, en vervolgens wordt er via een formule de waarde bijgezocht, geeft hij de waardes correct weer, echter als bovenstaande macro wordt toegepast, verandert de waarde toch wel degelijk van 01 naar 1 en dat moet 01 blijven

haije de aangepaste opmaak moet ik noge effe testen
 
Kan je misschien even een voorbeeldje plaatsen? Het lukt mij nl niet om jouw vraag te reproduceren.
 
Met het stukje code dat je in #1 laat zien doe je niet alleen de cellen met formules maar ook alle andere cellen en dat lijkt me overbodig. Als die 00 cellen geen formule bevatten is dat probleem meteen opgelost als je dit gebruikt:

Code:
    For Each sh In Worksheets
        If sh.Visible = True Then
            For Each cl In sh.UsedRange
                If cl.HasFormula Then
                    cl.Value = cl.Value
                End If
            Next cl
        Else
            sh.Delete
        End If
    Next sh
 
Laatst bewerkt:
beste allemaal,

bedankt voor de reactie, de velden van 00 bevatten ook een formule. ik was bezig een test bestandje te maken omdat het complete bestand veel te groot is en toe ondekte ik de oplossing.
het was inderdaad de celeigenschappen instelling, maar niet in het gedeelte waar de formule wordt omgezet maar in het gedeelte waarde getallen worden ingevoerd

@edmoor, thanks for the suggestie, want misschien kan ik deze optie wel gebruiken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan