Avatar billede starf Nybegynder
25. september 2011 - 20:21 Der er 16 kommentarer og
1 løsning

problem med at fjerne space fra en streng

Jeg har en variable der henter noget data der indeholder "100 DKK" som værdi. For at gøre så jeg kan lægge tallene sammen, således systemet kan regne med disse tal, har jeg forsøgt at lave en funktion, der fjerner DKK delen.

ipris = csvArk.Cells(ræk, findKolonne("Item Total"))
ipris2 = Replace(ipris, "DKK", "")
ipris3 = RTrim(ipris2)

problemet med dette er at outputtet stadig giver "100 "
altså med et space til sidst, og det ødelægger det lidt. Nogle der har en løsning?
Avatar billede erikjacobsen Ekspert
25. september 2011 - 20:23 #1
Du kunne prøve

    ipris2 = Replace(ipris, " DKK", "")
Avatar billede erikjacobsen Ekspert
25. september 2011 - 20:25 #2
Men ellers lyder det mere som om du ikke bruger ipris3, men ipris2 senere i dit program
Avatar billede starf Nybegynder
25. september 2011 - 20:37 #3
hele koden ser sådan her ud:

ipris = csvArk.Cells(ræk, findKolonne("Item Total"))

ipris2 = Replace(ipris, "DKK", "")
ipris3 = RTrim(ipris2)

.Range("G" & detailRæk) = ipris3

laver jeg som du forslår med " DKK" så fjerner den slet ikke noget.
Avatar billede erikjacobsen Ekspert
25. september 2011 - 20:45 #4
Så er det nok ikke et space, selv om det ser sådan ud.
Avatar billede claes57 Ekspert
25. september 2011 - 20:47 #5
og hvorfor rtrim - det ville da være bedre bare at fjerne mellemrum uanset om de var til højre eller venstre

ipris = csvArk.Cells(ræk, findKolonne("Item Total"))
ipris2 = Replace(ipris, "DKK", "")
ipris3 = Trim(ipris2)

og det er så stadig en tekst - du skal lave det om til et tal for at kunne regne på det

ipris = csvArk.Cells(ræk, findKolonne("Item Total"))
ipris2 = Replace(ipris, "DKK", "")
ipris3 = CDbl(Trim(ipris2))
Avatar billede starf Nybegynder
25. september 2011 - 20:58 #6
ipris3 = CDbl(Trim(ipris2))

giver en type mismatch
Avatar billede starf Nybegynder
25. september 2011 - 22:55 #7
bruger jeg

ipris3 = CStr(Trim(ipris2))

får jeg fint output ud men igen kan ikke lægge dem sammen, og der er et space efter tallet. (Ser det ud til)
Avatar billede claes57 Ekspert
26. september 2011 - 08:34 #8
hvis du tidligere i koden har brugt ipris3, så er den nok sat til tekststrenge der. Det skal være en ubrugt eller en tal-variabel.
Avatar billede starf Nybegynder
26. september 2011 - 08:38 #9
ipris3 er ikke brug nogen steder. selv hvis jeg finder på et totalt random navn, giver den samme fejl.
Avatar billede claes57 Ekspert
26. september 2011 - 08:59 #10
det må være decimal-tegnet, der driller.
hvis tallet er vist som fx 10.125,45, så skal punktummer fjernes, og komma rettes til punktum.

ipris3 = CDbl(Replace(Replace(Trim(ipris2),".",""),",","."))
så vil den rette 10.125,45 til 10125.45
Avatar billede starf Nybegynder
26. september 2011 - 09:10 #11
det giver stadig type mishmatch, ændre jeg det til cstr virker det fint, men

den kan stadig ikke regne med tallet, og der er et space efter tallet stadig. Den kan ej heller regne med tallet hvis jeg fjerner space, som den kunne før.
Avatar billede starf Nybegynder
26. september 2011 - 10:38 #12
ser ud til det måske er en asc char 160 der giver problemet, hvis jeg bruger:

ipris4 = Replace(ipris3(Chr(160), ""))

til at fjerne den med, får jeg bare en fejl : argument not optional.. hvordan gør man så ?
Avatar billede claes57 Ekspert
26. september 2011 - 11:17 #13
evt del den i to

tegn = "" & Chr(160)
ipris4 = Replace(ipris3(tegn, ""))
Avatar billede starf Nybegynder
26. september 2011 - 11:43 #14
får stadig argument not optional..
Avatar billede claes57 Ekspert
26. september 2011 - 12:33 #15
ipris3 = Val(Replace(Replace(ipris2,".",""),",","."))
Avatar billede starf Nybegynder
26. september 2011 - 12:37 #16
Så kom den endelig! super tak for hjælpen. Smid et svar :)
Avatar billede claes57 Ekspert
26. september 2011 - 12:57 #17
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester