none
Automatické formátování - excel RRS feed

  • Dotaz

  • Řeším problém, jak automaticky nastavit výšku řádku... V řádku jsou i sloučené buňky, a potřebuji, aby se automaticky řádek přizpůsovoval délce textu...

    1. Zalomování textu v buňce, ale po zalomení nedokáže zvětšit buňku o text v dalším řádku...

    2. Současně s tím by se po vymazání delšího obsahu měla výška řádku přizpůsobit na základní nastavení...

     

    Please, help me...

     

    pátek 15. července 2011 12:31

Odpovědi

  • V prvom rade by bolo treba zvážiť zmenu tabuľky a odstrániť zlúčené bunky, ktoré spôsobujú zbytočné problémy. Odporúčam ich používať len v nevyhnutných prípadoch. ;-)

    spraviť to ide napr. makrom od Erika Van Geta - http://www.mrexcel.com/forum/showthread.php?t=208412

    Option Explicit

    Sub fit_height_merged_cells()
    'Erik Van Get
    '060612
    'use only if "center accross selection" is really not an option

    Dim rng As Range
    Dim MergeArea As Range
    Dim FC As Integer
    Dim LC As Integer
    Dim FCWidth
    Dim TotalWidth As Double
    Dim i As Integer

    Set rng = Selection
    Set MergeArea = rng(1).MergeArea

        If MergeArea.Address <> rng.Address Or rng.Cells.Count = 1 Then
        MsgBox "Please select one MergeArea", 48, "ERROR"
        Exit Sub
        End If

    FC = MergeArea.Column
    LC = FC + MergeArea.Columns.Count - 1

    FCWidth = Columns(FC).ColumnWidth
       
        For i = FC To LC
        TotalWidth = TotalWidth + Columns(i).ColumnWidth
        Next i

    Application.ScreenUpdating = False
        rng.UnMerge
        rng(1).ColumnWidth = TotalWidth
        rng(1).EntireRow.AutoFit
        rng.Merge
        Columns(FC).ColumnWidth = FCWidth
    Application.ScreenUpdating = True

    End Sub

    sobota 16. července 2011 9:16

Všechny reakce

  • Dobrý deň,


    Práve som si to vyskúšal v Excel 2010 a výška zalomeného riadku sa prispôsobuje automaticky textu.

    Akú verziu Excel používate? Tú výšku potrebujete robiť v zlúčených bunkách?

    Peter

    pátek 15. července 2011 12:49
  • Používám excel 2010... Tu výšku potřebuji slučovat v těch sloučených buňkách...
    pátek 15. července 2011 12:51
  • Pokud je text ve sloučených buňkách, musí se výška nastavovat ručně.... Existuje na to funkce, aby se text přizpůsoboval i ve sloučené buňce?
    pátek 15. července 2011 13:23
  • Dobrý deň,

    pozrite tento článok http://support.microsoft.com/kb/212010/cs

    Takže riešenie bude makrom.

    PB

    pátek 15. července 2011 16:38
  • Ten clanek popisuje to ze je nutne pouzit rucni zmenu vysky nebo sirky.

    Nijak nepopisuje jak to makrem prizpusobit, coz tazatel prave pozaduje.

    Znate prikaz jak tuto vlastnost nastavit makrem?

     


    JCH
    pátek 15. července 2011 19:48
  • V prvom rade by bolo treba zvážiť zmenu tabuľky a odstrániť zlúčené bunky, ktoré spôsobujú zbytočné problémy. Odporúčam ich používať len v nevyhnutných prípadoch. ;-)

    spraviť to ide napr. makrom od Erika Van Geta - http://www.mrexcel.com/forum/showthread.php?t=208412

    Option Explicit

    Sub fit_height_merged_cells()
    'Erik Van Get
    '060612
    'use only if "center accross selection" is really not an option

    Dim rng As Range
    Dim MergeArea As Range
    Dim FC As Integer
    Dim LC As Integer
    Dim FCWidth
    Dim TotalWidth As Double
    Dim i As Integer

    Set rng = Selection
    Set MergeArea = rng(1).MergeArea

        If MergeArea.Address <> rng.Address Or rng.Cells.Count = 1 Then
        MsgBox "Please select one MergeArea", 48, "ERROR"
        Exit Sub
        End If

    FC = MergeArea.Column
    LC = FC + MergeArea.Columns.Count - 1

    FCWidth = Columns(FC).ColumnWidth
       
        For i = FC To LC
        TotalWidth = TotalWidth + Columns(i).ColumnWidth
        Next i

    Application.ScreenUpdating = False
        rng.UnMerge
        rng(1).ColumnWidth = TotalWidth
        rng(1).EntireRow.AutoFit
        rng.Merge
        Columns(FC).ColumnWidth = FCWidth
    Application.ScreenUpdating = True

    End Sub

    sobota 16. července 2011 9:16