 |
|
CHÍP CÙNG “DÂN
KẸP GIẤY” |
|
Thủ thuật Excel: Tìm thứ trong tuần dựa vào ngày
tháng cho trước |
|
Để tìm thứ trong tuần dựa vào
ngày tháng, trước đây trong một số sách viết về
lịch, người ta thường lập sẵn một bảng biểu, mặc sức
cho bạn tra tìm mỏi mắt. Còn bây giờ là thời đại số
rồi, bạn đâu cần phải nhọc công đến vậy. Chỉ cần một
giải thuật nho nhỏ, cộng với ngôn ngữ lập trình VBA
tích hợp sẵn trong bộ Office (Word hay Excel đều
được) là bạn có thể để máy làm thay cho mình được
rồi. |
|
Tại một workbook mới của Excel, nhấn chuột phải vào
thanh công cụ, chọn Control Toolbox. Nhấp công cụ
Command Button, vẽ một nút lệnh lên màn hình. Nhấn
chuột phải vào nút lệnh, chọn Properties và đặt
thuộc tính Caption là “Tìm thứ trong tuần”. Nhấn đúp
vào nút lệnh rồi gõ đoạn mã sau đây vào cửa sổ mã
lệnh (có thể chép tại
www.echip.com.vn): |
Private Sub CommandButton1_Click()
Dim a, d, m, y As Integer
Dim Ngay, Thang, Nam As Integer
Dim NgayThang, ThongBao As String
On Error Resume Next
NgayThang = InputBox("Nhap ngay, thang, nam can tim
theo dang dd/mm/yyyy hoac dd-mm-yyyy!", "Cong Lich")
Ngay = Left(NgayThang, 2)
Thang = Mid(NgayThang, 4, 2)
Nam = Right(NgayThang, 4)
a = Int((14 - Thang) / 12)
y = Nam - a
m = Thang + 12 * a - 2
d = (Ngay + y + Int(y / 4) - Int(y / 100) + Int(y /
400) + Int(31 * m / 12)) Mod 7
ThongBao = "Ngay " & Ngay & "/" & Thang & "/" & Nam
& " la ngay "
Select Case d
Case 0
MsgBox ThongBao & "Chu Nhat.", , "Cong Lich"
Case 1
MsgBox ThongBao & "thu Hai.", , "Cong Lich"
Case 2
MsgBox ThongBao & "thu Ba.", , "Cong Lich"
Case 3
MsgBox ThongBao & "thu Tu.", , "Cong Lich"
Case 4
MsgBox ThongBao & "thu Nam.", , "Cong Lich"
Case 5
MsgBox ThongBao & "thu Sau.", , "Cong Lich"
Case 6
MsgBox ThongBao & "thu Bay.", , "Cong Lich"
End Select
End Sub |
|
Trở lại cửa sổ bảng tính, nhấn nút Exit Design Mode
rồi nhấn nút lệnh “Tìm thứ trong tuần” để thử xem
ngày 01-01-2006 là thứ mấy nhé! Nếu chương trình cho
kết quả là Chủ nhật thì bạn đã thành công rồi đấy,
bạn có thể thử cho những ngày khác. |
 
 |
|
TRẦN XUÂN THIÊN (Quảng Nam) |
|
|
|
 |
|
 |