< návrat zpět

MS Excel


Téma: Formát buniek - orámovanie rss

Zaslal/a icon 12.10.2015 17:25

Ahoj,
v oblasti A17:J18 mám orámované všetky bunky (Borders(xlInsideHorizontal) i Borders(xlInsideVertical)). Pokiaľ vložím do oblasti A18:A30 nové riadky, tak na jednom sheete sú novo vložené bunky tiež orámované, na inom ale nie. Vedel by niekto, prečo tomu tak je? Makrom si vložené bunky orámovať samozrejme dokážem, chcel by som však vedieť, či sa to nedá nejako nastaviť priamo v liste, alebo kde, aby pridávané riadky boli orámované... Už roky narážam na tento problém a nepoznám odpoveď, pravda, príliš som po nej zatiaľ nepátral...

Příloha: zip27355_pom.zip (44kB, staženo 23x)
Zaslat odpověď >

#027357
avatar
Znám ten problém a proč se to tak chová, jsem taky nezjistil. Všechno se v tom směru zjednoduší při práci s tabulkou (ListObject), kde se automaticky doplní nejen formátování, ale dokonce i vzorce, pokud se tam mají nacházet. Tabulky jsou uživatelsky přívětivé, ale mají i svá omezení. Navíc např. Sort pro tabulku má úplně jinou syntaxi ve VBA než obyčejná oblast buněk. Každá sranda něco stojí...citovat
icon #027358
avatar
Bohužiaľ, ExcelTable použiť v tomto prípade nemôžem. Jedná sa o prácu na zakázku, formát výstupu si definuje klient. Ja ten vzor, ktorý som poslal, používam ako šablónu. Formulár vo VBA určí, ktorý list sa má použiť. Doňho sa potom nalejú dáta z databázy. Počet záznamov v recordsete odpovedá počtu riadkov, na ktorý potrebujem rozšíriť príslušný list šablóny. Celé je to riešené cez VBA, takže samozrejme nie je problém dopísať do kódu i formátovanie tabuľky, čo predstavuje cca 5 riadkov kódu, ale som taký bádateľ a márne si lámem hlavu, prečo to raz funguje tak a inokedy nie. Inými slovami, som už v štádiu, kedy sa snažím kódom riešiť len to, čo je nutné...citovat
#027362
avatar
Je to víceméně kiks Excelu. Pokud přidáte na řádku 18 řádek, ohraničení se udělá. Když v tuto chvíli vyberete stávající tři řádky a podíváte se do dialogu Formát buňky, uvidíte, že vnitřní vodorovné ohraničení není doopravdy všude! Až nyní, když nastavíte vnitřní vodorovné ohraničení, tak si jej Excel zapamatuje a pak už to poběží... Zkusím to vysledovat dál. Každopádně někde vzadu v hlavě mám, že je rozdíl, jestli dělící ohraničení má horní buňka dole nebo spodní buňka nahoře (může se projevit, pokud mezi ně vlítne konec stránky).citovat
icon #027363
avatar
@xlnc jestli dělící ohraničení má horní buňka dole nebo spodní buňka nahoře
To som skúsil už pred tým než som sem vložil príspevok - sformátovať oba riadky samostatne, t.j. hornému vytvoriť spodné ohraničenie a spodnému horné. To nepomohlo.

Nakoniec som to vyriešil tak, že som vložil ešte jeden riadok do tabuľky a ten sformátoval. T.j. v šablóne som miesto dvoch riadkov ponechal tri. Kupodivu, potom to už funguje podľa predstáv i keď stále neviem, v čom je pôvodný problém. Ale aspoň som sa vyhol nutnosti pridávať ďalšie riadky kódu..citovat
#027364
avatar
Ahoj! No já bych řek, že problém (z nějakého důvodu) je mezi řádky 16 a 17. Když tam dám taky "Horizontal" tak to frčí. Ale vysvětlit to neumím.

