lubo(24.2.2015 13:59)citovat#023834 
Autofit skutečně u sloučených buněk nefunguje. Nastavovat buď ručně nebo makrem.
Kdysi jsem makro na to psal (neumím ho najít):
Podstatou bylo zkopírování obsahu do vhodné buňky, nastavit formátování podle zdroje a šířka sloupce podle šířky sloučené buňky, row.autofit, změřit výšku, nastavit výšku hledaného řádku a uklidit.

Jednoduchý trik:
Vyberte si sloupec, který skryjete.
Ve stejném řádku naformátujte v tomto sloupci buňku stejně, jako máte sloučené buňky - v podstatě zkopírujte formát, ale jen do jedné buňky.
Sloupec skryjte.
Do této buňky vložte také hodnotu z textboxu.
Např.
A1:B1 - sloučené
sloupec C skrytý
Private Sub Test()
Range("A1").Value = "Test" & vbLf & "Test"
Range("C1").Value = Range("A1").Value
Range("A1").EntireRow.AutoFit
End Sub

To preto, aby ste mal rovnako naformátovanú rovnakú hodnotu v bunke, ktorá nie je (!) zlúčená. A v tejto pomocnej bunke urobíte AutoFit, lebo AutoFit funguje iba na nezlúčených bunkách. Ten AutoFit nastaví ale najvyššiu výšku podľa celého riadku. Ak by to bol problém, tak použite nie skrytý stĺpec, ale skrytý list, kde nebudú vedľa iné hodnoty, ale len skopírovaná tá ktorej výšku potrebujete zistiť. Tú výšku si potom AutoFit-e prečítate a nastavíte ju na pôvodnú zlúčenú bunku.

A ten autofit se tam zadává jak?

myslel jsem že vyzraju a udělal jsem si ten skrytý slupec s kopírováním dat ze sloučených buněk. Použil jsem na skrytou bunku standardní příkaz excelu přizpůsobit výšku bunky dostzupný na standardním pásu karet "domů". Blbý je, že po změně textu se bunka pak nepřenastaví do nové výšky.. :-(

elninoslov
Já se omlouvám. S excelem děláj roky. Občas se hecnu k záznamu makra. Ale tohle jsem prostě fakt nějak nepochopil celkově... Můžeš mi s tím nějak víc pomoct prosím? Nebo někdo? žádný příkaz autofit nikde neumím najít. Vůbec jsem nějak mimo. Dělám formuláře poměrně obsáhlé... už jsou vlastně hotové, několik listů (6) a ty stacionárně velké políčka mi nevyhovují, potřebuju aby se fakt měnily výškově podle textu. Prosím pomozte mi s tím někdo. Vláďa

Vo VBA je skrytý list "Pomoc", ktorý má nastavenú vlastnosť Visible na xlSheetVeryHidden, preto ten list nevidíte. Zmente si to na xlSheetVisible.
Keď vo VBA kliknete pravým na Forms - UserForm1 - View Code, nájdete tam tento kód:
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub TextBox1_Change()
Dim Vyska As Single
With wsPomoc.Cells(15, 6)
.Value2 = TextBox1.Text
.EntireRow.AutoFit
Vyska = .RowHeight
End With
With wsData.Cells(15, 6)
.Value2 = TextBox1.Text
.RowHeight = Vyska
End With
End Sub
Private Sub TextBox2_Change()
Dim Vyska As Single
With wsPomoc.Cells(20, 3)
.Value2 = TextBox2.Text
.EntireRow.AutoFit
Vyska = .RowHeight
End With
With wsData.Cells(20, 3)
.Value2 = TextBox2.Text
.RowHeight = Vyska
End With
End Sub
Funkčnosť tu už bola popísaná niekoľkokrát. Čo k tomu viac napísať? V TextBoxe stlačíte klávesu, napíše sa písmeno, vyvolá to metódu Change daného TextBoxu. V nej sa aktuálna hodnota Textboxu prenesie do pomocnej bunky v pomocnom liste (táto bunka má rovnakú šírku ako celá zlúčená oblasť o ktorú ide, ale len jednoriadkovú výšku), formát bunky pomocnej a zlúčenej je rovnaký, nastavené zalomenie. V pomocnej bunke sa teda potom vyvolá AutoFit
...
.EntireRow.AutoFit
...
teda sa upraví na požadovanú výšku. Táto výška sa potom prečíta a podľa nej sa upraví aj výška zlúčenej oblasti.
Každopádne je to dosť špecifické súbor od súboru, použitie od použitia, druh zlúčenia od druhu zlúčenia ...
Príloha?
Stále hovoríme o Autofit-e jednoriadkovej zlúčenej oblasti. Nie o viacriadkovej. Tam by to bolo zložitejšie.
Ak myslíte "formulárom" list a nie UserForm, tak to bude ešte zložitejšie, lebo treba ošetrovať veľa stavov (zmazanie viac buniek naraz, nesúvislá oblasť a pod...), a to sa mi moc nechce ...