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?
Annonceindlæg fra DE-CIX
25. september 2011 - 20:23
#1
Du kunne prøve ipris2 = Replace(ipris, " DKK", "")
25. september 2011 - 20:25
#2
Men ellers lyder det mere som om du ikke bruger ipris3, men ipris2 senere i dit program
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.
25. september 2011 - 20:45
#4
Så er det nok ikke et space, selv om det ser sådan ud.
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))
25. september 2011 - 20:58
#6
ipris3 = CDbl(Trim(ipris2)) giver en type mismatch
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)
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.
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.
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
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.
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å ?
26. september 2011 - 11:17
#13
evt del den i to tegn = "" & Chr(160) ipris4 = Replace(ipris3(tegn, ""))
26. september 2011 - 11:43
#14
får stadig argument not optional..
26. september 2011 - 12:33
#15
ipris3 = Val(Replace(Replace(ipris2,".",""),",","."))
26. september 2011 - 12:37
#16
Så kom den endelig! super tak for hjælpen. Smid et svar :)
26. september 2011 - 12:57
#17
ok
Kurser inden for grundlæggende programmering