Mam komórkę z zawiniętą zawartością tekstową w Excelu i chcę sformatować komórkę, aby jej wysokość dopasowała się do zawartości, która może obejmować kilka wierszy. Jak mogę osiągnąć to zachowanie?
Mam komórkę z zawiniętą zawartością tekstową w Excelu i chcę sformatować komórkę, aby jej wysokość dopasowała się do zawartości, która może obejmować kilka wierszy. Jak mogę osiągnąć to zachowanie?
Odpowiedzi:
Od http://support.microsoft.com/kb/149663
Aby dopasować wysokość wiersza do całego tekstu w komórce, wykonaj następujące kroki:
Wybierz wiersz.
W programie Microsoft Office Excel 2003 i we wcześniejszych wersjach programu Excel wskaż polecenie Wiersz w menu Format, a następnie kliknij polecenie Autodopasowanie.
W programie Microsoft Office Excel 2007 kliknij kartę Narzędzia główne, kliknij opcję Formatuj w grupie Komórki, a następnie kliknij opcję Dopasuj wysokość wiersza.
Działa również, gdy wszystkie wiersze są zaznaczone
Próbować
Wybierz kolumnę -> kliknij kolumnę prawym przyciskiem myszy -> Formatuj komórki -> karta Wyrównanie -> Zawiń tekst
Wrap Text
i ponownie włączysz , Excel zmieni rozmiar wiersza, aby pasował do najwyższego rzędu. Nie nadaje się, jeśli wysokość wierszy zmienia się dynamicznie, ale jeśli masz do czynienia z tekstem statycznym, powinno być OK.
Pamiętaj, że automatyczne dopasowanie nie działa na scalonych komórkach. Musisz to zrobić ręcznie.
Zobacz tę odpowiedź Microsoft:
Jeśli nie zrobi tego automatycznie, umieść kursor nad małą linią między numerami wierszy (np. Między 1 a 2) i kliknij dwukrotnie, zmieni to rozmiar wiersza (bezpośrednio nad małą linią, w przykładzie: 1) aby wszystko było widoczne (z pionu).
Rozwiązaniem VBA jest użycie następujących elementów:
Call Application.ActiveCell.AutoFit
Jedynym sposobem, w jaki mogę go uruchomić zgodnie z oczekiwaniami, jest wyróżnienie całego arkusza za pomocą CTRL-A, usunięcie przycisku „Zawiń tekst” na pasku narzędzi, a następnie ponowne wybranie go. Żadne inne ustawienia się nie zmieniają, ale każdy wiersz ma teraz „właściwą” wysokość dla swojej zawartości.
Utworzyłem następujący kod VB, aby zmienić rozmiar wiersza nagłówka, gdy komórka w zakresie (B2: B1500), ponieważ wartości dat powyżej 28.12.2014 spowodują, że nagłówek wyświetli ostrzeżenie, że te daty w arkuszu czasu przejdą do Tydzień 1 2015:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an Action when they are changed.
Set KeyCells = Range("B2:B1500")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Change the height of the header row when one of the defined cdlls is changed
Rows("1:1").EntireRow.AutoFit
End If
End Sub