excel vba automaticka vyska radku sloucenych bunek

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

Moderátor: Mods_senior

zutano
nováček
Příspěvky: 8
Registrován: květen 17
Pohlaví: Muž
Stav:
Offline

excel vba automaticka vyska radku sloucenych bunek

Příspěvekod zutano » 20 bře 2018 10:51

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 52 x

Reklama
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3195
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvekod atari » 20 bře 2018 12:06

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: květen 17
Pohlaví: Muž
Stav:
Offline

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvekod zutano » 20 bře 2018 12:57

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: 162
Registrován: září 17
Pohlaví: Muž
Stav:
Offline

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvekod Grimm » 20 bře 2018 17:45

Můžeš se inspirovat na WALL

zutano
nováček
Příspěvky: 8
Registrován: květen 17
Pohlaví: Muž
Stav:
Offline

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvekod zutano » 21 bře 2018 08:04

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 :)

Code: [Vybrat vše] [Zobrazit/Skrýt] [Download] (vyska_radku.vb)
  1. Sub vyska_radku()
  2.   Dim CurrentRowHeight, MergedCellRgWidth, ActiveCellWidth, PossNewRowHeight As Single
  3.   Dim CurrCell As Range
  4.   Dim radek As Range
  5.   Set radek = ActiveWorkbook.Sheets("uvod").Range("A23")
  6.    
  7.   Sheets("uvod").Unprotect Password:="h"  'odemkne list
  8.    
  9.   Do Until IsEmpty(radek)
  10.     radek.Select
  11.     If ActiveCell.MergeCells Then
  12.         With ActiveCell.MergeArea
  13.             'Jsou sloucene bunky na jednom radku a maji zalamovani textu?
  14.             If .Rows.Count = 1 And .WrapText = True Then
  15.                 Application.ScreenUpdating = False
  16.                 CurrentRowHeight = .RowHeight
  17.                 ActiveCellWidth = ActiveCell.ColumnWidth
  18.                     For Each CurrCell In Selection
  19.                         MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
  20.                     Next
  21.                 .MergeCells = False
  22.                 .Cells(1).ColumnWidth = MergedCellRgWidth ' na tomto řádku se zastaví kod při třetí smyčce
  23.                 .EntireRow.AutoFit
  24.                 PossNewRowHeight = .RowHeight
  25.                 .Cells(1).ColumnWidth = ActiveCellWidth
  26.                 .MergeCells = True
  27.                 .Locked = False     'odemkne bunky
  28.                 .NumberFormat = "@" 'nastavi format bunky "text"
  29.                 .RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, CurrentRowHeight, PossNewRowHeight)
  30.                 MergedCellRgWidth = 0 ' kvůli chybě při opakování přídán tento řádek
  31.             End If
  32.         End With
  33.     End If
  34.     Set radek = radek.Offset(1, 0)
  35.   Loop
  36.     Sheets("uvod").Range("A23").Select
  37.     Application.ScreenUpdating = True
  38.    
  39.     Sheets("uvod").Protect Password:="h", AllowFormattingRows:=True, AllowFormattingCells:=True   'zamkne list a povoli upravit vysku radku a formatovani bunek
  40. End Sub
Přílohy
vyska radku.xlsm
(29.42 KiB) Staženo 69 x

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3195
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvekod atari » 21 bře 2018 20:37

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
Pohlaví: Nespecifikováno

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvekod guest » 22 bře 2018 08:35

Jó, komu není rady :-)

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3195
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: excel vba automaticka vyska radku sloucenych bunek

Příspěvekod atari » 22 bře 2018 10:20

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 57 x


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • excel text na konec více řádků najednou Příloha(y)
    od Myerina » 03 led 2024 11:51 » v Kancelářské balíky
    5
    784
    od Zivan Zobrazit poslední příspěvek
    04 led 2024 09:42
  • Tisk z excelu mění výšky buněk
    od Moonddur » 28 dub 2023 11:50 » v Kancelářské balíky
    1
    1659
    od atari Zobrazit poslední příspěvek
    28 dub 2023 12:08
  • Kopírování řádků s funkcí když Příloha(y)
    od Martyn20 » 20 črc 2023 16:50 » v Kancelářské balíky
    3
    1791
    od Melvidor Zobrazit poslední příspěvek
    21 črc 2023 08:41
  • Ukotvení prvního a posledního řádku v tabulce.
    od Kopusek » 13 pro 2023 10:50 » v Kancelářské balíky
    2
    1419
    od Kopusek Zobrazit poslední příspěvek
    14 pro 2023 08:55
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    5996
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů