Ẩn một phần chuỗi ký tự bằng định dạng ô trong Excel?
Trong Excel, nếu ô chứa giá trị từ 850919 đến 1534567.
Liệu có thể chỉ hiển thị 6 chữ số đầu tiên không?
850919
hoặc
850919-xxxxxxx
Giá trị luôn có (6 chữ số - 7 chữ số).
Cảm ơn.
Trả lời:
>Vào Thứ Ba, ngày 20 tháng 7 năm 2010 lúc 23:56:48 +0000, alnios đã viết: > >> >> >>Trong Excel, nếu ô chứa 850919-1534567, >>liệu có thể chỉ hiển thị 6 chữ số đầu tiên không? >>850919 >>hoặc >>850919-xxxxxxx >> >>giá trị luôn có (6 chữ số - 7 chữ số). >> >>Cảm ơn. > >Tôi cho rằng "hiển thị" ở đây có nghĩa là "ẩn" 8 ký tự cuối cùng, >chứ không phải xóa chúng. > >Bạn cần sử dụng macro kích hoạt sự kiện VBA để làm điều đó. >Ý tưởng là thay đổi màu của 8 ký tự cuối cùng thành >giống với màu nền của ô. > >Hơn nữa, mục nhập phải là một chuỗi văn bản. Nếu đó là kết quả của >một công thức, thì không thể thực hiện được. > >Để nhập Macro kích hoạt sự kiện này, hãy nhấp chuột phải vào tab trang tính. Chọn "Xem mã" từ menu thả xuống khi nhấp chuột phải. Sau đó dán đoạn mã bên dưới vào cửa sổ vừa mở. Hãy chắc chắn đặt AOI thành phạm vi bạn muốn thực hiện thao tác này. Hàm con trước tiên kiểm tra xem nội dung có đúng định dạng đã chỉ định hay không (6 chữ số - 7 chữ số). Nếu đúng, nội dung sẽ được xử lý. > >================================= >Option Explicit >Private Sub Worksheet_Change(ByVal Target As Range) > Dim AOI As Range > Dim c As Range > >Set AOI = Range("A1:A10") >If Not Intersect(Target, AOI) Is Nothing Then >Application.EnableEvents = False > For Each c In Intersect(Target, AOI) > With c > If .Text Like "######-#######" Then > .Value = .Text > .Characters(7, 8).Font.Color = _ > vbWhite > End If > End With > Next c >End If >Application.EnableEvents = True >End Sub >================================ >
Comments
Post a Comment