Trang 1/3 1 2 3 cuốicuối
Hiển thị kết quả tìm kiếm từ 1 đến 10 trên tổng số: 24
  1. #1
    Tham gia ngày
    06 2006
    Nơi Cư Ngụ
    Hà Nội
    Bài gởi
    5,563
    Cảm ơn
    7,783
    Được cảm ơn 20,741 lần trong 4,673 bài viết

    Sử dụng chức năng Validation thay thế combo trong forms

    Trước kia, để lấy một giá trị trong một CSDL, ta thường dùng hàm Index. Và để chuyên nghiệp hơn thì dùng nút combo trong forms. Tất nhiên là phải khai báo các thông tin về vùng dữ liệu- Input range (CSDL), ô liên kết - cell link, số dòng thả xuống- drop down lines. Bài toán trở nên phức tạp vì nhiều liên kết.
    Nhưng bây giờ bạn có thể dùng chức năng Validation bằng cách như sau:
    - Chọn ô nhận dữ liệu. VD: F11
    - Vào Data/ Validation. Cửa sổ Data Validation hiện ra.
    - Trong setting ta chọn list, và khai báo vùng dữ liệu (CSDL) trong Source.
    - Cuối cùng bạn đã được ô liên kết với CSDL. Khi di chuyển chuột đến thì ô đó hiện ra nút cuộn xuống ở bên phải.



    - Ngoài ra bạn có thể bổ sung 1 số thông tin trong Input massage, hay bẫy lỗi Error Alert
    - Ngoài ra còn một số chức năng khác trong Data Validation\ Settings\ Allow
    thay đổi nội dung bởi: PhanTuHuong, 09-07-06 lúc 04:22 PM

  2. Có 5 thành viên cảm ơn PhanTuHuong về bài viết này:


  3. #2
    Tham gia ngày
    06 2006
    Nơi Cư Ngụ
    Hà Nội
    Bài gởi
    5,563
    Cảm ơn
    7,783
    Được cảm ơn 20,741 lần trong 4,673 bài viết
    Tôi xin bổ sung file minh họa kèm theo.

    Còn nội dung toàn bộ thì thì anh Luky Luck đã trình bày rồi.

  4. #3
    Tham gia ngày
    06 2006
    Nơi Cư Ngụ
    Hà Nội
    Bài gởi
    5,563
    Cảm ơn
    7,783
    Được cảm ơn 20,741 lần trong 4,673 bài viết
    File minh họa kèm theo
    Tập tin đính kèm Tập tin đính kèm

  5. Có 13 thành viên cảm ơn PhanTuHuong về bài viết này:


  6. #4
    Tham gia ngày
    06 2006
    Bài gởi
    36
    Cảm ơn
    79
    Được cảm ơn 147 lần trong 36 bài viết

    Ứng dụng Validation kết hợp - Chọn nhiều danh sách trên 1 ô

    Ta có thể đưa vào Validation - List nhiều danh sách phụ thuộc vào 1 giá trị nảo đó. Ví dụ bạn muốn quản lý công nợ nhiều loại, 131, 141, 138, 331, 338 v...v trên cùng 1 sheet. Nếu mở tài khoản cấp 2 thì bạn rất dễ lẫn lộn, mở thêm 1 cột phụ cho mã đối tượng là cách hay nhất, nhưng để chung một danh sách thì rất khó nhớ. Validation - List sẽ giúp bạn chọn đối tượng tương ứng với tài khoản.
    Có nhiều cách để làm được điều này (nhiều công thức cũng như cách tổ chức). File kèm theo là 1 cách. Các công thức đều nằm trong 3 name động:
    dmObjectCode: Mã các TK trong DM, các loại khác để Other
    dmObColumn: Xác định cột đối tượng với 1000 dòng
    dmObject: Cắt bớt cột đối tượng, bỏ những dòng trắng.
    Tập tin đính kèm Tập tin đính kèm

  7. Có 12 thành viên cảm ơn adam_tran về bài viết này:


  8. #5
    Tham gia ngày
    06 2006
    Bài gởi
    36
    Cảm ơn
    79
    Được cảm ơn 147 lần trong 36 bài viết

    Validation - Không nhập trùng 2 giá trị trên 1 cột/vùng

    Nếu bạn muốn dữ liệu nhập không có giá trị trùng, thí dụ mã hàng trong DMHH chẳng hạn, bạn vào Validation, mục Criteria bạn chọn Custom nhập vào biểu thức:
    (Giả sữ cột A)
    =COUNTIF(A:A, A1) <=1

    Để tránh nhập ngày theo kiểu text, bạn nhập vào biểu thức

    =NOT(ISTEXT(A1))

  9. Có 2 thành viên cảm ơn adam_tran về bài viết này:


  10. #6
    Tham gia ngày
    06 2006
    Nơi Cư Ngụ
    Nha Trang
    Bài gởi
    528
    Cảm ơn
    185
    Được cảm ơn 734 lần trong 289 bài viết

    Khi nào thì dùng Validation hay Combo Box?

    Dear all,
    -------
    Theo em, ở mức độ đơn giản, những người dùng Excel thường chọn Validation hơn là dùng Combo box. Tuy nhiên ở một số trường hợp phức tạp, chúng ta nên lựa chọn Combo box sẽ hiệu quả hơn. Em xin nêu một số lý do của em khi em muốn chọn Combo box mà không phải là Validation:
    1. Không muốn tạo sự kiện Worksheet_Change:
    Sự kiện này xảy ra khi có bất cứ một ô nào bị "Edit". Validation là một thuộc tính của cell do đó mỗi lần giá trị thay đổi, biến cố Change xảy ra. Điều này rất phiền toái khi chúng ta có xử lý sự kiện Change của Worksheet.
    Chúng ta có thể thay thế sự kiện này bằng sự kiện Change của Combo box mà không cần bận tâm đến sự kiện thay đổi của Worksheet
    2. Nguồn dữ liệu:
    Đây là điểm khác nhau cơ bản giữa hai đối tượng này. Nếu quan sát kỹ chúng ta thấy rằng Validation thường sử dụng nguồn là một Range hoặc Name. Có những hạn chế nhất định nếu chúng ta sử dụng Validation với nguồn dữ liệu riêng lẻ, bao gồm tập hợp {n} phần tử độ lập hoặc không nằm trên Worksheet. Chúng ta chỉ có thể tạo ra một danh sách 255 phần tử độc lập cho Validation, nhưng với Combo box chúng ta có thể gán được với số phần từ nhiều hơn thế!
    3. Nhu cầu về tạo nhiều cột khi sổ danh sách liệt kê:
    Tất nhiên Validation vẫn có thể làm được nhưng vẫn "phải động vào một ít VBA" nhưng theo em thì Combo box vẫn làm điều này tốt hơn. Ta chỉ việc thiết lập lại thuộc tính ColunmCount là xong.

    www.giaiphapexcel.com còn có nghĩa là giúp chúng ta lựa chọn giải pháp nào tối ưu nhất!
    thay đổi nội dung bởi: Đào Việt Cường, 12-07-06 lúc 04:54 PM
    Always careful - Always successful

  11. Có 9 thành viên cảm ơn Đào Việt Cường về bài viết này:


  12. #7
    Tham gia ngày
    07 2006
    Bài gởi
    80
    Cảm ơn
    58
    Được cảm ơn 21 lần trong 12 bài viết
    Cho em hỏi chút về COMBO BOX,

    Trong một sheet em lập 3 cái COMBO BOX, nguồn dữ liệu lấy từ một sheet khác. ColumnCount là 2, CellLinked đến một ô trong sheet hiện hạnh. Nhưng không hiểu sao chỉ 2 cái đầu là chạy bình thường, còn cái thứ 3 thì không chạy. Cụ thế như sau:

    1. Khi bấm vào hình tam giác chỉ xuống thì chỉ hiện dữ liệu ở Column 1 mà không có dữ liệu Column 2.

    2. Chọn thử một dữ liệu bất kỳ thì không thấy hiện dữ liệu đó trong COMBO BOX, cũng không thấy nó hiện lên ở CellLinked.

    Em đã kiểm tra kỹ thì thấy có 2 điểm khác so với những COMBO BOX kia (2 Cái thực hiện được bình thường), đó là 2 chỉ tiêu TEXT và VALUE trên thể Alphabetic không thấy hiện giá trị.

    Em thử điền giá trị vào đó nhưng nó không nhận.

    Vậy vấn đề của nó là gì vậy? Và cách nào để khắc phục? Các bác chỉ dùm nhé, em đang rất cần.

    Thanks,

  13. #8
    Giả sử tôi cần tạo một Combo Box, có danh sách là 2 cột lấy trong Sheet2 vùng A1:B10. Ô liên kết (nhận và truyền giá trị từ Combo Box) là A1 của Sheet hiện tại.

    1- Tạo Combo Box từ "Control Toolbox"
    2- Nhấp chuột phải trên đối tượng chọn "Property"
    3- Gián giá trị cho Property của đối tượng
    ListFillRange = Sheet2!A1:B10
    LinkCell = A1

    Vì danh sách gồm 2 cột, bạn quan tâm tới những Property sau:

    BoundColumn là 1 'Giá trị nhận ở cột 1
    ColumnCount là 2
    ColumnWidths là 50;250 'Cột 1 trộng 50, cột 2 rộng 250 . Không có dấu =
    ListWidth là 300 'Vì 50 + 250 = 300

    Bạn làm thật cẩn thận xem có được không?

    Trích Nguyên văn bởi Đào Việt Cường
    1. Không muốn tạo sự kiện Worksheet_Change:
    Sự kiện này xảy ra khi có bất cứ một ô nào bị "Edit". Validation là một thuộc tính của cell do đó mỗi lần giá trị thay đổi, biến cố Change xảy ra. Điều này rất phiền toái khi chúng ta có xử lý sự kiện Change của Worksheet.
    ...
    Lập trình trên Excel thì các sự kiện của nó như: "Worksheet_Change";"Worksheet_SelectionChange"...r ất quan trọng. Ta không nên né tránh nó. Chính vì thế anh mới một bài nói về vấn đề này hình như là "Tăng tốc độ trên Excel...".
    Để đảm bảo hệ thống Excel chạy bình thường thì cấu trúc code nên viết như sau:

    Sub Test()
    On Error GoTo EndSub: 'Cần phải có để đảm bảo EnableEvents nhận lại giá trị ban đầu.

    Dim bEnableEvents As Boolean
    'Lưu giá trị cũ và gán giá trị mới cho EnableEvents của Excel
    bEnableEvents = Application.EnableEvents
    Application.EnableEvents = False 'Khóa tất cả các sự kiện của Excel

    '--Ví du Code của người dùng----
    '---Range("A1").Value="xzy"
    '......

    EndSub:

    'Hoàn trả giá trị cũ cho EnableEvents của Excel
    Application.EnableEvents = bEnableEvents

    End Sub
    thay đổi nội dung bởi: Nguyễn Duy Tuân, 17-04-07 lúc 02:35 AM

  14. Có 4 thành viên cảm ơn Nguyễn Duy Tuân về bài viết này:


  15. #9
    Tham gia ngày
    08 2006
    Bài gởi
    3,267
    Cảm ơn
    1,733
    Được cảm ơn 3,733 lần trong 1,764 bài viết
    Đây là file VD như anh Tuân đã trình bày. (Chỉ một phần thôi)

    Validation+Combobox


    Em thấy đây là một giải pháp rất hay.
    Cảm ơn anh nhiều!

  16. Có 4 thành viên cảm ơn Mr Okebab về bài viết này:


  17. #10
    Tham gia ngày
    04 2007
    Bài gởi
    38
    Cảm ơn
    1
    Được cảm ơn 37 lần trong 25 bài viết
    Trích Nguyên văn bởi PhanTuHuong
    Trước kia, để lấy một giá trị trong một CSDL, ta thường dùng hàm Index. Và để chuyên nghiệp hơn thì dùng nút combo trong forms. Tất nhiên là phải khai báo các thông tin về vùng dữ liệu- Input range (CSDL), ô liên kết - cell link, số dòng thả xuống- drop down lines. Bài toán trở nên phức tạp vì nhiều liên kết.
    Nhưng bây giờ bạn có thể dùng chức năng Validation bằng cách như sau:
    - Chọn ô nhận dữ liệu. VD: F11
    - Vào Data/ Validation. Cửa sổ Data Validation hiện ra.
    - Trong setting ta chọn list, và khai báo vùng dữ liệu (CSDL) trong Source.
    - Cuối cùng bạn đã được ô liên kết với CSDL. Khi di chuyển chuột đến thì ô đó hiện ra nút cuộn xuống ở bên phải.



    - Ngoài ra bạn có thể bổ sung 1 số thông tin trong Input massage, hay bẫy lỗi Error Alert
    - Ngoài ra còn một số chức năng khác trong Data Validation\ Settings\ Allow
    Bạn cho mình hỏi tạo cái Drop Down 1(Combo) như thế nào.Minh tạo từ Control box nhưng không giống.

  18. Thành viên sau cảm ơn pxthanhcda về bài viết này:


Trang 1/3 1 2 3 cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Đề tài tương tự

  1. Chức năng Data Validation trong excel 2007
    Viết bởi phitruong141 trong chuyên mục Giải thích, gỡ rối, xử lý lỗi công thức
    Trả lời: 13
    Bài mới gởi: 30-06-14, 03:19 PM
  2. Làm thế nào để cải thiện chức năng Settings - List trong Validation?
    Viết bởi haitramy trong chuyên mục Xử lý chuỗi ký tự
    Trả lời: 59
    Bài mới gởi: 24-06-14, 10:55 AM
  3. Cách liên kết 2 combo box trên cùng một forms
    Viết bởi ckc2006 trong chuyên mục Ứng dụng Quản trị cơ sở dữ liệu
    Trả lời: 0
    Bài mới gởi: 22-11-10, 09:08 PM
  4. Name động với Combo box, Validation
    Viết bởi TKT trong chuyên mục Những vấn đề chung
    Trả lời: 4
    Bài mới gởi: 05-06-08, 10:44 AM
  5. Tạo hộp chọn validation hoặc combo box
    Viết bởi salam trong chuyên mục Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
    Trả lời: 18
    Bài mới gởi: 28-03-08, 12:42 PM

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]