Dat van die machten, zie ik zo direct niet zitten, maar ja met 4 jongens rond mij in deze prachtvakantie, is dat ook niet zo makkelijk. Zoals je het schrijft 1 10^2, heb je allicht code nodig om elke cel anders te formatteren, als dat al kan.
In verband met formules:
Eerst een bekentenis.
Ik ben enigszins in de fout gegaan door op de VBA-kar te springen, maar de verleiding is soms zo groot, hé? Deze oplossing is enkel nuttig indien je persé geen extra kolommen wil gebruiken (of eventueel een langere formule, maar die is dan wel "trager")
Het lijkt me aangewezen om formules te gebruiken: de eenvoud van deze oplossing is ontnuchterend als ik naar al die VBAcode kijk.
A B C D E F G H
1 1 2 3 4 5
2 -0,054446 4 3 -0,05 -0,054 -0,0544 -0,05445 -0,05445
3 123 1 0 100 120 123 123 123
4 1254 1 0 1000 1300 1250 1254 1254
5 18351 1 0 20000 18000 18400 18350 18351
6 11,2 1 3 10 11 11,2 11,2 11,2
7 1,1525456 1 2 1 1,2 1,15 1,153 1,1525
8 1234567,1 1 8 1000000 1200000 1230000 1235000 1234600
FORMULA[Table-It] version 07 by Erik Van GeitRANGE FORMULA (1st cell)
B2:B8 =MIN(SEARCH({1,2,3,4,5,6,7,8,9},A2&"123456789"))-(A2<1)
C2:C8 =IF(A2=TRUNC(A2),0,SEARCH(",",A2))
D2:H8 =ROUND(ABS($A2),IF($C2=0,D$1-LEN(ABS($A2)),$B2-$C2+D$1))*SIGN($A2)
[Table-It] version 07 by Erik Van Geit
In het Nederlands
ADRES FORMULE (1ste cel)
B2:B8 =MIN(VIND.SPEC({1;2;3;4;5;6;7;8;9};A2&"123456789"))-(A2<1)
C2:C8 =ALS(A2=GEHEEL(A2);0;VIND.SPEC(",";A2))
D2:H8 =AFRONDEN(ABS($A2);ALS($C2=0;D$1-LENGTE(ABS($A2));$B2-$C2+D$1))*POS.NEG($A2)
[Table-It] version 07 by Erik Van Geit
tot ziens,
Erik