[Excel macro] Vervangen doublequote karakters

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Simkin
  • Registratie: Maart 2000
  • Laatst online: 20:54
Ik probeer via een macro 'double quote' karakters te vervangen maar stom genoeg lukt mij dit niet.
Ik gebruik de volgende regels zonder gewenst resultaat:
Sub ESCAPE()
'
' ESCAPE Macro
'
Range("I:I,J:J,K:K").Select
Selection.Replace What:=Chr(34), Replacement:=""", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="''", Replacement:=""", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Dus zowel door het zoeken op de ASCI waardes als via het zoeken op het quote karakter lukt het me niet. iemand die ziet waar het fout gaat?

asci tabel

Acties:
  • 0 Henk 'm!

  • Rfce
  • Registratie: Oktober 2001
  • Laatst online: 26-09-2024

Rfce

Veni, Vidi, Vici

Als ik het goed zie, vervang je in de eerste replace een Chr(34) (ascii voor double quote) voor een " (double quote), dit is dus dubbelop.
Daarna vervang je twee single quotes ('') voor een double quote (").

euh...ja


Acties:
  • 0 Henk 'm!

  • Simkin
  • Registratie: Maart 2000
  • Laatst online: 20:54
ik zie dat er iets fout gaat met quoten avn de macro, ik gebruik nu de code tags:
code:
1
2
3
4
5
6
    Selection.Replace What:=Chr(34), Replacement:=""", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:=""", Replacement:=""", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False


ik probeer de double quote karakters juist te escapen maar bovenstaande werkt idd niet, dus ik doe iets fout :) maar het vervangen van quote karakters naar quote karakters doe ik volegsn mij niet

Acties:
  • 0 Henk 'm!

  • Rfce
  • Registratie: Oktober 2001
  • Laatst online: 26-09-2024

Rfce

Veni, Vidi, Vici

wat als je
code:
1
2
.Replace what:=Chr(34), replacement:=Chr(39), _
    lookat:=xlPart, searchorder:=xlByRows
gebruikt?

euh...ja


Acties:
  • 0 Henk 'm!

  • Simkin
  • Registratie: Maart 2000
  • Laatst online: 20:54
Rfce schreef op woensdag 26 mei 2010 @ 12:14:
wat als je
code:
1
2
.Replace what:=Chr(34), replacement:=Chr(39), _
    lookat:=xlPart, searchorder:=xlByRows
gebruikt?
Werkt ook niet, heel raar. maar als je vb zelf een replace doet op de double quote (dus zonder macro) gaat het ook al mis...

Acties:
  • 0 Henk 'm!

  • Rfce
  • Registratie: Oktober 2001
  • Laatst online: 26-09-2024

Rfce

Veni, Vidi, Vici

dat is vreemd, en je weet zeker dat er double quots in je sheet zitten -> " en dus niet ''

euh...ja


Acties:
  • 0 Henk 'm!

  • Simkin
  • Registratie: Maart 2000
  • Laatst online: 20:54
Rfce schreef op woensdag 26 mei 2010 @ 12:23:
dat is vreemd, en je weet zeker dat er double quots in je sheet zitten -> " en dus niet ''
ik ben iets verder. De text bestaat vb uit:
code:
1
2
3
=======================================
Regel 1 "appel"
Regel 2 "peer"


Zodra ik de 1ste regel met = tekens verwijder werkt de macro wel. Ik moet de macro de cellen laten behandelen als plain text vermoed ik, of zou dat standaard al moeten gebeuren?

edit: Zodra ik een single quote plaats in de cel waar het fout gaat (als 1ste karakter) dan gaat het goed. De inhoud van de cel komt uit een DB en vraag em af wat dat single quote karakter precies doet..

[ Voor 16% gewijzigd door Simkin op 26-05-2010 13:00 ]

Pagina: 1