Avatar billede friis5 Novice
10. oktober 2007 - 13:03 Der er 7 kommentarer og
1 løsning

Excel gætter format

Hvordan angiver man i sin VBA kode, at Excel ikke skal "gætte" hvilket format et givet output har?

Har et ark hvor nogle af tallene er i % andre er i en valuta, og enkelte er bare et indekstal (altså uden benævnelse) - når jeg kører koden, kan excel finde på at give dem % betegnelsen HELT uden grund (og fjerne decimalerne) :/

Den laver faktisk i bund og grund lidt mærkelige ting med de tal jeg får skrevet ud :(
Avatar billede jlemming Nybegynder
16. oktober 2007 - 18:39 #1
Med output mener du så de værdier du gemmer i celler fra VBA, hvis du ønsker at gemme dem uden format, skal du gemme dem i value2.
altså Range("A1").value2 = værdi
Avatar billede friis5 Novice
16. oktober 2007 - 18:44 #2
Udtrykte mig nok lidt ringe, men jeg har et excelark, hvori der kører en masse vba, en del af den vba henter specificeret data fra et ark, og kopierer dem over i et andet ark - alt afhæning af hvad der i source-arket, skal den skrive "dkr" "%" osv efter tallet i output arket. Enkelte af tallene fra source arket er index tal, og har derfor ingen benævnelse, men efter kørt kode, kan excel stadig finde på at give dem det. Hertil har jeg ingen idé om hvorfor?!?!
Avatar billede jlemming Nybegynder
16. oktober 2007 - 20:12 #3
umiddelbart tro jeg det er din kode der gør det. Gør den også hvis hentes frem senere?
Excel sætter formatter efter hvilken type variabel der ligges i cellen. prøv evt. at komme med noget af koden
Avatar billede friis5 Novice
17. oktober 2007 - 09:12 #4
Jeg kan med garanti sige, at det ikke er koden (altså noget jeg har skrevet). Har kørt den 100% trinvis, og det er altså super mærkeligt. Lad os bare lege, at ark1 ser sådan ud

[A]    [B]
100    dkr
10      %
234    usd
230,12 
230,324
100000  nok

Så bliver output arket:

[A]
100 dkr
10 %
234 usd
230,12 
230,324
100000 nok

her kan den finde på, at smide et procenttegn efter de to midterste tal, eller endda fjerne kommaet, så tallet bliver langt større. Har no clue hvor den skulle have den idé fra, da jeg blot kopiere de to celler sammen (der laves en masse tjek, på hvilke celler der er tale om), og derfor skal jeg enten smide 50 sider kode ind, eller blot prøve at høre, om folk har prøvet noget lignende.

Grunden til at jeg tror, at Excel "gætter" format, er når man arbejder i ark, og kører en kolonne med % tal, og så har et tal uden %, så skriver den automatisk % bagved til tider...

Fx, skriver man
[A]
10%
5%
2%

skriver man blot "4" i den næste celle, så skriver Excel "4%" - tror det er der fejlen ligger!
Avatar billede jlemming Nybegynder
17. oktober 2007 - 09:30 #5
Jeg tror hvis du formatter dine celler til tekster før du ligger værdier i dem, løser det problemet.
Når formattet er general, kan excel selv skifte formattet.

evt. med koden:
    Range("A1:H22").Select
    Selection.NumberFormat = "@"
Avatar billede friis5 Novice
17. oktober 2007 - 09:33 #6
Det er sgu nok løsningen, takker :)
Avatar billede jlemming Nybegynder
17. oktober 2007 - 09:45 #7
Velbekomme :o)
Evt. gem dem i det ønsket format
Avatar billede friis5 Novice
17. oktober 2007 - 11:01 #8
Det virkede lige efter hensigten, er dog stadig irriteret over at Excel på den måde bare laver "auto-formatering" uden at blive spurgt :/
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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