Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem EXCEL - prehnana inteligencia pri vkladani dat (prevod dat)

Narazil som na problem, otvorim excelovsky zosit, do bunky zapisem 8.82 (8 cele, 82 stotin), mala by tam byt des.ciarka ale nasledny program pozaduje desatinny oddelovac bodku.
Ale ked zapisem 8.82, tak mi to skonvertuje ako datum 1.8.82, a uz sa k povodnej hodnote neviem dostat za ziadnych okolnosti. Oznacit stlpec ako cislo mi to prehodi na nejakuch 13140 alebo kolko, uz si nepamatam, ale to nieje podstatne, proste uz sa k povodnej hodnote nedostanem.
Da sa toto chovanie nejako niekde potlacit ?
Zatial to nemam overene, ak by som to zapisal ako ' '+8.82, teda text, ci to prejde, ale to neviem ci by bola schodna cesta . . . Na nete som nic nenasiel, aspon z dotazov ktore ma napadli, vlastne ani neviem ako polozit dotaz . . . .

Předmět Autor Datum
Format buněk... Nebo nastavení místního prostředí ve Windows.
host 05.03.2022 21:06
host
Obvykle se to řeší tak, že klikneš na titulek sloupce a nastavíš tam konkrétní formát - číslo, text,…
Jan Fiala 05.03.2022 21:24
Jan Fiala
Problem je ten, ze mi to vypadne z programu, automaticky sa zavola excel a vlozi do prveho listu, ne…
truhlik 05.03.2022 21:42
truhlik
ten program generuje rovnou výstupní formát .xls , nebo čistě textový .csv?
lední brtník 05.03.2022 23:28
lední brtník
generuje v podstate asi txtx- zobrazi na obrazovke zostavu, tlacitkom otvori excel a nasype to tam .…
truhlik 06.03.2022 17:55
truhlik
Nie je to síce otváranie excelu s parametrom, ale pokiaľ by sa neotváral nový, ale existujúci súbor,…
robert13 06.03.2022 07:05
robert13
viem, ale tlacitkom export otvori excel a nasype to do noveho zosita
truhlik 06.03.2022 17:56
truhlik
a) nastavenie miestneho prostredia windows (ako bolo spomenuté v prvej odpovedi) ak tam nemáš príst…
zavo 06.03.2022 09:41
zavo
Ano, ale ovplyvni mi to vsetky xls subory
truhlik 06.03.2022 17:57
truhlik
Tak si to priprav pred exportom dát do excelu a po exporte to vráť na pôvodné nastavenie.
zavo 07.03.2022 08:53
zavo
Nepôjde to síce priamo, ale z už raz zapísaných dátumovo zbastardených hodnôt napr 8.82 v A1 (riadok…
robert13 07.03.2022 08:57
robert13
DIk, to by mozno bola schodna cesta, nadefinovat makro a ulozit ho do subru ktory sa automaticky ota…
truhlik 07.03.2022 10:14
truhlik
Beriem späť doplnok... :-/ On síce je tiež trvale k dispozícii, ale z doplnku je problematické spúšť… poslední
robert13 07.03.2022 11:05
robert13

Obvykle se to řeší tak, že klikneš na titulek sloupce a nastavíš tam konkrétní formát - číslo, text, ...
Pak nebude docházet k automatické konverzi.

Pokud se to týká jedné buňky, pak napsat před obsah apostrof, obsah pak bude brán jako text a nebude konvertován. Ve tvém případě: '8.82

Problem je ten, ze mi to vypadne z programu, automaticky sa zavola excel a vlozi do prveho listu, nemam moznost ovplyvnit format buniek, az po vlozeni, a to uz je neskoro.
Apostrof je problem, lebo zostava v bunke a subor sa dalej spracovava, to uz je lepsie pridat pred cislo medzeru, to by mohlo skorej prejst pri dalsom spracovani.
Medzeru mozem skusit overit cez tyzden.
Len som myslel ci nieje niekde v nastaveniach nieco na odsktnutie . . . :-) ja som nic nenasiel.
Ak by slo zavolat excel s parametrom, spravil by som si subor so vsetkymi bunkami ako text, ale bohuzial, je to niekde v programe zadrotovane.

a) nastavenie miestneho prostredia windows (ako bolo spomenuté v prvej odpovedi)

ak tam nemáš prístup:
b) Excel - Súbor - Možnosti - Rozšírené - Používať systémové oddeľovače: zrušiť zaškrtnutie a nastaviť bodku v oddeľovači desatinných miest

Nepôjde to síce priamo, ale z už raz zapísaných dátumovo zbastardených hodnôt napr 8.82 v A1 (riadok vzorcov ukazuje 1.8.1982) dostaneš textový tvar s desatinnými bodkami vzorcom:
=TEXT(A1;"m.yy")
Takto získanú hodnotu prelepíš svojou vlastnou hodnotou a získaš skutočných tvrdých 8.82 a to dokonca vo formáte "všeobecné"
Môžeš si pripraviť samostatný súbor, ktorý nebude obsahovať nič iné, len makro na "konverziu" údajov súboru s importom a spustením toho makra zo súboru s importom sa ti vykoná kompletná konverzia.
Podmienkou je mať v prípade potreby otvorený súbor s makrom.
V prípade frekventovaného používania by bolo možné makro nadefinovať do doplnku automaticky otváraného so spúšťaním excelu.
Pre vyskúšanie na bunku A1:

Sub Prepis()
    Range("B1").FormulaR1C1 = "=TEXT(RC[-1],""m.yy"")"
    Range("B1").Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues
    Range("B1").ClearContents
End Sub

Definitívny kód by si samozrejme zistil rozsah...
P.S. v prípade českej verzie excelu by namiesto formátu "m.yy" musel byť formát "m.rr"

Beriem späť doplnok... :-/
On síce je tiež trvale k dispozícii, ale z doplnku je problematické spúšťanie bežných makier, je primárne určený pre volanie funkcií. Pre spustenie makra by bolo potrebné prejsť do modulu doplnku a spúšťať makro odtiaľ (nezobrazí sa v zozname dostupných makier) a nie je možné pridelenie klávesovej skratky...
Riešenie: nahrať makro do osobného zošita makier
V dialógovom okne po stlačení záznamu makra sa vyberie uloženie do osobného zošita makier a pridelí sa klávesová skratka.
Osobný zošit makier je tiež trvale k dispozícii pre každý otvorený súbor excelu.

Zpět do poradny Odpovědět na původní otázku Nahoru