Excel - Ngăn văn bản ô tràn vào ô tiếp theo (trống)


72

Khi bạn có văn bản trong một ô Excel quá dài để hiển thị trong vùng hiển thị của ô đó và ô tiếp theo bên phải trống, Excel sẽ cho phép văn bản được hiển thị trong ô tiếp theo (và tiếp theo và tiếp theo, khi cần thiết). Tôi muốn thay đổi điều này; Tôi muốn tránh tràn văn bản này.

Tôi biết tôi có thể tránh điều này bằng cách bật "gói từ" và điều chỉnh chiều cao hàng. Nhưng đó không phải là điều tôi muốn.

Tôi muốn thay đổi hành vi DEFAULT của Excel để nó chỉ hiển thị giá trị của từng ô trong vùng hiển thị của ô đó. Không tràn, không bọc từ.

Điều này có thể không? (Nhân tiện, tôi đang sử dụng Excel 2010.)


5
nếu nó sẽ biến ra không phải là có thể, bạn có thể sử dụng một nhân vật không gian để các tế bào rỗng ...
Aprillion

khá thú vị - Tôi không biết cách nào khác ngoài việc sử dụng WordWrap, Font-AutoSize hoặc các ký tự trong các ô khác.
Jook

1
Bạn có thể cắt bớt các ký tự phụ bằng cách chọn tất cả các ô, đi đến Data / Text to Columnsvà chỉ định ngắt sau bao nhiêu ký tự có thể vừa trong một ô mà không gói / tràn. Hãy nhớ bỏ qua cột bổ sung được tạo giữ các ký tự phụ!
Karan

Tôi đoán điều này sẽ trả lời câu hỏi của bạn: superuser.com/a/878605/497156
Sulaiman

"Tôi biết tôi có thể tránh điều này bằng cách bật" gói từ "và điều chỉnh chiều cao hàng." Cảm ơn! Đó là giải pháp được tôi chọn.
Ochado

Câu trả lời:


4

Đây có thể không phải là một tùy chọn cho tất cả mọi người, nhưng nếu bạn nhập tài liệu vào Google Sheets, chức năng này được hỗ trợ theo mặc định. Trên thanh menu trên cùng, ba loại gói văn bản được hỗ trợ. Tràn, bọc và kẹp. Bạn đang tìm kiếm clip.

Tùy thuộc vào yêu cầu, đây có thể là một lựa chọn khả thi cho một số người.


5
Vì vậy, câu trả lời của bạn thực sự là bỏ Excel và đi với Google sheet.
Năng lượng mặt trời Mike

Như tôi đã nói, không phải là một lựa chọn cho tất cả mọi người, nhưng có thể là một giải pháp tốt cho một số người.
yellavon

@SolarMike - cảm ơn bạn. Tôi đã nhầm lẫn, nhưng bình luận của bạn sắp xếp câu trả lời này. Tôi nghĩ rằng & yellavon cho rằng mọi người sẽ chùn bước trước câu trả lời của anh ấy và như vậy là phòng thủ - trước khi thực sự giải thích câu trả lời. Nhận xét của bạn ngắn gọn hơn so với câu trả lời được đăng thực tế.
barrypicker

Trên thực tế điều này xảy ra là câu trả lời gần nhất với một giải pháp thực tế. Tôi cho rằng trong Excel bạn có thể làm một cái gì đó tương tự như thế này. Điều chỉnh cột theo chiều rộng yêu cầu, sau đó kích hoạt độ cong từ trên cột (điều này sẽ khiến tất cả chiều cao của hàng tăng lên) và cuối cùng chọn tất cả các hàng và điều chỉnh độ cao của hàng theo chiều cao mong muốn. Voila! Bây giờ bạn có văn bản trong các tế bào mà không làm tràn đến các tế bào lân cận (@ yellavon: Tôi sẽ chấp nhận câu trả lời của bạn, bạn có thể muốn cập nhật nó để chứa toàn bộ behavior Excel này để mọi người có thể truy cập các giải pháp dễ dàng hơn).
e-MRE

49

Có, bạn có thể thay đổi hành vi này, nhưng có lẽ bạn sẽ không muốn các tác dụng phụ gây ra.

Chìa khóa để giới hạn nội dung ô đến ranh giới của ô bất kể ô liền kề có chứa dữ liệu là căn chỉnh văn bản hay không Fill. Chọn ô mà bạn không muốn tràn và click chuột phải họ> tế bào Format ... > tab Alignment > liên kết ngang > Điền

Các vấn đề với phương pháp này là điều này sẽ thực sự điền vào các tế bào bằng cách lặp lại nội dung của họ khi nó đủ ngắn để phù hợp trong tế bào nhiều lần. Xem ảnh chụp màn hình bên dưới để biết điều này có nghĩa là gì. (Lưu ý rằng B7được điền với 'văn bản ngắn'.)

Ảnh chụp màn hình hiển thị hành vi căn chỉnh văn bản khác nhau cho mặc định và điền

Có vẻ như bạn sẽ bị mắc kẹt với cách giải quyết trong bài viết của Benedikt

Lưu ý rằng bạn cũng có thể điền vào các ô liền kề bằng các ký tự đánh dấu ( ') bằng phương pháp rất thông minh đầu tiên của Benedikt . Bằng cách này, bạn không phải ẩn bất cứ điều gì, ngăn chặn tràn ô và nếu bạn sao chép các ô dưới dạng văn bản (giả sử là notepad), bạn vẫn nhận được văn bản trống và không có dấu cách hoặc dấu tích.


2
Vì vậy, tôi đã gợi ý bạn theo phương pháp của Benedikt để lấp đầy các trống rỗng bằng các 'ký tự. Bây giờ tôi không biết liệu tôi nên nâng cao câu trả lời của bạn, hay của anh ấy hay gì! :-p
Dan Henderson

Tôi thậm chí còn bối rối hơn. Tôi không thể thấy bất kỳ đề xuất nào để sử dụng 'trong câu trả lời của Benedikt, kể cả trong các chỉnh sửa cũ! Tôi đã nâng cấp cả hai, chỉ trong trường hợp ...
user56reinstatemonica8

1
@ user568458: Ghi chú của tôi thực sự là một biến thể của câu trả lời của Benedikt. Bạn có thể điền vào các ô ' thay vì điền vào chúng N/Anhư Benedikt đề xuất. Tôi chỉ thấy phương pháp của Benedikt là lấp đầy tất cả các ô trống với một giá trị tùy ý rất hấp dẫn.
Marcus Mangelsdorf

1
'Điền' sẽ khiến các số cũng được căn trái.
posfan12

Thật là ... ngu ngốc đáng kinh ngạc. (Excel, không phải câu trả lời này.)
TJ Crowder

26

Đây là cách tôi làm điều đó.

  1. Tùy chọn 1: Điền vào tất cả các ô trống bằng "Không áp dụng" và sau đó sử dụng Định dạng có điều kiện để làm cho văn bản không hiển thị.
  2. Hoặc Tùy chọn 2: Điền vào tất cả các ô trống bằng 0 và sử dụng cài đặt Excel để ẩn các giá trị 0.

Điền vào tất cả các ô trống: (đã thử nghiệm trên máy Mac)

  • Chỉnh sửa → Chuyển đến ... → Đặc biệt ... (Trên Windows: Trang chủ → Chỉnh sửa → Tìm & Chọn → Chuyển đến Đặc biệt ...)
  • Chọn "Khoảng trống" và nhấn OK.
  • Tất cả các ô trống được chọn ngay bây giờ. Đừng nhấp vào bất cứ điều gì.
  • Gõ "N / A" hoặc 0, và sau đó nhấn Ctrl+ Enter . Điều này sẽ chèn giá trị vào tất cả các ô được chọn.

Định dạng có điều kiện để ẩn "Không có"

  • Định dạng → Định dạng có điều kiện.
  • Tạo quy tắc mới.
  • Kiểu: Cổ điển và Sử dụng công thức để xác định các ô cần định dạng.
  • Công thức: =A1="N/A"
  • Định dạng với: Định dạng tùy chỉnh: Màu chữ trắng, không điền.

Ẩn số không

  • Excel → Cài đặt → Xem.
  • Bỏ chọn "Hiển thị giá trị 0".

_______________
  Đó là Ctrl+ Enter, không Ctrl+ Shift+Enter .


13

Hãy thử nhập công thức = "" (đó là hai dấu ngoặc kép) trong ô liền kề nơi bạn không muốn thấy tràn. Điều này đánh giá là "null" không hiển thị gì và sẽ không ảnh hưởng đến toán học.


1
Kết hợp với bài đăng từ Benedikt tôi tin rằng đây là một trong những giải pháp đơn giản nhất vì bạn không phải che giấu bất cứ điều gì.
Matt

Điều này làm việc tốt nhất cho tôi.
Peter

Nếu ảnh hưởng đến chức năng thống kê COUNTA, tính số lượng ô trong một phạm vi không trống . Một ô hiển thị chuỗi có độ dài bằng không do kết quả của công thức không trống và sẽ được tính.
ProfoundlyOblivious

4

Sử dụng căn chỉnh văn bản ngang "Điền" cho ô. Bạn có thể tìm thấy nó ở cùng một nơi với các tùy chọn Sắp xếp khác sẽ giải quyết vấn đề của bạn

Điền văn bản


4
Không phải điều này được bao phủ bởi câu trả lời của Marcus Mangelsdorf sao?
Stevoisiak

9
Cũng lưu ý rằng Marcus giải thích một vấn đề nghiêm trọng với phương pháp này - rằng nếu nội dung của ô đủ ngắn, chúng sẽ bị trùng lặp. Vì vậy, "A" sẽ trở thành "AAAAAAAA".
Blackwood

Tốt đẹp, cảm ơn. Nhấp chuột phải vào các ô cần định dạng lại, chọn "Định dạng ô" và thực hiện phần còn lại theo hướng dẫn của bạn. Nó đã làm việc.
Catbuilts

4

Mở rộng về giải pháp sử dụng 'để chặn văn bản tràn sang phải của Excel vào các ô trống liền kề, đôi khi bạn không muốn sửa đổi / làm hỏng cột dữ liệu của mình bằng cách chèn giá trị đó vào đó.

Thay vì chèn các 'giá trị dữ liệu thực tế của bạn, bạn có thể tạo một cột dọc chuyên dụng mới cho mục đích này, hoàn toàn chứa đầy các 'ký tự.

1. Cột rào cản

nhập mô tả hình ảnh ở đây

2. Chèn cột "rào cản" vào bên trái của (các) cột mà bạn muốn bảo vệ.

nhập mô tả hình ảnh ở đây

3. Thu gọn các cột rào cản bằng cách đặt chiều rộng cột của chúng thành một giá trị nhỏ

Đặt chiều rộng của cột thành một giá trị .1, hoặc thay vào đó giữ cho các cột rào cản rộng hơn để hoạt động như một khoảng trắng lề hoặc giữa các cột.

nhập mô tả hình ảnh ở đây

Lưu ý rằng bạn phải đặt chiều rộng lớn hơn 0; đặt chiều rộng cột hàng rào dọc thành 0 sẽ trở lại hành vi tràn ô không mong muốn.

4. Voila!


1

Trong Excel, điều chỉnh cột theo chiều rộng yêu cầu, sau đó kích hoạt độ cong từ trên cột đó (điều này sẽ khiến tất cả chiều cao của hàng tăng lên) và cuối cùng chọn tất cả các hàng và điều chỉnh độ cao của hàng theo chiều cao mong muốn. Voila! Bây giờ bạn có văn bản trong các ô không tràn vào các ô liền kề.

(Lưu ý: Tôi đã tìm thấy điều này và đăng nó dưới dạng một nhận xét trong câu trả lời đã chọn nhưng cũng đăng nó dưới dạng câu trả lời vì vậy sẽ dễ tìm thấy hơn cho người khác.)


1
Đoạn thứ hai của câu hỏi: "Tôi biết tôi có thể tránh điều này bằng cách kích hoạt" gói từ "và điều chỉnh chiều cao hàng. Nhưng đó không phải là điều tôi muốn."
fixer1234

0

Trong cùng một suy nghĩ rằng Google Sheets có thể không dành cho tất cả mọi người , macro này có thể không dành cho tất cả mọi người nhưng nó có thể dành cho ai đó .

Nó chạy qua phạm vi đã chọn và thay thế các ô tràn bằng văn bản cắt ngắn.

Cờ xác định nếu:

  • văn bản vi phạm được sao chép vào cùng một địa chỉ tương đối trong một bảng tính mới hoặc nếu nó bị loại bỏ.

  • văn bản rút gọn được mã hóa cứng hoặc liên kết thông qua công thức bảng tính =LEFT()

  • văn bản rút gọn được siêu liên kết đến chuỗi đầy đủ trong trang tính mới.

Mặc định là giữ lại dữ liệu và sử dụng cả hai liên kết.

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

Lưu ý cuối cùng: Tôi đã sử dụng nó cho các dự án cá nhân và thấy nó đáng tin cậy nhưng vui lòng lưu và sao lưu công việc của bạn trước khi thử bất kỳ macro không quen thuộc nào .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.