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

Apostrof exporteren als karakter i.p.v. teken dat cel=tekst aangeeft

Status
Niet open voor verdere reacties.

JdenHartog

Nieuwe gebruiker
Lid geworden
8 nov 2018
Berichten
2
Beste lezer,

Graag zou ik in een grote dataset de apostrof (') exporteren als karakter i.p.v. teken dat cel=tekst aangeeft. Ik wil dus data uit de cellen inclusief de apostrof uitlezen. Dit mag wat mij betreft met Ctrl+A Ctrl+C, opslaan als .csv of wat voor andere manier dan ook. Ook zijn formules of macro's welkom.

Bekijk bijlage HelpMij.xlsx

Het bijgevoegde bestand bevat twee cellen met de volgende data:

'Help mij!' riep ik.
Nog een zin.

Bij kopiëren en plakken, exporteren naar .csv, het gebruik van formules en macro's wordt de apostrof voor "Help" altijd geïnterpreteerd als teken dat de cel tekst bevat ongeacht de celeigenschap (Standaard, Tekst enz.).

Een oplossing zou zijn handmatig voor alle cellen die met een apostrof beginnen nog een apostrof te zetten. Dit is erg veel werk en ik kan bijna niet geloven dat er geen andere manier is. Helaas kan het niet met code, omdat niet te detecteren valt dat de eerste cel ('Help mij!' riep ik.) met een apostrof begint en de tweede (Nog een zin.) niet. Dit omdat " H " het eerste karakter van de cel is i.p.v. " ' ". :mad:


Eeuwige roem voor wie dit oplost!

Dank en groeten,
J den Hartog

PS Ik gebruik Excel 2016 en zou idealiter de waardes van de cellen inclusief apostrof uitlezen met de Python xlrd bibliotheek.
 
Lukt het hiermee?
Code:
Sub hsv()
Dim cl As Range
For Each cl In Columns(1).SpecialCells(2, 2)
 If cl.PrefixCharacter = "'" Then cl = "''" & cl.Value
Next cl
End Sub
 
Beste Hans,

Dank voor de snelle reactie. U bent een genie! "PrefixCharacter" is de machische term. :)

Voor het bijgevoegde bestand werkt uw code prima. Voor mijn grote dataset heb ik uw code iets aangepast om de hele sheet te doen:

Code:
Sub hsv()
Dim cl As Range
For Each cl In [B][COLOR="#006400"]ActiveSheet.UsedRange.[/COLOR][/B]SpecialCells(2, 2)
 If cl.PrefixCharacter = "'" Then cl = "''" & cl.Value
Next cl
End Sub

Duizendmaal dank,
J den Hartog
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan