Hoi thao the gioi ke toan CleverCFO Công ty CP Tư Vấn Thuế Vinatax
+ Reply to Thread
Kết quả 1 tới 10 của 10
  1. #1
    Tuanktcdcn
    Khách vãng lai

    Lỗi thuộc tính "List" trong Validation của Excel XP/2003

    Vừa qua mình có phát hiện một lỗi rất nghiệm trọng của của Excel XP/2003.
    Chúng ta vẫn thường tạo một danh sách (dạng Combo) bằng Validation của Excel.
    Cách làm: vào menu Data->Validation, trong tab "Setting" chọn Allow là "List", mục Source bạn gán vào vùng chứa danh sách hay một tên (tạo trong Define name).
    Với Excel 2000 trở về trước thì vùng chứa danh sách có thể lấy ở một Workbook (tệp) khác, nhưng Excel XP/2003 thì không cho phép?

    Theo nhìn nhận của mình thì đây là lỗi của Excel khi MS nâng cấp phiên bản đã...
    Các bạn có thấy vậy không? Vậy làm thế nào để chữa lỗi này?

  2. #2
    mysterious_girl
    Khách vãng lai
    Em cũng đang dùng Excel XP/2003 và em cũng thấy như thế. Nhưng em ít dùng validation nên chưa biết khắc phục như thế nào?Mọi người cùng nghiên cứu nhé.

  3. #3
    adam_tran
    Khách vãng lai
    Excel 2002 vẫn cho phép nhưng Name chỉ active khi workbook được open, còn không thì chẳng thấy danh sách hiện lên khi click dấu tam giác ngược.
    Riêng tớ thì thấy chức năng ignore blank hơi lộn xộn...

  4. #4
    handung107
    Khách vãng lai
    Dear all,
    -------
    Em tạm gọi chủ để này là như vậy, vì như các anh chị thấy: Khi chúng ta thiết lập nguồn là một danh sách từ sheet khác (không phải sheet hiện hành) thì MSE hoặc là không cho phép ta active sheet đó để ta chọn, hoặc là đưa ra thông báo rất cụ thể ("You may not use reference to other worksheet or workbooks for Data Validation Criteria&quot.
    Để khắc phục hạn chế này em đành dùng mẹo là đặt name với tham chiếu là vùng địa chỉ mà ta muốn tham chiếu từ Workbook khác. Sau đó set (gán) lại source cho Validation bằng name này!
    Một hạn chế khác em gặp phải khi đang thực hiện set nguồn bằng một đoạn thủ tục VBA: lỗi xảy ra khi ta thiết lập nguồn dữ liệu đưa vào là một chuỗi gồm > 255 phần tử. Em tìm hiểu thì hoá ra nguồn này bị giới hạn chỉ cho phép 255 phần tử trực tiếp tạo thành danh sách(!).
    Thứ nữa, như anh chị và các bạn thấy, Validation chỉ cho ta đưa vào danh sách chỉ với 1 cột duy nhất - điều này giảm đi tính trực quan khi ta chọn một khoản mục trên danh sách.
    Em cũng chưa rõ lý ro tại sao Microsoft lại hạn chế như vậy. Nhưng từ các hạn chế đó em cho rằng đó là những hạn chế có chủ đích trong phạm vi ứng dụng của nó. Nếu đáp ứng được các yêu cầu trên thì máy sẽ xử lý rất chậm. Chúng ta chỉ áp dụng trong trường hợp đặc biệt để bắt các lỗi ràng buộc phức tạp, không nên lạm dụng quá tính năng này.
    Một vài góp ý!

  5. #5
    Đào Việt Cường
    Khách vãng lai
    Dear all,
    --------
    Sở dĩ em đặt vấn đề Validation giới hạn 255 phần tử là nhân tiện nói về những hạn chế của MSE Validation.
    Yêu cầu đặt ra là:
    Em có danh hàng trăm mã hàng (>255) và danh sách này thay đổi khi em chọn một nhóm hàng. Nếu ta đặt Name cho để tạo nguồn cho Validation này sẽ không được vì Reference To của Name phải là một dãy liên tục (nếu lên tục thì sẽ bao gồm cả mã không cùng nhóm mất rồi!). Để có được danh sách này, em dùng vòng lặp chọn từng mặt hàng theo nhóm, "xâu" nó thành "chuỗi" rồi đưa vào Source của Validation.
    Và thế là... error!
    Em đã xử lý lỗi này bằng cách define một Name động mà Reference To là kết quả của Addvandce Filter theo nhóm hàng! Giải quyết này đã cải thiện đáng kể về tốc độ vì đã thay thế vòng duyệt chọn từng mã!
    Còn về vấn đề làm sao để có được danh sách nhiều cột, em nghĩ chắc là phải thay thế Validation bằng List box hoặc Combo box mới được.
    Đôi điều góp ý!

  6. #6
    hai2hai
    Khách vãng lai
    Lạ nhỉ, Cường nói sao chứ, chị thấy DS Validation của chị có đến cả ngàn mặt hàng, và bình thường thôi, không có lỗi gì cả. Ứng dụng của Validation khá phong phú, nó không hiện được 2 cột, nhưng nếu biết tận dụng VBA và một số hàm thì cũng đem lại cho mình một số tiện lợi nào đó. Để hôm nào rảnh, chị soạn thêm ít bài về Validation. Topic "Hiểu thêm về Validation" hình như em chưa xem qua thì phải ???

  7. #7
    Tuanktcdcn
    Khách vãng lai
    Tuân à, chị đang dùng Excel XP đây, và không bị lỗi Validation nếu Workbook có DS được mở đồng thời với Workbook làm việc. Em xem lại sao, DS Validation chỉ không hoạt động nếu Workbook có DS bị đóng thôi

  8. #8
    Đào Việt Cường
    Khách vãng lai
    Theo em nghỉ office "Chùa" bị nhiều lỗi chẳng giải thích được. Chẳng hạn 1 số method của các activecotrol ở office 2002 thì cho phép, office 2003 (XP) thì không cho. Nó thậm chí không cho một số hàm thông dụng kiểu như:

    Dim Ngay
    Ngay = Date 'Báo lỗi chỗ này!
    Hay hàm Left, Right của VBA cũng không support, chẳng hiểu vì sao. Đem qua máy khác dùng vẫn okay!

  9. #9
    handung107
    Khách vãng lai
    Muốn dùng Validation mà Source tham chiếu từ một Worksheet hay một Workbook khác đều phải đặt tên mà Cường. Nếu từ một Workbook khác, thì chúng ta phải đặt tên từ Workbook hiện hành chứ không phải từ Workbook có Source đâu nhé.
    Còn nếu đã thực hiện đúng mà vẫn bị lỗi thì chắc bản Excel của Tuân bị ...lỗi rồi, chứ chị sử dụng Excel XP thì vẫn thấy bình thường mà

  10. #10
    hai2hai
    Khách vãng lai
    Bác bạn ạ!
    Lỗi chỉ sảy ra khi thực hiện quy trình tạo List bằng Validation của Office2003.
    Nếu đã tạo từ Office version 2000/XP < 2003) sau đó chạy trên 2003 thì Ok. Nhưng không thể làm việc như vậy được.


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Similar Threads

  1. Cách làm cho số 0 trở thành &quot;-&quot; trong excel
    By habang in forum Ứng dụng Excel
    Trả lời: 7
    Bài viết cuối: 07-30-2010, 02:54 PM
  2. Hỏi về &quot;Rows to Repeat at Top&quot; trong Excel
    By Jonicute in forum Ứng dụng Excel
    Trả lời: 2
    Bài viết cuối: 07-30-2010, 02:38 PM
  3. Trả lời: 3
    Bài viết cuối: 07-30-2010, 02:33 PM
  4. Trả lời: 5
    Bài viết cuối: 07-30-2010, 02:15 PM
  5. Trả lời: 9
    Bài viết cuối: 07-30-2010, 12:56 PM

Quyền viết bài

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài viết của bạn