excel vba automaticka vyska radku sloucenych bunek

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Odpovědět
zutano
nováček
Příspěvky: 8
Registrován: 09 kvě 2017 14:49

excel vba automaticka vyska radku sloucenych bunek

Příspěvek od zutano »

Dobrý den všem,
mám dokument v excelu do kterého se dopisují poznámky. Jelikož jsou ve sloučených buňkách, tak nejde upravovat automaticky výška řádku. Našel jsem makro, které to umí i ve sloučených buňkách. Bohužel toto makro funguje pouze na aktuálně vybrané buňce. Já bych potřeboval, aby zkontrolovalo více buněk a upravilo ty menší.

Podle mě by to mělo jít nějak jednoduše, zkoušel jsem několik postupů, bohužel jsem to nerozchodil. Dodávám přílohu s podrobnějším infem a makrem, které podle mě stačí jen upravit.

Budu rád za jakoukoliv pomoc.
Díky
Přílohy
vyska radku.xlsm
(27.47 KiB) Staženo 70 x
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3377
Registrován: 24 říj 2008 19:50

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvek od atari »

Jsem odpůrce slučování buněk, nejsou potřeba, stačí jen graficky přizbůsobit buňky. Již jsem tady psal, jaké to způsobuje problémy. (Například Tobě teď s makrem.)

Doporučuji zrušit slučování buněk a rozšířit sloupec A na celou šířku poznámky.
A nebo sloupec "A" nerozšiřovat, a vnitřní ozhraničení nastavit na bílou, zrušit zalamování textu, a používat ALT+ENTER.

V obou případech to bude vypadat stejně jako to máš teď.

Já tedy rozhodně ladit makro na sloučených buňkách odmítám. Možná tu však někoho najdeš ...
zutano
nováček
Příspěvky: 8
Registrován: 09 kvě 2017 14:49

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvek od zutano »

Vím, že slučování buněk komplikuje život. Bohužel jsou nad poznámkami tabulky s daty, takže nemohu roztáhnout sloupec A na celou šířku.

Když jsem zkusil druhou variantu, tak ve chvíli kdy dám ALT+ENTER, tak mi to automaticky vrátí "zalamování textu". Nevím jak udělat, aby mi to automaticky nevracelo a jestli je to vůbec možné (mám office 2016). Jsem schopen mít v jedné buňce jeden řádek textu, ale ne víc. Pokud dělám něco špatně, tak jestli můžeš, tak to prosím uprav v příloze podle tebe. Stačí třeba jen jedna buňka.
Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 165
Registrován: 30 zář 2017 20:50

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvek od Grimm »

Můžeš se inspirovat na WALL
zutano
nováček
Příspěvky: 8
Registrován: 09 kvě 2017 14:49

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvek od zutano »

Díky za tip na Wall. To řešilo výšku řádků, tu už mám vyřešenou. Jen se mi jednalo o to, aby to prohledávalo více řádků a upravilo to všechny.

Něco jsem ještě zkoušel a nakonec jsem to zprovoznil, tak jak jsem si představoval. Musel jsem udělat několik úprav i původního makra kvůli chybě v cyklu a kvůli zamknutému listu. Přikládám kód a přílohu, pokud by to někdo taky v budoucnu potřeboval :)

Kód: Vybrat vše

Sub vyska_radku()
Dim CurrentRowHeight, MergedCellRgWidth, ActiveCellWidth, PossNewRowHeight As Single
Dim CurrCell As Range
Dim radek As Range
Set radek = ActiveWorkbook.Sheets("uvod").Range("A23")

Sheets("uvod").Unprotect Password:="h" 'odemkne list

Do Until IsEmpty(radek)
radek.Select
If ActiveCell.MergeCells Then
With ActiveCell.MergeArea
'Jsou sloucene bunky na jednom radku a maji zalamovani textu?
If .Rows.Count = 1 And .WrapText = True Then
Application.ScreenUpdating = False
CurrentRowHeight = .RowHeight
ActiveCellWidth = ActiveCell.ColumnWidth
For Each CurrCell In Selection
MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
Next
.MergeCells = False
.Cells(1).ColumnWidth = MergedCellRgWidth ' na tomto řádku se zastaví kod při třetí smyčce
.EntireRow.AutoFit
PossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.Locked = False 'odemkne bunky
.NumberFormat = "@" 'nastavi format bunky "text"
.RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, CurrentRowHeight, PossNewRowHeight)
MergedCellRgWidth = 0 ' kvůli chybě při opakování přídán tento řádek
End If
End With
End If
Set radek = radek.Offset(1, 0)
Loop
Sheets("uvod").Range("A23").Select
Application.ScreenUpdating = True

Sheets("uvod").Protect Password:="h", AllowFormattingRows:=True, AllowFormattingCells:=True 'zamkne list a povoli upravit vysku radku a formatovani bunek
End Sub
Přílohy
vyska radku.xlsm
(29.42 KiB) Staženo 78 x
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3377
Registrován: 24 říj 2008 19:50

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvek od atari »

Tady máš ještě stránky kde se řeší ten autofit, že ve sloučených buňkách nefunguje a jak to lze řešit: https://proexcel.cz/sloucena-bunka/

Píše to hezky: "Automaticky zalomený text zpravidla Excel zvládá, u ručně zalomeného textu čekejte obtíže, a u sloučených buněk už narazí kosa na kámen."

Jinak to ALT+ENTER je příkaz na zalomení řádku, a jakmile to uděláš, tak si to Excel pamatuje a tu buňku pak označí "zalamovat text"
guest

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvek od guest »

Jó, komu není rady :-)
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3377
Registrován: 24 říj 2008 19:50

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvek od atari »

Já bych tu poznámku tedy řešil dvouřádkově bez sloučených buněk. A ještě to šetří místo. Vzor v příloze. (Je to bez předělání makra, což je však velmi jednoduchá úprava)
Přílohy
Kopie - vyska radku-1.xlsm
(23.6 KiB) Staženo 75 x
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14437 Zobrazení
    Poslední příspěvek od Snekment
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7367 Zobrazení
    Poslední příspěvek od atari
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5935 Zobrazení
    Poslední příspěvek od atari
  • Excel 2016 - vzorec kombinace podmínek
    od MK_Vs » » v Kancelářské balíky
    5 Odpovědi
    6162 Zobrazení
    Poslední příspěvek od lubo.

Zpět na „Kancelářské balíky“