Mam tabelę z jedną kolumną i ponad 200 wierszami. Chcę dostosować wysokość tych rzędów w zależności od ich zawartości.
Na przykład, gdy komórka ma mniej niż 10 znaków, wiersz musi mieć 25 pikseli, a jeśli ma więcej lub 10 znaków, wiersz musi mieć 50 pikseli.
Te zdjęcia mogą wyjaśnić, co chcę zrobić:
do
Odpowiedzi:
Jest to oparte na twoim niejasnym pytaniu! Opublikowałem również opcję dynamiczną
Jak dodać VBA w MS Office?
Nie pytałeś o wyrównanie tekstu w komórce, ale jak możesz
middle align
, zakładam, że to wystarczyWygląda na to, że nie chcesz podejmować żadnych działań, jeśli liczba znaków wynosi od 10 do 20
Przed
Po
I z Middle Align
źródło
sub worksheet_change
Jako drugie rozwiązanie do mojego drugiego postu , zaoferuje to bardziej dynamiczne podejście, w którym wysokość będzie aktualizowana na podstawie liczby znaków (nie zostało to odpowiednio przetestowane pod kątem górnych limitów / maksimów, a więc z długim długim łańcuchem / wartość, prawdopodobnie zgłosi wyjątek, więc dodałem sztywny limit, który wydaje się być mniejszy niż limit w programie Excel 2010)
Pamiętaj, aby dodać go do konkretnego arkusza roboczego, ponieważ uruchamia się on i ponownie oblicza w miarę wprowadzania nowych wartości
Jak dodać VBA w MS Office?
Przed
Po (z
Middle Align
na karcie Wyrównanie wstążki)źródło