[Excel 2007]Dopasowanie szerokości kolumn do zawartości


(pozdro) #1

Witam

potrzebuję informacji na temat automatycznej zmiany szerokości kolumn. Nie chodzi mi o tu o jednorazowe klikanie w konkretną opcję tylko o to, aby kolemna automatycznie się poszerzała jeśli tekst wychodzi poza jej obszar. Jeśli istnieje taka funkcją bardzo bym prosił o pomoc.

Pozdrawiam


(kamil_w) #2

http://oi45.tinypic.com/t0knch.jpg


(pozdro) #3

Właśnie nie o to mi chodziło. Bo tej opcji trzeba używać po każdym wpisaniu tekstu a mi chodzi o to żeby kolumna SAMA się poszerzała jeśli wpisany tekst będzie za długi


(kamil_w) #4

Więc zrób tak:

  • włącz w Excelu obsługę Makr (Plik - Opcje - Centrum Zaufania - Ustawienia Centrum Zaufania - Ustawienia makr i tu wybierz dopowiadającą ci opcję),

  • wróć do okna głównego programu. Na dole masz zakładki z arkuszami. Kliknij na interesującym cię arkuszu i wybierz pozycję “wyświetl kod”,

  • pokaże ci się okno do obsługi Visual Basic’a. Wklej do tego okna taki kod:

    Private Sub Worksheet_Change(ByVal Target As Range)

      Dim nextTarget As Range
    
      Set nextTarget = Range(Selection.Address) 'store the next range the user selects
    
      Target.Columns.Select 'autofit requires columns to be selected
    
      Target.Columns.AutoFit
    
      nextTarget.Select
    

    End Sub

  • zapisz plik jako *.xmlm

Gotowe. :wink:


(pozdro) #5

Dziękuję bardzo :slight_smile: Jednak jest problem bo to plik tylko do odczytu, zapomniałem dodać i tam VBA jest zablokowane do edycji :smiley:


(kamil_w) #6

Skoro plik jest tylko do odczytu, to przecież chyba prościej zaznaczyć wszystkie wypełnione kolumny i kliknąć raz w przycisk “automatyczne dopasowanie szerokości”.


(G R Z E S 77) #7

Witam.

Wystarczy taki kod:

Private Sub Worksheet_Change(ByVal Target As Range)

Target.EntireColumn.AutoFit

End Sub

Ale jeśli jest odwołanie w innej komórce do komórki, którą właśnie wypełniliśmy i która automatycznie dostosowała szerokość kolumny, to tamta już się nie zmienia. Jest sposób na to, by wszystkie kolumny, w których są odwołania do aktualnie wypełnionej komórki, automatycznie zmieniały szerokość ?