Edit: přesně AL, tři řádky to řeší.
A první se může skrýt, protože z něho se stejně nedá vkládat.citovat
#027366
avatar
Možná, když zbude čas, že by stálo za to se podívat do XML daného sešitu.citovat
icon #027368
eLCHa
@AL
Pokud vkládáte řádky, měly by si ty nové řádky převzít formát z řádku nad. Viditelně to ale nefunguje. Pokud jsou obě ohraničení (bavíme se o horní dolní) stejná, tak je ohraničeno, pokud ne tak není. To víte.

Co mi ale funguje je
Protože ohraničení buňky je součástí vlastností buňky, měl bych to tedy "u každé" nastavit zvlášť:
1 - označte A17:J17, klepněte pravým a zobrazte si nastavení ohraničení.
2 - nastavte horní a dolní ohraničení na požadované - tedy tenkou čáru. V případě, že už tam je, tak ji vyklikněte a znova naklikněte. Dejte OK.
3 - označte A14:J16, klepněte pravým a zobrazte si nastavení ohraničení.
4 - nastavte dolní ohraničení na požadované - tedy tučnou čáru. Dejte OK.
5 - Vyberte celý řádek 17:17 a dejte kopírovat.
6 - Označte 18:30 a dejte Vložit kopírované buňky.

Pokud to budete takto dělat, zkopírují se Vám jak formáty, tak vzorce a navíc víte přesně co kopírujete (u Vašeho postupu si myslíme, že to bere z řádku 17, ale víme to jistě? Spíše to vypadá na nějakou kombinaci.), protože kopírujete konkrétní řádek. Pokud se Vám zkopírují i nějaké hodnoty, tak odstranit pouze hodnoty z řádku umíte. Já si vždy vyberu řádek, který hodnoty neobsahuje ;) . Navíc při skrývání řádků bude ohraničení přesně takové jak má být a ne poskákané (předpokládám, že víte o čem mluvím).

Mám sešit, se kterým pracuji už přes 10 let. Nikdy nevkládám řádky, vždy kopíruji a vkládám kopírované a i když jsem to ladil dlouho, tak teď už to vypadá vždy tak jak chci - i když skryji řádky, sloupce.

A ještě tip
Pokud máte tabulku ohraničenou tučně "z venku" - a skryjete krajní sloupec či řádek, tučné ohraničení se Vám skryje rovněž. Proto si před tabulku vkládám sloupec a ten zprava ohraničím tučně, nad tabulku řádek = dolní tučné, vpravo = levé tučné a dole = horní tučné. Tyto pak přidám do oblasti tisku a když skryju krajní řádek sloupec, toto ohraničení mi tam zůstane. Pokud zkopíruji sloupec ze středu tabulky na kraj, opět mi tam zůstane toto ohraničení.

Toto chce cvik a pochopit, jak to přesně funguje. Ale teď, když vytvářím tabulku, tak už mám vždy ohraničení přesně tak, jak chci.citovat
icon #027413
avatar
Ahoj, ozývam sa až teraz, nestíham 7
Pre potreby makra som síce už ponechal 3 riadky v tabuľke, ale nakoniec som na to prišiel. Mám za to, že pomerne blízko kýženému stavu bol eLCHa, prišiel som však nezávisle na iný postup. Stačí do tabuliek, v ktorých to ohraničenie nefungovalo, urobiť nasledujúce:
1. Na riadok 18 vložiť nový riadok, pôvodný riadok sa posunul na riadok 19
2. Naklikať novému riadku 18 horné a spodné ohraničenie
3. Vymazať riadok 17
Za snahu pomôcť všetkým ďakujem. K tipom od eLCHy, týkajúcim sa vloženia prázdneho stĺpca A, asi toto: O tom viem, ale použiť nemôžem/nechcem. Písal som: formát výstupu si definuje klient, do toho nechcem nijako zasahovať, i tak je tam spústa ďalších vecí, ktoré s klientom vždy musím odladiť - nie je totiž príliš pozorný a vzorové súbory posiela často s chybami. To len na okraj.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje