2012-11-19 15:11:43 +0000 2012-11-19 15:11:43 +0000
80
80

Excel - Zapobieganie przelewaniu się tekstu z komórki do następnej (pustej) komórki

Jeśli w komórce programu Excel znajduje się tekst, który jest zbyt długi, aby mógł zostać wyświetlony w widocznym obszarze tej komórki, a następna komórka po prawej stronie jest pusta, program Excel pozwala na wyświetlenie tekstu w następnej komórce (i następnej, i następnej w razie potrzeby). Chcę to zmienić; chcę uniknąć przelewania się tego tekstu.

Wiem, że mogę tego uniknąć, włączając “zawijanie słów” i dostosowując wysokość wiersza. Ale nie o to mi chodzi.

Chcę zmienić zachowanie DEFAULT Excela, aby pokazywał on wartość każdej komórki tylko w widocznym obszarze tej komórki. Bez przepełnienia, bez zawijania słów.

Czy jest to możliwe? (Przy okazji, korzystam z programu Excel 2010).

Odpowiedzi (8)

53
53
53
2015-10-22 13:28:31 +0000

Tak, możesz zmienić to zachowanie, ale prawdopodobnie nie będziesz chciał, aby powodowało to skutki uboczne.

Kluczem do ograniczenia zawartości komórki do jej granic niezależnie od tego, czy sąsiednia komórka zawiera dane, jest wyrównanie tekstu Fill. Zaznacz komórki, których nie chcesz przepełniać i kliknij na nie prawym przyciskiem myszy > Formatuj komórki…Alignment tab_ > Wyrównanie horyzontalne > Fill

Problem** z tą metodą polega na tym, że w rzeczywistości wypełni ona komórki, powtarzając ich zawartość, gdy jest ona na tyle krótka, że zmieści się w komórce wielokrotnie. Zobacz poniższy zrzut ekranu, co to oznacza. (Zauważ, że B7 jest pełnione krótkim tekstem)

Wygląda na to, że utkniesz z obejściem w postu Benedikta

Zauważ, że możesz również wypełnić sąsiednie komórki znakami tick (') używając pierwszej, bardzo sprytnej metody Benedikta. W ten sposób nie musisz niczego ukrywać, zapobiegać przepełnieniu komórek, a jeśli skopiujesz komórki jako tekst (powiedzmy notatnik), nadal będziesz miał pusty tekst, a nie spacje czy kleszcze.

27
27
27
2015-07-24 13:00:33 +0000

Oto jak ja to robię.

  1. Option 1: Wypełnij wszystkie puste komórki “N/A”, a następnie użyj Formatowania Warunkowego, aby tekst był niewidoczny.
  2. Albo Option 2: Wypełnij wszystkie puste komórki znakiem “0” i użyj ustawienia Excela, aby ukryć wartości zerowe.

Wypełnij wszystkie puste komórki: (testowane na komputerze Mac)

  • Edit → Go To… → Specjalne … (W Windows: Home → Editing → Find & Select → Go To Special…)
  • Wybierz “Blanks” i naciśnij OK.
  • Wszystkie puste komórki są teraz zaznaczone. Nie klikaj nic.
  • Wpisz “N/A” lub 0, a następnie naciśnij Ctrl+Enter†. To spowoduje wstawienie wartości do wszystkich wybranych komórek.

Formatowanie warunkowe, aby ukryć “N/A ”

  • Formatowanie → Formatowanie warunkowe.
  • Tworzenie nowej reguły.
  • Styl: Klasyczny, i Użyj formuły, aby określić, które komórki mają być sformatowane.
  • Formuła: =A1="N/A"
  • Formatowanie z: Format niestandardowy: Kolor czcionki biały, bez wypełnienia.

Ukryj zera

  • Excel → Ustawienia → Widok.
  • Anuluj “Pokaż wartości zerowe”.

________ †  To jest Ctrl+Enter,_nie Ctrl +Shift+ Wprowadź.

13
13
13
2017-04-17 12:50:46 +0000

Spróbuj wprowadzić wzór =“ (to dwa podwójne cytaty) w sąsiedniej komórce, gdzie nie chcesz widzieć przelewu. Ocenia się to jako "zerowe”, które nie wyświetla niczego i nie wpływa na matematykę.

7
7
7
2017-12-13 19:27:48 +0000

Może to nie być opcja dla wszystkich, ale jeśli zaimportujesz dokument do Google Sheets, funkcja ta jest domyślnie obsługiwana. Na górnym pasku menu obsługiwane są trzy rodzaje zawijania tekstu. Przelew, zawijanie i zaciskanie. Szukasz klipu.

W zależności od wymagań, może to być realna opcja dla niektórych osób.

4
4
4
2018-11-28 00:26:59 +0000

Rozwijając rozwiązanie polegające na użyciu ' w celu zablokowania **Przesyłanie tekstu po prawej stronie do sąsiednich pustych komórek, czasami nie chcesz modyfikować/korumpować swojej kolumny danych poprzez wstawienie w niej tej wartości.

Zamiast wstawiać ' do swoich rzeczywistych wartości danych, możesz stworzyć w tym celu nową dedykowaną pionową kolumnę, w całości wypełnioną znakami '.

1. Kolumna barier

2. Wstaw kolumnę “szlaban” z lewej strony kolumny (kolumn), która ma być chroniona.

3. Zwiń słupy bariery, ustawiając ich szerokość na małą wartość

Ustaw szerokość słupa bariery na wartość taką jak .1, lub zachowaj szersze słupy bariery, aby działały jako margines lub przestrzeń międzykolumnowa.

Zauważ, że musisz ustawić szerokość większą od zera; ustawienie pionowej szerokości słupa bariery na zero spowoduje powrót do niepożądanego przepełnienia komórki.

4. Voila!

4
4
4
2017-10-31 15:09:07 +0000

Użyj poziomego wyrównania tekstu “Fill” dla komórki. Znajdziesz go w tym samym miejscu co inne opcje Wyrównanie, które powinny rozwiązać Twój problem

1
1
1
2019-06-24 08:59:09 +0000

W programie Excel należy dopasować kolumnę do wymaganej szerokości, następnie włączyć opcję “Word-warp” na tej kolumnie (co spowoduje zwiększenie wysokości wszystkich wierszy), a następnie w końcu wybrać wszystkie wiersze i dostosować wysokość wierszy do żądanej wysokości. Voila! Teraz masz tekst w komórkach, które nie przelewają się do sąsiednich komórek.

(Uwaga: Znalazłem to i zamieściłem jako komentarz w wybranej odpowiedzi, ale również zamieściłem to jako odpowiedź, więc będzie łatwiej znaleźć dla innych).

0
0
0
2019-09-23 04:17:44 +0000

W tej samej linii myślenia, że Google Sheets może nie być dla wszystkich, to makro może nie być dla wszystkich, ale mogłoby być dla kogoś.

Biegnie przez wybrany zakres i zastępuje przepełnione komórki obciętym tekstem.

Flagi określają, czy:

  • obraźliwy tekst jest kopiowany na ten sam względny adres w nowym arkuszu lub czy jest odrzucany.

  • obcięty tekst jest mocno zakodowany lub połączony poprzez formułę arkusza =LEFT()

  • obcięty tekst jest hiperłączony do pełnego łańcucha w nowym arkuszu.

Domyślnie jest zatrzymywanie danych i używanie obu linków.

Option Explicit

Sub LinkTruncatedCells()
    Dim rng As Range: Set rng = Selection
    Dim preserveValues As Boolean: preserveValues = True
    Dim linkAsFormula As Boolean: linkAsFormula = True
    Dim linkAsHyperlink As Boolean: linkAsHyperlink = True
    Dim w As Single
    Dim c As Range
    Dim r As Range
    Dim t As Long
    Dim l As Long
    Dim s As String
    Dim ws As Worksheet
    Dim ns As Worksheet
    Application.ScreenUpdating = False
    Set ws = rng.Parent
    For Each c In rng.Columns
        w = c.ColumnWidth
        t = 0
        l = 0
        For Each r In c.Rows
            If Len(r) > l Then
                s = r
                If CBool(l) Then r = Left(s, l)
                Do
                    r.Columns.AutoFit
                    If r.ColumnWidth > w And Len(s) > t Then
                        t = t + 1
                        r = Left(s, Len(s) - t)
                        l = Len(r)
                    End If
                Loop Until t = Len(s) Or r.ColumnWidth <= w
                r.ColumnWidth = w
                If r <> s And preserveValues Then
                    If ns Is Nothing Then
                        Set ns = ws.Parent.Worksheets.Add(after:=ws)
                    End If
                    ns.Range(r.Address) = s
                    If linkAsFormula Then r.Formula = "=LEFT(" & ns.Name & "!" & r.Address & "," & l & ")"
                    If linkAsHyperlink Then ws.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:= _
                            ns.Range(r.Address).Address(external:=True)
                End If
            End If
        Next r
    Next c
    ws.Activate
    Application.ScreenUpdating = True
End Sub

Uwaga końcowa: Używałem go w osobistych projektach i uznałem go za wiarygodny, ale proszę zapisać i zrobić kopię zapasową swojej pracy przed wypróbowaniem nieznanego makra.