Calendar trong excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nguyendinhtutw

Thành viên chính thức
Tham gia
17/4/17
Bài viết
73
Được thích
3
Giới tính
Nam
Dear các bác,
Em có copy được code của bác Hoàng Nghĩa Phúc về cách thêm calendar vào trong excel như dưới đây, với mục đích tạo ô nhập ngày tháng cho các cột H, I, J, AP, AR:
......
Private Sub Calendar1_Click()
With ActiveCell
.Value = Calendar1
.NumberFormat = "dd/mm/yy"
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Calendar1
If Not Intersect(Range("H:H,I:I,J:J,AP:AP,AR:AR"), Target) Is Nothing Then
Calendar1.Value = Date
.Visible = True
.Top = Target.Top
.Left = Target(, 2).Left
ElseIf Application.CutCopyMode = False Then
.Visible = False
End If
End With
End Sub
......
Tuy nhiên khi chạy code thì báo lỗi Run-time error '424', debug thì nó bôi vàng dòng Calendar1.Value = Date.
các bác chỉ cho em cách sửa với ạ, em cảm ơn
 
Upvote 0
Excel 2013 trở đi hình như không có cách nào xài được Calendar thì phải??? Dù cài MSCAL.OCX cũng không có tác dụng
Vậy với Excel 2013 thì có cách nào đơn giản để tạo Lịch không thầy. Em thấy cái lịch của anh Nghĩa cũng được nhưng ngặt nỗi chỉ là tiện ích nhỏ thôi mà phải viết code nhiều và dài quá.
 
Upvote 0
Cái của Nghĩa Mạnh xài office 2016 + Windows10 Version1703 ............Thấy vẫn chạy Tốt ............Capture.PNG
 
Upvote 0
Chắc chưa có mscomct2.ocx
Anh cài thêm cái đó xem.
(Excel 64 bit thì chưa tìm được cách nào cả).
Vậy máy bạn đã dùng được Calendar chưa? Tôi muốn nói đến cái Calendar (MSCAL.OCX) chứ không phải Date Time Picker (MSCOMCT2.OCX) nha!
 
Upvote 0
Các bạn lập trình VBA không nên dùng các ActiveX của Microsoft nữa. Đó là các ActiveX Controls có tên: NSCOMCTL.OCX (có trêview, listview, progressbar,...), MSCOMCT2.OCX,MSCAL.OCX (lịch),... Vì 2 lý do chính
1. Không hỗ trợ unicode (cái này có thể xem nhẹ chút)
2. Không chạy trong Excel 64-bit. Vậy dù bạn làm tốt trên máy bạn khi mang sang máy khác lỗi tùm lum ngay mà bạn không có cách nào đâu.
(Microsoft không còn làm ActiveX nữa nên họ không nâng cấp gì cả).

Vậy một là bạn tự lập trình hoàn toàn, công thức các bạn xem trong file template của Excel (khi bạn chọn Create từ menu file nhé).
Cách khác là dùng Add-in của người khác, như add-in chỉ làm lịch của Hoàng Trọng Nghĩa (phải biết VBA mới cài đặt đc nhé), Chức năng nhập liệu nâng cao trong Add-in A-Tools).
 
Upvote 0
Vậy máy bạn đã dùng được Calendar chưa? Tôi muốn nói đến cái Calendar (MSCAL.OCX) chứ không phải Date Time Picker (MSCOMCT2.OCX) nha!

Em đang dùng MSCOMCT2.OCX, chả rõ Office 64bit có OK.


http://www.upsieutoc.com/image/IL9tsl

DeFVj7pg2yU236Qm7

DeFVj7pg2yU236Qm7
 
Lần chỉnh sửa cuối:
Upvote 0
Em đang dùng MSCOMCT2.OCX, chả rõ Office 64bit có OK.


http://www.upsieutoc.com/image/IL9tsl

DeFVj7pg2yU236Qm7

DeFVj7pg2yU236Qm7

Không anh nhé. Tất cả đồ gọi là ActiveX Control (trừ FM20.dll tích hợp sẵn trong ứng dụng Office) Microsoft không nâng cấp gì để tương thích 64-bit nữa anh nhé (cũng tiếc!). Từ khi công nghệ .NET ra đời thì họ không làm cái OCX nữa, chỉ còn các hãng khác làm thôi.
 
Upvote 0
Không anh nhé. Tất cả đồ gọi là ActiveX Control (trừ FM20.dll tích hợp sẵn trong ứng dụng Office) Microsoft không nâng cấp gì để tương thích 64-bit nữa anh nhé (cũng tiếc!). Từ khi công nghệ .NET ra đời thì họ không làm cái OCX nữa, chỉ còn các hãng khác làm thôi.

Căng nhỉ, thảo nào chú chuyển sang Delphi sớm thế :)
Win thì OK, nhưng Office 64bit là nguyên nhân lỗi tùm lum đây.
 
Upvote 0
Nhưng cái đó không phải cái Calendar mình đề cập thầy à (cái mình nói là MSCAL.OCX kìa)
Mà nói chung thì có hay không có calendar cũng chẳng sao

Vầng, thì nó không hỗ trợ 64bit thì mình phải tìm cách khác thôi. Có link ở bài trên đó bác.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom