none
Automatická výška řádku (VBA MS Excell) v závislosti na jiném RRS feed

  • Dotaz

  • Dobrý den,

    potřeboval bych poradit s automatickým formátováním výšky řádku tabulky. V jiných vláknech není tentýž problém, který řeším a řešení co mě napadla nefungují.

    Mám standartní tabulku, řekněme o 3 sloupcích (A, B, C). Sloupce A, B jsou vždy na řádku sloučené, a obsah textu v těchto buňkách je neměnný. Ve sloupci C se zapisují poznámky.

    Potřebuji vždy nastavit výšku řádku tak, aby bylo vidět jak text ve sloupci A:B, tak i C (s tím, že někdy je delší text ve sloupci A:B a někdy v C).

    Pokud nastavím výšku pomocí 

    Range("SC1!A23:C35").WrapText = True
    Range("SC1!A23:C35").EntireRow.AutoFit

    nastaví se výška pouze pomocí "C" nehledě na obsah A:B a některé popisky tak nejsou vidět.

    Nelze použít ani postupné nasazení nejdřív zformátovat A:B a pak C, jelikož C přepíše nastavení A:B.

    Myslel jsem, že to vyřeším pomocí podmínky, pokud C je nižší než A:B, nastav A:B, jenže to má problém v tom, že tu hodnotu vlastně neznám.

    Jediné co mě napadá, je zformátovat A:B, uložit hodnotu do proměnné, pak nastavit C, uložit do proměnné 2 a pak porovnat tyto hodnoty a dle toho nastavit, ale pro takovou jednoduchou funkcionalitu se mě to zdá dost krkolomné.

    Měl by někdo lepší řešení?

    Děkuju

    Filip

    neděle 10. listopadu 2013 14:21

Odpovědi

Všechny reakce

  • Můžeš zkusit postup:

    1. Zapamatovat šířku sloupce A

    2. Nastavit šířku sloupce A = šířce A:B

    3. Zrušit sloučení buněk v A:B

    4. ...EntireRow.AutoFit

    5. Znovu sloučit buňky

    6. Obnovit šířku sloupce A.

    pondělí 11. listopadu 2013 0:43
  • A prikaz Rows(cislo radku).EntireRow.AutoFit  udela co? opet podle C? Se mi nechce verit.

    • Označen jako odpověď bbarmann pondělí 11. listopadu 2013 21:15
    pondělí 11. listopadu 2013 10:37