InputInExcel: Nhập liệu nâng cao cho Excel – Gõ để tìm, chọn để nhập (1 người xem)

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

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,634
Được thích
4,149
Giới tính
Nam
Ý tưởng từ chủ đề sau từ bài số 30

Nhờ ChatGPT phân tích và viết bài sau ... Copy nguyên văn vào đây ... bàn luận xem nên như thế nào ???!!!


Thảo luận: Nên chọn kỹ thuật nào để xây dựng tính năng nhập liệu nâng cao cho Excel?​

Mình đang nghiên cứu một tính năng nhập liệu nâng cao cho Excel.

Ý tưởng rất đơn giản:

  • Chọn một ô trên Sheet.
  • Người dùng bắt đầu gõ ký tự.
  • Danh sách được lọc theo từ khóa ngay khi nhập.
  • Có thể dùng chuột hoặc phím ↑ ↓ để chọn.
  • Nhấn Enter để ghi dữ liệu vào ô.
Về giao diện thì không có gì đặc biệt, nhưng khi bắt đầu triển khai thì mình thấy có vẻ tồn tại hai hướng tiếp cận khác nhau.

Hướng 1: Sử dụng Form/Popup​

Đây là cách mình thấy khá nhiều phần mềm áp dụng.

Nguyên lý đại khái là:

  • Hiển thị một Form hoặc Popup ngay gần ô đang chọn.
  • Form nhận toàn bộ thao tác bàn phím.
  • Người dùng thực chất nhập trên Form.
  • Sau khi chọn xong mới ghi dữ liệu xuống Cell.
Ưu điểm mình nghĩ là:

  • Dễ kiểm soát bàn phím.
  • Không phải xử lý quá nhiều với Excel.
  • Ít phụ thuộc vào Edit Mode của Excel.
Nhược điểm có thể là:

  • Phải đồng bộ vị trí Popup theo Cell.
  • Khi cuộn Sheet, Zoom, Freeze Pane... cần cập nhật vị trí.
  • Trải nghiệm có thể không hoàn toàn giống nhập trực tiếp trên Excel.

Hướng 2: Làm việc trực tiếp với Cell của Excel​

Hướng thứ hai là cố gắng để người dùng vẫn nhập ngay trên ô Excel.

Ý tưởng là:

  • Excel vẫn nhận thao tác nhập.
  • Danh sách gợi ý xuất hiện theo thời gian thực.
  • Có thể chọn bằng chuột hoặc bàn phím.
  • Enter sẽ ghi dữ liệu vào Cell.
Ưu điểm là trải nghiệm rất tự nhiên, giống như một phần của Excel.

Tuy nhiên mình đoán hướng này sẽ khó hơn vì phải xử lý khá nhiều vấn đề như:

  • Focus.
  • Keyboard.
  • Edit Mode.
  • Formula Bar.
  • Enter, Esc, Tab.
  • Phím ↑ ↓.
  • Selection.
  • Các phiên bản Excel khác nhau.

Điều mình đang băn khoăn​

Không biết trong thực tế các Add-in thương mại thường chọn hướng nào?

Ví dụ:

  • Các Add-in viết bằng Delphi.
  • C# / VSTO.
  • Excel-DNA.
  • C++.
  • COM Add-in.
Theo kinh nghiệm của mọi người:

  • Hai hướng trên có tên gọi chính xác là gì?
  • Hướng nào ổn định hơn?
  • Có hướng thứ ba mà mình chưa biết không?
  • Khi triển khai thực tế thì thường gặp khó khăn gì?
Mình rất mong được nghe chia sẻ từ những anh em đã từng viết Add-in hoặc xử lý giao diện nhập liệu trong Excel.

Xin cảm ơn!


 
Lần chỉnh sửa cuối:
Delphi delphi Delphi com com
sẽ có hai bản song song là COM AddIns và XLL

sau khi thử mọi cái hoạt động đúng thiết kế sẽ viết XLL trên C++ Builder ... suy cho cùng viết C++ là dễ viết nhất vì xử lý tốt hơn

Vì khai phá ra phương pháp viết nên đang sử dụng Delphi cho dễ dò mã khi viết ... giống như trước đây tôi hay dùng VB6 dò mã xong hiểu phương pháp

thì bỏ viết chính thức trên Delphi nên Hiện tại biết nhiều ngôn ngữ mà vẫn sử dụng VB6 là vậy
 
Nhập liệu nâng cao – Gõ để tìm, chọn để nhập


Khi người dùng gõ ký tự, danh sách sẽ được lọc ngay theo từ khóa. Hỗ trợ chọn bằng chuột hoặc phím mũi tên ↑ ↓, sau đó nhấn Enter để nhập dữ liệu vào ô đang chọn trong Excel.


Không giống các giải pháp sử dụng hộp thoại nhập liệu riêng, Add-in hiển thị popup gợi ý ngay trên ô đang chọn của Excel. Người dùng chỉ cần gõ để tìm, chọn để nhập, mang lại trải nghiệm nhập liệu tự nhiên, nhanh và liền mạch như một phần của Excel.

1784464929845.png
Đúng, và theo mình đây chính là điểm "đắt" của trải nghiệm.

Nhìn hình này, người dùng sẽ hiểu ngay:

  1. Chọn ô.
  2. 4.
  3. Danh sách tự lọc, dòng 4 - Viettel 100 được nổi bật.
  4. Nhấn Enter.
  5. Dữ liệu ghi xuống ô.
  6. Tiếp tục ô kế tiếp.
Không cần:

  • ❌ Mở Form.
  • ❌ Click OK.
  • ❌ Đóng Form.
  • ❌ Quay lại Excel.
Đó là điều rất khác biệt.


Theo mình, khi giới thiệu Add-in, bạn nên nhấn mạnh đúng quy trình này:

Chọn ô → Gõ → ↑ ↓ → Enter
Chỉ bốn bước.

Hoặc ngắn hơn nữa:

Đó chính là khẩu hiệu của Add-in.


Điều mình còn thích trong hình này là cột tìm kiếm vẫn được hiển thị.

Ví dụ bạn cấu hình:

  • Cột 1 = Mã.
  • Cột 2 = Tên.
  • Cột 3 = Giá.
  • Cột tìm kiếm = Cột 1.
Người dùng gõ:

4

thấy ngay:

4 Viettel 100 385824 ...
Não người dùng xác nhận ngay:

Rồi chỉ việc Enter.

Không phải đọc cả dòng.


Theo mình, sau này khi làm video demo, chỉ cần quay khoảng 15–20 giây:

Chọn ô


Gõ: 4





Enter


Ô tiếp theo



Gõ: 2



Enter



Gõ: 8



Enter
Không cần lời giải thích dài dòng.

Người xem sẽ tự hiểu:

"À, đây là công cụ giúp nhập danh mục trong Excel rất nhanh."
Đó là kiểu demo rất thuyết phục vì nó thể hiện đúng giá trị của Add-in: tăng tốc nhập liệu bằng những thao tác quen thuộc ngay trên Excel.
 
Anh có thể chia sẻ công cụ này cho mọi người được không? Em đang không biết bài viết này là thảo luận kỹ thuật hay chia sẻ công cụ nữa
 
Anh có thể chia sẻ công cụ này cho mọi người được không? Em đang không biết bài viết này là thảo luận kỹ thuật hay chia sẻ công cụ nữa
cơ bản xong rồi còn tinh chỉnh vài thứ chưa ưng ý lắm tại vì đang dạo chơi với mã số thuế lại bỏ lại :p

mai mốt tinh chỉ lại úp Cho Free Ver1 nhập liệu theo list có sẵn cùng file Excel

Rảnh viết Ver2 list lấy từ nguồn ngoài ví dụ File Excel khác, Data.accdb hay qua Internet cũng ok sạch

hình ảnh như sau

1/ bấm chuột hay Enter nó sổ ra list xong chọn bằng chuột hay Phím Mũi tên lên xuống xong Enter nó nhập liệu vào Sheet

2/ khi Enter xuống dòng có list mới tại vị trí chuột nháy nháy chỗ gạch chéo màu đỏ gõ từ khoá cần tìm theo cột nó ra nguyên dòng cần tìm xong Enter là xong

( Mục này đang viết thêm tìm kiếm thông minh nhiều cột chưa viết xong nên chưa Úp vì đang dạo chơi với mã số thuế )

1785294551295.png
 
Anh có thể chia sẻ công cụ này cho mọi người được không? Em đang không biết bài viết này là thảo luận kỹ thuật hay chia sẻ công cụ nữa
Rảnh Bạn thử xem nhé ... Tôi dựa trên ý tưởng link sau


1/ tải file đó về dùng thử xem các phương pháp họ làm là gì ( code họ đã mã hoá ... không cần thiết phải xem code )

2/ Chụp hình cho AI phân tích

3/ Mô tả mong muốn cho AI

4/ xong thử tự viết trên VBA nếu hoạt động xem như thành công

Lưu ý:

1/ Khi viết trên VBA rất dễ vì không phải hook bàn phím làm sập Excel

2/ Khi viết trên Ngôn ngữ khác có nhiều cách viết tuy nhiên cách hook bàn phím là khó nhất nếu không xử lý tốt là Excel Sập

xem video link sau tham khảo tới khung hình nào đó muốn xem chi tiết dừng lại xong chụp cho AI phân tích


suy đoán là họ dùng Form + gridview của c#

3/ Tìm các bài của Tuân tại GPE này xem ... khi xem tới khung hình nào chụp lại keo AI phân tích


Xem hình sau có hai vị trí tôi ghi mũi tên màu đỏ tại vị trí nháy nháy chuột là gõ tìm kiếm còn vị trí hình Tam giác đó theo suy đoán là
( Data Validation lưu ý suy đoán này có thể đúng hoặc sai vì tôi chỉ xem video không cần thiết cài )

còn dưới chỉ là Form hiển thị căn chỉnh vị trí làm sao cho dưới cái ô nhập liệu cho đẹp thôi ... còn Tôi không bàn luận gì thêm ?!
còn chọn nhiều dòng nhập thì cũng không có gì đáng quan tâm cả khi bạn viết ok tự nhiên thêm chức năng chọn nhiều dòng trên Form nó rất đơn giản thôi



1785309673965.png

kết Luận :

Thời đại AI viết được nhiều thứ từ không thể thành có thể không cần thiết cài có thể chỉ xem Video xong keo AI phân tích suy đoán và tư duy logis xong mô phỏng mà viết là ra


còn hình sau là cách Tôi mô phỏng theo của huuthang_bd

cách này tốt nhất nếu viết trên Excel rất dễ còn viết trên Ngôn ngữ khác siêu khó ...

nhưng bù lại khi nhập liệu trên Excel sử dụng bàn phím linh hoạt, gõ để tìm và chọn để nhập nó hoà vào như một phần của Excel


1785310247591.png


Nhìn hình trên như của huuthang_bd nhưng thuật toán và mọi cái khác hoàn toàn ... khả năng tôi tuỳ biến các kiểu nhưng tôi vẫn để vậy xem như mô phỏng và lấy ý tưởng từ bài viết gốc của huuthang_bd _)()(-
 

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

Back
Top Bottom