Nhập mặt nạ trong Excel

Tôi đang nhập dữ liệu vào bảng tính Excel và muốn dấu "/" tự động xuất hiện cho ngày tháng khi tôi nhập các số tương ứng. Ví dụ: khi nhập 01/01/2016, nó sẽ hiển thị là 01/01/2016. Có công thức hoặc mặt nạ nào để làm điều đó không?


Trả lời:
Không - macro này phụ thuộc vào việc bạn đã định dạng trước các ô để nhập văn bản (để giữ nguyên số 0 đứng đầu) và nhập một chuỗi có 8 ký tự số. Bạn có thể nhập giá trị vào bao nhiêu ô tùy thích bằng cách sử dụng tổ hợp phím Ctrl-Enter, và mã sẽ kiểm tra tất cả. Lưu ý rằng nếu bạn cần nhập lại giá trị, giá trị đó cần được nhập dưới dạng ngày tháng hoặc bạn cần định dạng ô đó thành văn bản trước khi nhập chuỗi ngày tháng 8 chữ số mới. Mã sẽ hoạt động cho bao nhiêu cột tùy thuộc vào số cột bạn định dạng thành văn bản.

Trả lời:

Định dạng các ô mà bạn muốn nhập ngày tháng 8 chữ số thành dạng văn bản, và sử dụng macro sự kiện thay đổi này:

1) Sao chép đoạn mã này.
2) Nhấp chuột phải vào tab trang tính cần quan tâm.
3) Chọn "Xem mã"
4) Dán đoạn mã vào cửa sổ hiện ra.
5) Lưu tệp dưới dạng tệp .xlsm có hỗ trợ macro.
6) Thực hiện các thay đổi khi cần thiết

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range

Application.EnableEvents = False

Đối với mỗi c trong Intersect(Target, Me.UsedRange)

Nếu c.NumberFormat = "@" Và Len(c.Text) = 8 Thì
strt = c.Text
Khi xảy ra lỗi, hãy chuyển đến NotNumber.
lngT = CLng(strt)
Khi xảy ra lỗi, chuyển về 0.
c.NumberFormat = "mm/dd/yyyy"
c.Value = DateValue(Left(strt, 2) & "/" & Mid(strt, 3, 2) & "/" & Right(strt, 4))
NotNumber:
Kết thúc nếu
Tiếp theo c
Ứng dụng.ChoPhóngSựKiện = Đúng
End Sub

Comments

Popular posts from this blog

Thu hẹp và mở rộng cột trong Excel

Xử lý hàng loạt các tệp Excel được bảo vệ bằng mật khẩu

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản