LocalizeXL v1.73 - Làm nổi bật ô đang chọn và cuộn trang tự động (1 người xem)

Liên hệ QC

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

HeSanbi

Nam Nhân✨Hiếu Lễ Nghĩa Trí Tín✨
Tham gia
24/2/13
Bài viết
2,782
Được thích
4,437
Giới tính
Nam

***** CẬP NHẬT v1.73 MỚI NHẤT 14/01/2025*****​

Chia sẻ ứng dụng làm nổi bật vùng ô Excel đang chọn.

#LocalizeXL Add-in

Mục đích của ứng dụng này được sinh ra là để ta cho cái nhìn trực quan hơn khi ta chọn một ô Excel, hoặc ta có thể biết được vùng ô trước đó đã chọn, ta cũng có thể dùng để đối chiếu hàng và cột một cách dễ dàng hơn.


Các lệnh thực thi để đóng mở và cài đặt thông số:​

Thực thiHàmGiá trị của tham số
Mở=Localize_On()
Tắt=Localize_Off()
Mở form cài đặt=Localize_Settings()
Kiểu khung=Localize_Style(1)Có 4 kiểu khung, 0:ngang dọc, 1:ngang, 2:dọc, 3:trái và trên
Thay đổi độ mờ=Localize_SetOpacity(40)Số từ 20 đến 255
Tắt/Mở mờ dần=Localize_SetFading(400)mili giây từ 0 đến 15000
Bật tự động cuộn=Localize_Scroll_On()
Tắt tự động cuộn=Localize_Scroll_Off()
Chuyển Add-in hoặc Book=Localize_Spin()
Đặt lại mặc định=Localize_Reset()
Đóng Add-in=Localize_Quit()
Hủy cài đặt Add-in=Localize_Uninstall()



CỬA SỔ CÀI ĐẶT:

LocalizeXL_form_settings.png

Trong bảng chọn màu chép mã màu #FFFFFF hệ thập lục phân (hexadecimal)

1719926918058.png

Ảnh minh họa​

LocalizeXL.gif

Kiểu khung nổi bật:​

LocalizeXL

Cuộn tự động khi rê chuột:

Rê chuột đến đầu, cuối, trái, hoặc phải của vùng được Highlight để tự động cuộn.

vba%20localize%20auto%20scroll.gif

LƯU Ý:​

Nếu ứng dụng có Code VBA đang hoạt động theo thời gian thực, thì nên tắt ứng dụng LocalizeXL đi, để tránh sung đột, bằng cách gõ vào ô trống hàm =Localize_Off()



Hướng dẫn cài đặt Add-in:​

Cách 1:
Trong thẻ Deverloper (Mở thẻ Deverloper: chuột phải vào thanh Ribbon, chọn Customize the Ribbon)
Chọn Excel Add-ins, sau đó chọn nút Browse...
vào thư mục chứa tệp Add-in LocalizeXL_vX.X.xlam
đánh dấu Add-in vừa thêm và chọn nút OK
Cách 2:
Với đường dẫn: %AppData%\Microsoft\Excel\XLSTART
Nhấn Win+R, chép đường dẫn vào và nhấn Enter để mở
Chép tệp Add-in hoặc Tạo một shortcut từ tệp Add-in dán vào thư mục XLSTART của Excel

--------------------------------------------------------------------------------------
Các bạn có thể tham khảo thêm hàm tạo định dạng có điều kiện để làm nổi bật ô chọn tại bài viết:

Chia sẻ thêm:
Làm nổi bật ô đang chọn cho Google Spreadsheets với
Chrome Extend:

Hướng dẫn tại github và mã nguồn:
--------------------------------------------------------------------------------------

Liên hệ Facebook Messenger: Vo Truong Anh Tuan
Liên hệ Zalo: 0384170514
Quét QRCode Zalo:

z4135340916408_08dfdd87080de540fdaecdacb9209bd3.jpg

(***Cần đăng nhập để tải, Add-in mật khẩu mã VBA là 1)
(Tệp Add-in chỉ nhẹ 174 kb. Tệp zip bao gồm hướng dẫn và hình ảnh.)
(Bỏ Unblock tệp nếu có trước khi cài đặt vào Add-ins Excel)
 

File đính kèm

Lần chỉnh sửa cuối:
Giải pháp
Trên Excel365 cập nhật chế độ Focus Cell để làm nổi bật ô đang chọn.
Tuy nhiên nhược điểm, không có chế độ tự động nhận diện không gian màu sắc để tự động đổi màu cho phù hợp khi màu nền thuộc giải màu sắc sáng tối khác nhau. Chỉ hỗ trợ tô 1 màu cho dòng và cột. Trong khi LocalizeXL cho phép tùy chọn màu riêng biệt cho dòng và cột.
Cũng như không có chế độ tự động mờ dần trong một khoảng thời gian ngắn.


Excel's New Focus Cell Feature Makes It Easier to Read Data

Ở phiên bản mới của LocalizeXL tôi đã cố gắng phát triển một giao diện nổi bật, thước kẻ, không gian màu, tùy chọn đường kẻ nét đứt hoặc tô nền.
Tùy chọn tạo thước kẻ với Centimet...

Chia sẻ ứng dụng làm nổi bật vùng ô Excel đang chọn.​

Mục đích của ứng dụng này được sinh ta là để ta cho cái nhìn trực quan hơn khi ta chọn một ô Excel, hoặc ta có thể biết được vùng ô trước đó đã chọn, ta cũng có thể dùng để đối chiếu hàng và cột một cách dễ dàng hơn.​


#LocalizeXL Add-in​


Các lệnh thực thi để đóng mở và cài đặt thông số:​

Thực thiHàmGiá trị của tham số
Mở=LocalizeOn()
Tắt=LocalizeOff()
Thay đổi màu nền=LocalizeSetColor("#FCD220")<Color Number (or Hex)>
Thay đổi độ mờ=LocalizeSetOpacity(40)<Number 20~255>
Tắt/Mở mờ dần=LocalizeSetFading(400)<miliseconds 0~4000>
Thay đổi Màu nền, Độ mờ, Mờ dần=LocalizeSet(16711680, 40, True)<Color, Opacity, Fading>
Chuyển Add-in hoặc Book=LocalizeSpin()
Đặt lại mặc định=LocalizeReset()
Đóng Add-in=LocalizeQuit()
Hủy cài đặt Add-in=LocalizeUninstall()

Cài đặt: Thực hiện cài đặt như một Add-in bình thường

Trong thẻ Deverloper chọn Excel Add-ins, sau đó chọn nút Browse... vào thư mục chứa tệp Add-in, đánh dấu Add-in vừa thêm và chọn nút OK
(Mở thẻ Deverloper: chuột phải vào thanh Ribbon, chọn Customize the Ribbon)

Minh họa​

View attachment 254906

SCAN VIRUS​

https://www.virustotal.com/gui/

LƯU Ý:​

Nếu ứng dụng có Code VBA đang hoạt động theo thời gian thực, thì nên tắt ứng dụng LocalizeXL đi, để tránh sung đột, bằng cách gõ vào ô trống hàm =LocalizeOff()

Ứng dụng sẽ được cập nhật tại Github:
Thấy addin này hữu ích khi dữ liệu nhiều, dễ dóng hàng và cột, nhưng cài tick vào addin liền là có lỗi này:
1614995369919.png
1614995379389.png

Mong thớt sớm sửa lỗi
Bài đã được tự động gộp:

Ấn mở userform thì lỗi này:
1614995546523.png
 
Upvote 0
Upvote 0
Thấy addin này hữu ích khi dữ liệu nhiều, dễ dóng hàng và cột, nhưng cài tick vào addin liền là có lỗi này:
View attachment 254956
View attachment 254957

Mong thớt sớm sửa lỗi
Bài đã được tự động gộp:

Ấn mở userform thì lỗi này:
Đây là lỗi biên dịch.

Có hai cách cho bạn:
1. Vào github thư mục test tải bản test về thử
2. Cũng trong github, ở thư mục source có mã nguồn, bạn chỉ cần Import vào add-in mới.
 
Upvote 0
1. Vào github thư mục test tải bản test về thử
Tải bản .xlsm về dùng thử vẫn bị lỗi như bài #3
2. Cũng trong github, ở thư mục source có mã nguồn, bạn chỉ cần Import vào add-in mới.
Copy mã nguồn vào thì có mấy dòng đỏ này, không rõ là bị sao (chưa học tới, nhưng chung quy không chạy được, anh xem lại :D )
1614996870914.png
1614996880570.png
 
Upvote 1

@Nhattanktnn

'Import' và 'Sao chép' sao nó giống nhau được bạn.
Mã nguồn VBA mà bạn sao chép, thì học VBA vô ích rồi.
Lỗi có xảy ra cũng bó tay chứ không biết tại sao.

Trong thư mục Github tệp có đuôi rõ ràng là .bas, .frm và .frx. Tải về và 'import' hoặc kéo thả vào dự án mới.
 

File đính kèm

  • import_project.jpg
    import_project.jpg
    42.4 KB · Đọc: 43
Upvote 0

@Nhattanktnn

Sau khi kiểm tra lại cho Phiên bản Office thấp hơn, thì tôi phát hiện một lỗi.
Bây giờ bạn có thể tải lại tệp.
 
Upvote 0

@Nhattanktnn

Sau khi kiểm tra lại cho Phiên bản Office thấp hơn, thì tôi phát hiện một lỗi.
Bây giờ bạn có thể tải lại tệp.
Sau khi tải lại tệp .xlam trên GitHub, thì có vấn đề như này:
- Nếu mở book mới, thì báo lỗi
1615018468788.png
Tuy nhiên nếu ấn End và ấn =LocalizeOn() thì addin hoạt động bình thường

- Nếu mở một file có sẵn trong máy, thì báo lỗi thế này, và addin không hoạt động được:
1615018507468.png
1615018521391.png

Mình sử dụng window 64bit - office 2010 - 32bit

Đó là những gì khi sử dụng mình thấy vậy,
CÒN:
Mã nguồn VBA mà bạn sao chép, thì học VBA vô ích rồi.
Không yêu đừng nói lời cay đắng, học ít thì mới biết nhiêu đó thôi bạn. Mong bạn hướng dẫn thêm
Mình đã import module và form nhưng nó lại chỉ được thế này (nó không thuộc nhóm form mà lại chui vào modules:
1615018539946.png
 
Lần chỉnh sửa cuối:
Upvote 0
***Cập nhật: Sửa lỗi và bỏ đi tính năng làm nổi bật cho Object đang chọn
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Hình như đây là book mới (chưa lưu), chị đã test với file có sẵn trong máy chưa?
Em dùng office 2010 sau khi bạn ấy cập nhật bản mới thì không hiện lỗi nữa, book mới thì được nhưng nếu mà mở file có sẵn thì không hoạt động
Thì mình có nói nó hết lỗi đâu, mình mở lên thấy nó chạy ok chứ có sử dụng đâu. Mình thấy cái ý tưởng này cũng hay. Để rảnh rỗi nghiên cứu thử hihi
 
Upvote 0
***Cập nhật: Sửa lỗi nghiêm trọng làm sập ứng dụng Excel nếu mở dự án ở chế độ chặn chỉnh sửa.
Và đơn giản thay đổi màu nền cho khung:
=LocalizeSetColor("yellow") hoặc =LocalizeSetColor("yl")

Các màu bao gồm:

"yellow", "ye", "yl"
"red", "re"
"blue"
"green", "gr"
"cyan", "cy"
"magenta", "ma"
"white", "wh", "wi"
"black", "bl", "bk"
"orange", "or"
"pink"
"purple", "pu"
"silver", "si"
"violet", "vi"
"Brown", "br"
"Beige", "be"
 
Upvote 0
Máy của mình Windows 10 để Scale and layout 150%, Excel 365, zoom 150% thì lỗi không xóa hình chữ nhật đã vẽ lúc đầu tại dòng 1, cột A.

abc.png
 
Upvote 0
Máy của mình Windows 10 để Scale and layout 150%, Excel 365, zoom 150% thì lỗi không xóa hình chữ nhật đã vẽ lúc đầu tại dòng 1, cột A.
Đã sửa lỗi bạn có thể tải về cập nhật.

Thực ra lỗi này tôi đã phát hiện trước đó, và đã sửa lỗi vào bản đang phát triển. Bản này tôi chưa có thời gian hoàn thiện.
 
Upvote 0
Máy em Win11 excel 365 hiện tại sử dụng Addin của anh bị lỗi khi Double Click vào 1 ô trong hàng 1 hoặc cột A sẽ bị treo ứng dụng excel. Mong anh fix sớm
Tôi đã sửa lỗi này, bạn có thể tải ở bài viết chính hoặc tại tài nguyên diễn đàn.
 
Upvote 0
*****Cập nhật sửa lỗi bản 1.2*****
 
Upvote 0
@mammonz
Bạn đã cài Add-in LocalizeXL vào mục nào của Excel, có XLSTART và Add-in
 
Upvote 0
Không có hiện gợi ý hàm là do tôi sai sót trong quá trình sửa mã. Chứ không phải lỗi.

Tôi sẽ cập nhật chỉnh sửa lại ở bản 1.3. Đồng thời tối ưu mã để tiết kiệm bộ nhớ.
mình đã cài lại bản 1.3 ok rồi, đã hiện gợi ý hàm nhưng bị lỗi nhảy ô ấy bạn @HeSanbi
1686207285829.png
 
Lần chỉnh sửa cuối:
Upvote 0
Nó tô màu nỗi bật bị lỗi @HeSanbi ơi

Có tắt chức năng cuộn được không ạ?
 

File đính kèm

  • screenshot_1686629396.png
    screenshot_1686629396.png
    306.3 KB · Đọc: 14
Lần chỉnh sửa cuối:
Upvote 0
Nó tô màu nỗi bật bị lỗi @HeSanbi ơi

Có tắt chức năng cuộn được không ạ?

Tôi đã cập nhật bản 1.4, sửa lỗi.
Chế độ Tự động cuộn do người dùng tự bật
Với hàm =Localize_Scroll_On()

Bạn nên đón bản 1.5, tôi sẽ thêm chế độ tự động đổi màu nổi bật theo màu nền trang tính.
 
Upvote 0
1686720174889.png
Tôi dùng laptop chế độ phân giải của win mặc định 200% thì nó hiện bị lệch ở cạnh dưới cùng và cạnh bên phải, xin tác giả xem lại thử nhé.

1686720247845.png
 
Upvote 0
***** CẬP NHẬT v1.6 *****

Thay đổi thời gian kích hoạt quá trình cuộn tự động là 300 mili giây. Để tránh các trường hợp ngoài ý muốn.
Sửa lỗi lệch khung nổi bật
Thêm chế độ tự đổi màu nổi bật phù hợp với nền trang tính.
Thêm hàm Localize_Scroll bật tắt tự động cuộn.
Thêm chế độ cửa sổ cài đặt thông số

----------------------------------------------​
@huynhkimtien bạn có thể sử dụng bản 1.6
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn có thể nói thêm thông tin để tôi có thể sửa lỗi không.
mình xài 2 màn hình 1 là laptop 2 là màn rời thì trên laptop dùng ok mà chuyển qua màn rời nó bị nhảy ô highlight á bạn, thậm chí lúc có lúc không. Nhờ bạn xem giúp với
Trên laptop:
1688366804067.png

Còn trên màn hình rời:
1688366773581.png
 

File đính kèm

  • 1688366656846.png
    1688366656846.png
    3.1 KB · Đọc: 1
Upvote 0
mình xài 2 màn hình 1 là laptop 2 là màn rời thì trên laptop dùng ok mà chuyển qua màn rời nó bị nhảy ô highlight á bạn, thậm chí lúc có lúc không. Nhờ bạn xem giúp với
Trên laptop:
Còn trên màn hình rời:
Ứng dụng không hỗ trợ màn hình rời bạn nhé, tôi sẽ thêm mã phát hiện màn hình rời để ngưng làm nổi bật ô.
 
Upvote 0
@Comet297 @TekachiNguyen
Các bạn sử dụng ứng dụng ScreenToGif quay lại quá trình xảy ra lỗi toàn màn hình được không.
Gửi tệp gif lên với nút đính kèm.
 
Upvote 0
Cảm ơn bạn, chỗ mình bảo mật không cho phép quay với gửi dữ liệu ra ngoài nên chưa làm được.

Mình mô tả mong bạn hiểu:

- Chiều dọc: hiển thị như bài #20, thanh highlight luôn không hết màn hình (độ hụt bằng chiều rộng thanh Ribbon luôn đó)

- Chiều ngang: hiển thị không liền mạch 1 dải, lúc thì ngắt quãng bởi các ô vuông trắng xem giữa, lúc thì không rộng bằng chiều cao 1 ô, lúc thì không kéo dài hết chiều dài bảng tính.

Cảm ơn bạn!
 
Upvote 0
Chào bạn Hesanbi,

Đây là hình ảnh khi chạy trên Window 7 64 bit, Office 64 bit

Cảm ơn bạn.

1.JPG2.JPG3.JPG


4.JPG
 
Upvote 0
--------------------------------------------------------------------------------------
Chia sẻ thêm: Làm nổi bật ô đang chọn cho Google Spreadsheets với Chrome Extend:

Hướng dẫn tại github và mã nguồn:
--------------------------------------------------------------------------------------

***** CẬP NHẬT v1.7 MỚI NHẤT 14/07/2023*****​

--------------------------------------------------------------------------------------

Chia sẻ ứng dụng làm nổi bật vùng ô Excel đang chọn.​

#LocalizeXL Add-in​

Mục đích của ứng dụng này được sinh ra là để ta cho cái nhìn trực quan hơn khi ta chọn một ô Excel, hoặc ta có thể biết được vùng ô trước đó đã chọn, ta cũng có thể dùng để đối chiếu hàng và cột một cách dễ dàng hơn.​



Các lệnh thực thi để đóng mở và cài đặt thông số:​

Thực thiHàmGiá trị của tham số
Mở=Localize_On()
Tắt=Localize_Off()
Mở form cài đặt=Localize_Settings()
Kiểu khung=Localize_Style(1)Có 4 kiểu khung, 0:ngang dọc, 1:ngang, 2:dọc, 3:trái và trên
Thay đổi độ mờ=Localize_SetOpacity(40)Số từ 20 đến 255
Tắt/Mở mờ dần=Localize_SetFading(400)mili giây từ 0 đến 15000
Bật tự động cuộn=Localize_Scroll_On()
Tắt tự động cuộn=Localize_Scroll_Off()
Chuyển Add-in hoặc Book=Localize_Spin()
Đặt lại mặc định=Localize_Reset()
Đóng Add-in=Localize_Quit()
Hủy cài đặt Add-in=Localize_Uninstall()



CỬA SỔ CÀI ĐẶT:


Ảnh minh họa​


Kiểu khung nổi bật:​

LocalizeXL

Cuộn tự động khi rê chuột:

Rê chuột đến đầu, cuối, trái, hoặc phải của vùng được Highlight để tự động cuộn.

vba%20localize%20auto%20scroll.gif

SCAN VIRUS​

https://www.virustotal.com/gui/

LƯU Ý:​

Nếu ứng dụng có Code VBA đang hoạt động theo thời gian thực, thì nên tắt ứng dụng LocalizeXL đi, để tránh sung đột, bằng cách gõ vào ô trống hàm =Localize_Off()



Hướng dẫn cài đặt Add-in:​

Cách 1:
Trong thẻ Deverloper (Mở thẻ Deverloper: chuột phải vào thanh Ribbon, chọn Customize the Ribbon)
Chọn Excel Add-ins, sau đó chọn nút Browse...
vào thư mục chứa tệp Add-in LocalizeXL_vX.X.xlam
đánh dấu Add-in vừa thêm và chọn nút OK
Cách 2:
Với đường dẫn: %AppData%\Microsoft\Excel\XLSTART
Nhấn Win+R, chép đường dẫn vào và nhấn Enter để mở
Chép tệp Add-in hoặc Tạo một shortcut từ tệp Add-in dán vào thư mục XLSTART của Excel


(Tệp Add-in chỉ nhẹ 174 kb. Tệp zip bên dưới bao gồm hướng dẫn và hình ảnh.)
Bản v1.7 dùng trên 1 màn hình ổn định, tuy nhiên khi kết nối thêm màn hình qua cổng HDMI thì chỉ highlight khi click ô đầu tiên, sau khi mờ dần thì click ô khác không hoạt động. Mong tác giả cập nhật cải thiện.
 
Upvote 0
Bản v1.7 dùng trên 1 màn hình ổn định, tuy nhiên khi kết nối thêm màn hình qua cổng HDMI thì chỉ highlight khi click ô đầu tiên, sau khi mờ dần thì click ô khác không hoạt động. Mong tác giả cập nhật cải thiện.
Khi sử dụng 2 màn hình, bạn thử chỉnh độ phân giải thành đpg màn hình lớn hơn thử xem sao
 
Upvote 0
Upvote 0
Cho em hỏi khi em mở Book mới thì sẽ làm nổi bật ô, nhưng nếu bật file cũ thì ko hiện. Xin chỉ giúp em cách sửa với ạ.
E đang dùng excel 2010
 
Upvote 0
@jinju10 Mở và bật tệp?, bạn nói rõ hơn được không?
 
Upvote 0
mình đã cài đặt addin theo hướng dẫn, nhưng chỉ khi mở workbook mới thì mới hiện nổi bật, còn file cũ mở lên thì ko có (dù mình có dùng công thức =Localize_On()
Bạn thử mở mục cài Add-ins, tắt đi và mở lại xem được không?

Bạn có thể cài đặt add-in với cách thứ 2:

Tạo shortcut cho ứng dụng vào thư mục XLStart, bạn chạy mã dưới đây để mở thư mục.
JavaScript:
Private Sub openExplorerXLSTART()
  On Error Resume Next
  ActiveWorkbook.FollowHyperlink Application.StartupPath, , True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
@jinju10 @Nhattanktnn các bạn có thể tải lại bản 1.71 hoặc nhấn chuột phải vào tập tin xlam , chọn Properties và tích chọn Unlock, sau đó xác nhận. Và mở lại Excel để thử lại
 
Upvote 0
Em có dùng trên MS2021 mà ko thấy tô sáng bác à. lệnh vẫn đọc và nhận bình thường
 
Upvote 0
có cách nào đưa lên google docs không sếp ? giờ làm việc file chung trên đó hết rồi hic hic
 
Upvote 0
Trường hợp không muốn hightlight mờ dần thì như thế nào anh @HeSanbi. Nhờ anh chỉ giúp
 
Upvote 0
@Mr.hieudoanxd Bạn mở cài đặt lên và bỏ dấu thời gian mờ dần xem sao. Dự án được chia sẻ hiện tại sử dụng API Timer không an toàn, tôi đã viết bản cập nhật mới nhất để vượt qua. Tôi hơi lười đọc lại mã cũ, nên chưa cập nhật cho bản hiện tại.
 
Upvote 0
Trên Excel365 cập nhật chế độ Focus Cell để làm nổi bật ô đang chọn.
Tuy nhiên nhược điểm, không có chế độ tự động nhận diện không gian màu sắc để tự động đổi màu cho phù hợp khi màu nền thuộc giải màu sắc sáng tối khác nhau. Chỉ hỗ trợ tô 1 màu cho dòng và cột. Trong khi LocalizeXL cho phép tùy chọn màu riêng biệt cho dòng và cột.
Cũng như không có chế độ tự động mờ dần trong một khoảng thời gian ngắn.


Excel's New Focus Cell Feature Makes It Easier to Read Data

Ở phiên bản mới của LocalizeXL tôi đã cố gắng phát triển một giao diện nổi bật, thước kẻ, không gian màu, tùy chọn đường kẻ nét đứt hoặc tô nền.
Tùy chọn tạo thước kẻ với Centimet, Milimet, Point, Twips, inches để có thể so dòng cột để ứng dụng vào một số công việc nhất định trên Excel.
LocalizeXL có hỗ trợ thêm chức năng cuộn trang tự động khi rê chuột. Giúp làm việc với trang tính linh hoạt hơn.
Thậm chí phiên bản mới này tốt hơn cả highlight cell trong add-in Ku-tools nổi tiếng.
Trong add-in kutools họ có 2 lỗi cơ bản, 1 là không vẽ lại khung và 2 là không hỗ trợ trang tính RightToLeft (chế độ xem từ phải sang trái).

1736509200852.png

Giao diện cài đặt của Kutools so với LocalizeXL

A screenshot of the Reading Layout Settings dialog to customize highlight colors and styles

Đường nét đứt, tô nền và thước kẻ trong LocalizeXL, đồng thời hiển thị thông số dòng và cột gần ô chọn.​
1736509870010.png1736509791641.png1736509951612.png
Trong thời gian tới tôi sẽ cố gắng viết mã đóng gói vào Dll để có thể hoạt động trên Excel mà không mắc​
lỗi đóng ứng dụng của Timer API. Hiện tại ứng dụng chưa thể hoạt động trơn tru vì toàn bộ mã đều được viết thuần VBA, VBA thì chỉ hỗ trợ đơn luồng, không đáp ứng được các nhu cầu tất yếu khi vẽ bất đồng bộ để giảm độ trễ.​
 
Lần chỉnh sửa cuối:
Upvote 0
Giải pháp
Nhìn vào những điều trên, không có hiệu ứng phần mềm
 

File đính kèm

  • GIF.gif
    GIF.gif
    43.3 KB · Đọc: 7
Upvote 0
Nhìn vào những điều trên, không có hiệu ứng phần mềm
Bạn tải lại tệp ở trên, có thể lệnh Auto Open trên Win11 không được kích hoạt khi mở Add-in.
hoặc bạn có thể chia sẻ UltraView qua tin nhắn cá nhân được không?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn tải lại tệp ở trên, có thể lệnh Auto Open trên Win11 không được kích hoạt khi mở Add-in.
hoặc bạn có thể chia sẻ UltraView qua tin nhắn cá nhân được không?
Máy tính của tôi là Win11 64-bit, Excel2016 là 64-bit, tôi đã tải xuống lại và nó vẫn không hiển thị.
 
Upvote 0
Bản update đã sử dụng được cho win10 Enterprise LTSC ( Bản cũ không hỗ trợ)
Thank
 
Upvote 0
@125479980 Bạn tải lại, tôi có sửa đoạn mã OnTime, thành Timer API để khởi động chương trình, có thể là do lỗi gọi OnTime
 
Upvote 0
Bỏ chặn tệp, nếu không tệp sẽ không được cài đặt. Thông báo lỗi được hiển thị, loại tệp được bảo vệ
Có phải máy tính của bạn dùng 2 màn hình không?
Tôi cho thực hiện tắt chức năng hỗ trợ 2 màn hình. Tôi sẽ mở lại khi 2 màn hình, nhưng 2 màn hình phải khác vùng trình chiếu.
 
Upvote 0
Có phải máy tính của bạn dùng 2 màn hình không?
Tôi cho thực hiện tắt chức năng hỗ trợ 2 màn hình. Tôi sẽ mở lại khi 2 màn hình, nhưng 2 màn hình phải khác vùng trình chiếu.
Em đang đưa Useform vào góc phải màn hình và hiện tại Em cũng đang chưa giải quyết được bài toán khi có màn hình phụ thì giải quyết như thế nào. Anh cho em từ khóa nghiên cứu về vấn đề 2 màn hình và một vài lưu ý được không
 
Upvote 0
Em đang đưa Useform vào góc phải màn hình và hiện tại Em cũng đang chưa giải quyết được bài toán khi có màn hình phụ thì giải quyết như thế nào. Anh cho em từ khóa nghiên cứu về vấn đề 2 màn hình và một vài lưu ý được không
Sử dụng hàm API EnumMonitor hoặc lấy màn hình tại vị trí trỏ chuột hoặc lấy Monitor của cửa sổ.
Các hàm dưới đây tôi đã viết sẵn, bạn chỉ cần đọc hiểu.
Type MonitorInfo sẽ chứa các thông tin kích thước và vị trí của Màn hình. apiGetMonitorInfo sẽ xuất và ghi vào type này của màn hình chứa trỏ chuột hiện hành.
Từ đó bạn sẽ biết được đặt UserForm vào đâu, với hàm API MoveWindow hoặc SetWindowPos
Có các API không có ở dưới mã, bạn tự tìm hiểu thêm.

JavaScript:
"Option Explicit

#If VBA7 = 0 Then
  Private Enum LongLong: [_]: End Enum
  Private Enum LongPtr: [_]: End Enum
#End If
Private Const PtrNull As LongPtr = 0

Private Type POINTAPI
  x As Long
  y As Long
End Type

Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type


Private Type MonitorInfo
  cbSize As Long
  rcMonitor As RECT
  rcWork As RECT
  dwFlags As Long
End Type

#If VBA7 Then
Private Declare PtrSafe Function GetMonitorInfo Lib ""user32"" Alias ""GetMonitorInfoW"" (ByVal hMonitor As LongPtr, ByRef lpmi As LongPtr) As Boolean
Private Declare PtrSafe Function GetCursorPos Lib ""user32"" (lpPoint As POINTAPI) As Long
Private Declare PtrSafe Function GetClassName Lib ""user32"" Alias ""GetClassNameA"" (ByVal hwnd As LongPtr, ByVal lpClassName As String, ByVal nMaxCount As LongPtr) As Long
#Else
Private Declare Function GetMonitorInfo Lib ""user32"" Alias ""GetMonitorInfoW"" (ByVal hMonitor As Long, ByRef lpmi As Long) As Boolean
Private Declare Function GetCursorPos Lib ""user32"" (lpPoint As POINTAPI) As Long
Private Declare Function GetClassName Lib ""user32"" Alias ""GetClassNameA"" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
#End If

#If -VBA7 And -Win64 Then
  Private Declare PtrSafe Function MonitorFromPoint64 Lib ""user32.dll"" Alias ""MonitorFromPoint"" (ByVal pt As LongPtr, ByVal dwFlags As Long) As LongPtr
  Private Declare PtrSafe Function AccessibleObjectFromPoint64 Lib ""oleacc"" Alias ""AccessibleObjectFromPoint"" (ByVal lXY As LongPtr, ppacc As Any, pvarChild As Variant) As Long
  Private Declare PtrSafe Function WindowFromPoint64 Lib ""user32"" Alias ""WindowFromPoint"" (ByVal Point As LongPtr) As LongPtr
  Private Declare PtrSafe Function ChildWindowFromPoint64 Lib ""user32"" Alias ""ChildWindowFromPoint"" (hwnd As LongPtr, ByVal Point As LongPtr) As LongPtr
#ElseIf VBA7 Then
  Private Declare PtrSafe Function MonitorFromPoint32 Lib ""user32.dll"" Alias ""MonitorFromPoint"" (ByVal x As Long, ByVal y As Long, ByVal dwFlags As Long) As LongPtr
  Private Declare PtrSafe Function AccessibleObjectFromPoint32 Lib ""oleacc"" Alias ""AccessibleObjectFromPoint"" (ByVal lX As Long, ByVal lY As Long, ppacc As Office.IAccessible, pvarChild As Variant) As Long
  Private Declare PtrSafe Function WindowFromPoint32 Lib ""user32"" Alias ""WindowFromPoint"" (ByVal xPoint As Long, ByVal yPoint As Long) As LongPtr
  Private Declare PtrSafe Function ChildWindowFromPoint32 Lib ""user32"" Alias ""ChildWindowFromPoint"" (hwnd As LongPtr, ByVal xPoint As Long, ByVal yPoint As Long) As Long
#Else
  Private Declare Function MonitorFromPoint32 Lib ""user32.dll"" Alias ""MonitorFromPoint"" (ByVal X As Long, ByVal Y As Long, ByVal dwFlags As Long) As Long
  Private Declare Function AccessibleObjectFromPoint32 Lib ""Oleacc"" Alias ""AccessibleObjectFromPoint"" (ByVal lX As Long, ByVal lY As Long, ppacc As Office.IAccessible, pvarChild As Variant) As Long
  Private Declare Function WindowFromPoint32 Lib ""user32"" Alias ""WindowFromPoint"" ( ByVal xPoint As Long, ByVal yPoint As Long) As Long
  Private Declare Function ChildWindowFromPoint32 Lib ""user32"" Alias ""ChildWindowFromPoint"" (hwnd As Long, ByVal xPoint As Long, ByVal yPoint As Long) As Long
#End If

#If Win64 Then
Private Type POINTAPI64
  Value As LongPtr
End Type
#End If

Private Function WindowFromCursor(Optional ByVal byclass&) As LongPtr
  Dim p As POINTAPI, h As LongPtr: GetCursorPos p
  h = WindowFromPoint(p)
  If byclass <> vbNullString Then
    Dim s As String * 200, l As Long
    l = GetClassName(h, s, 200)
    If Left(s, l) <> byclass Then h = 0
  End If
  WindowFromCursor = h
End Function
Private Function WindowFromXY(ByVal x As Long, ByVal y As Long) As LongPtr
  Dim p As POINTAPI: p.x = x: p.y = y: WindowFromXY = WindowFromPoint(p)
End Function
Private Function WindowFromPoint(pt As POINTAPI) As LongPtr
  #If Win64 Then
    Dim t As POINTAPI64: LSet t = pt
    WindowFromPoint = WindowFromPoint64(t.Value)
  #Else
    WindowFromPoint = WindowFromPoint32(pt.x, pt.y)
  #End If
End Function

Private Function ChildWindowFromPointFromXY(ByVal hwnd As LongPtr, ByVal x As Long, ByVal y As Long) As LongPtr
  Dim p As POINTAPI: p.x = x: p.y = y: ChildWindowFromPointFromXY = ChildWindowFromPoint(hwnd, p)
End Function
Public Function ChildWindowFromPoint(ByVal hwnd As LongPtr, pt As POINTAPI) As LongPtr
  #If Win64 Then
    Dim t As POINTAPI64: LSet t = pt
    ChildWindowFromPoint = ChildWindowFromPoint64(hwnd, t.Value)
  #Else
    ChildWindowFromPoint = ChildWindowFromPoint32(hwnd, pt.x, pt.y)
  #End If
End Function

Private Function AccessibleObjectFromXY(ByVal x As Long, ByVal y As Long, ppac As Object, varchild As Variant) As Long
  Dim p As POINTAPI: p.x = x: p.y = y: AccessibleObjectFromXY = AccessibleObjectFromPoint(p, ppac, varchild)
End Function
Private Function AccessibleObjectFromPoint(pt As POINTAPI, ppac As Object, varchild As Variant) As Long
  #If Win64 Then
    Dim t As POINTAPI64: LSet t = pt
    AccessibleObjectFromPoint = AccessibleObjectFromPoint64(t.Value, ppac, varchild)
  #Else
    AccessibleObjectFromPoint = AccessibleObjectFromPoint32(pt.x, pt.y, ppac, varchild)
  #End If
End Function
Public Function MonitorFromPoint(pt As POINTAPI, ByVal dwFlags As Long) As LongPtr
  #If Win64 Then
    Dim t As POINTAPI64: LSet t = pt
    MonitorFromPoint = MonitorFromPoint64(t.Value, dwFlags)
  #Else
    MonitorFromPoint = MonitorFromPoint32(pt.x, pt.y, dwFlags)
  #End If
End Function
Public Function apiGetMonitorInfo(Optional ByVal monitor As LongPtr) As MonitorInfo
  If monitor = 0 Then monitor = MonitorFromCursor
  apiGetMonitorInfo.cbSize = Len(apiGetMonitorInfo)
  Call GetMonitorInfo(monitor, ByVal VarPtr(apiGetMonitorInfo))
End Function

Public Function MonitorFromCursor() As LongPtr
  Dim p As POINTAPI: GetCursorPos p: MonitorFromCursor = MonitorFromPoint(p, 0)
End Function"
 
Upvote 0
Sao của mình cài addin lên toàn báo lỗi thế nhỉ? Mình mù tịt về VBA bạn thông cảm1744618530178.png
 
Upvote 0

***** CẬP NHẬT v1.73 MỚI NHẤT 14/01/2025*****​

Chia sẻ ứng dụng làm nổi bật vùng ô Excel đang chọn.

#LocalizeXL Add-in

Mục đích của ứng dụng này được sinh ra là để ta cho cái nhìn trực quan hơn khi ta chọn một ô Excel, hoặc ta có thể biết được vùng ô trước đó đã chọn, ta cũng có thể dùng để đối chiếu hàng và cột một cách dễ dàng hơn.


Các lệnh thực thi để đóng mở và cài đặt thông số:​

Thực thiHàmGiá trị của tham số
Mở=Localize_On()
Tắt=Localize_Off()
Mở form cài đặt=Localize_Settings()
Kiểu khung=Localize_Style(1)Có 4 kiểu khung, 0:ngang dọc, 1:ngang, 2:dọc, 3:trái và trên
Thay đổi độ mờ=Localize_SetOpacity(40)Số từ 20 đến 255
Tắt/Mở mờ dần=Localize_SetFading(400)mili giây từ 0 đến 15000
Bật tự động cuộn=Localize_Scroll_On()
Tắt tự động cuộn=Localize_Scroll_Off()
Chuyển Add-in hoặc Book=Localize_Spin()
Đặt lại mặc định=Localize_Reset()
Đóng Add-in=Localize_Quit()
Hủy cài đặt Add-in=Localize_Uninstall()



CỬA SỔ CÀI ĐẶT:


Trong bảng chọn màu chép mã màu #FFFFFF hệ thập lục phân (hexadecimal)

View attachment 302120

Ảnh minh họa​


Kiểu khung nổi bật:​

LocalizeXL

Cuộn tự động khi rê chuột:

Rê chuột đến đầu, cuối, trái, hoặc phải của vùng được Highlight để tự động cuộn.

vba%20localize%20auto%20scroll.gif

LƯU Ý:​

Nếu ứng dụng có Code VBA đang hoạt động theo thời gian thực, thì nên tắt ứng dụng LocalizeXL đi, để tránh sung đột, bằng cách gõ vào ô trống hàm =Localize_Off()



Hướng dẫn cài đặt Add-in:​

Cách 1:
Trong thẻ Deverloper (Mở thẻ Deverloper: chuột phải vào thanh Ribbon, chọn Customize the Ribbon)
Chọn Excel Add-ins, sau đó chọn nút Browse...
vào thư mục chứa tệp Add-in LocalizeXL_vX.X.xlam
đánh dấu Add-in vừa thêm và chọn nút OK
Cách 2:
Với đường dẫn: %AppData%\Microsoft\Excel\XLSTART
Nhấn Win+R, chép đường dẫn vào và nhấn Enter để mở
Chép tệp Add-in hoặc Tạo một shortcut từ tệp Add-in dán vào thư mục XLSTART của Excel

--------------------------------------------------------------------------------------
Các bạn có thể tham khảo thêm hàm tạo định dạng có điều kiện để làm nổi bật ô chọn tại bài viết:

Chia sẻ thêm:
Làm nổi bật ô đang chọn cho Google Spreadsheets với
Chrome Extend:

Hướng dẫn tại github và mã nguồn:
--------------------------------------------------------------------------------------

Liên hệ Facebook Messenger: Vo Truong Anh Tuan
Liên hệ Zalo: 0384170514
Quét QRCode Zalo:

View attachment 297021

(***Cần đăng nhập để tải, Add-in mật khẩu mã VBA là 1)
(Tệp Add-in chỉ nhẹ 174 kb. Tệp zip bao gồm hướng dẫn và hình ảnh.)
(Bỏ Unblock tệp nếu có trước khi cài đặt vào Add-ins Excel)
Em đang dùng Office LTSC pro Plus 2024 bản 64, nếu giao diện excel dùng ngôn ngữ tiếng anh thì ổn, nhưng khi chuyển sang giao diện tiếng việt add in sẽ không có tác dụng, do đâu vậy bác?
 
Upvote 0
Do mã hoạt động lấy thông tin thanh chọn trang tính và thanh cuộn để lấy vùng giới hạn điều chỉnh đường kẻ, mã chỉ dựa vào tên tiếng Anh
 
Upvote 0
Do mã hoạt động lấy thông tin thanh chọn trang tính và thanh cuộn để lấy vùng giới hạn điều chỉnh đường kẻ, mã chỉ dựa vào tên tiếng Anh
muốn chỉnh màu kẻ dọc và kẻ ngang vào đâu bác, em không thấy cái hàm điều chỉnh màu sắc trên phiên bản này sao ý
 
Upvote 0

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

Back
Top Bottom