Giới hạn của việc định nghĩa tên trong Excel

Tôi đã từng làm việc với Tên được định nghĩa trong Excel 2002 (hay còn gọi là XP). Sau khi ban quản lý thay đổi cách tính toán một số thứ, tôi phải thực hiện những điều chỉnh lớn đến mức việc sử dụng công thức và VBA như trước đây không còn đáp ứng được nhu cầu. Để giải quyết vấn đề, thay vì phải quay lại và thay đổi tất cả các công thức như trước đây, tôi đã gán tên vùng cho các ô khác nhau để mã VBA có thể hoạt động linh hoạt (nếu không sử dụng tên vùng, việc tham chiếu đến các vùng trong mã VBA sẽ hoàn toàn tĩnh). Do đó, tôi đã sử dụng mã VBA để thiết lập nhiều tên vùng khác nhau, và con số này lên đến 6 chữ số. Ngày hôm sau, khi tôi định tiếp tục làm việc với bảng tính, ngay khi mở bảng tính ra, "tiến sĩ Watson" (hay bất cứ thứ gì tương tự) đã can thiệp và xóa sạch mọi thứ trong bảng tính, ngoại trừ giá trị của các ô (thuộc tính Value và Value2 của tất cả các ô) hoặc các công thức trong bảng tính. Tất cả các mục khác, bao gồm tất cả các biểu đồ, tên đã định nghĩa và mã VBA, đều đã bị xóa khỏi bảng tính.

Sau khi phải điều tra vấn đề này, tôi nhận thấy ngay cả khi số lượng tên được định nghĩa nằm trong khoảng từ 32.768 đến 65.536, thì một số thuộc tính của bảng tính có thể không hoạt động đúng cách.

Dựa trên các triệu chứng này, mặc dù theo tài liệu, thuộc tính Index của đối tượng Names Collection trên đối tượng Workbook được cho là có kiểu dữ liệu Unsigned Double Long Integer, tôi lại cho rằng kiểu dữ liệu của thuộc tính này là Signed Long Integer. Không chỉ vậy, theo thông số kỹ thuật trong Excel, số lượng tên tối đa được định nghĩa bị giới hạn bởi RAM của hệ thống, nhưng dựa trên các vấn đề tôi gặp phải, tôi thấy tuyên bố đó hoàn toàn sai.

Theo như tôi biết, vấn đề này cũng tồn tại trong Excel 2003 và 2007, nhưng tôi không chắc liệu nó đã được khắc phục trong phiên bản 2010 hoặc 2013 hay chưa. Vì vậy, tôi muốn biết liệu vấn đề này có còn tồn tại trong Excel 2013 hay không.




Trả lời:

Chà, tôi chắc chắn chưa bao giờ sử dụng nhiều vùng được đặt tên như vậy trong một bảng tính, vì vậy tôi không thể nói dựa trên kinh nghiệm cá nhân. Theo trang này:

http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HA103980614.aspx

Số lượng Tên "vẫn" bị giới hạn bởi bộ nhớ khả dụng. Cá nhân tôi sẽ không đặt cược một khoản tiền lớn nào vào việc họ đã thay đổi phần đó của mô hình Excel.



Trả lời:

Biết cách làm việc của Microsoft, tôi cũng sẽ không làm vậy. Nhưng dường như đó là một thông lệ phổ biến, không chỉ với Microsoft mà còn với bất kỳ nhà cung cấp phần mềm nào. Các nhà cung cấp thích cải tiến cho số đông những người phàn nàn về những vấn đề nhỏ nhặt hơn là làm những việc cho số ít người đang làm những việc giúp công việc dễ dàng hơn cho số đông. Ví dụ, tôi từng làm việc trong một nhà máy có khoảng 200 nhân viên (khoảng một nửa là nhân viên chính thức). Mặc dù một trong số các nhân viên chính thức là người phụ trách CNTT, anh ấy chủ yếu lo về phần cứng, máy chủ và hệ điều hành. Còn tôi, tôi xử lý phần lớn các vấn đề phần mềm giúp công việc dễ dàng hơn cho mọi người trong nhà máy.

Microsoft và các nhà cung cấp phần mềm khác thường thích giải quyết những vấn đề nhỏ nhặt do nhiều người trong bộ phận Dịch vụ Khách hàng, Tiếp thị, Kế toán, Thiết kế, Dự toán, v.v. xử lý, vì số lượng người lên đến gần 100 người so với chỉ một mình tôi. Tuy nhiên, cả 100 người đó và 100 nhân viên thời vụ khác đều phụ thuộc vào công việc của tôi để họ có thể hoàn thành công việc dễ dàng hơn. Thế nhưng, chỉ vì tôi là một người, Microsoft và các nhà cung cấp phần mềm khác thậm chí không coi vấn đề của tôi là đủ quan trọng để xem xét giải quyết. Trong trường hợp này, không chỉ 200 nhân viên trong nhà máy phụ thuộc vào công việc của tôi, mà còn nhiều nhân viên khác bên ngoài nhà máy cũng vậy, vì chỉ có một nhân viên khác trong bộ phận có kỹ năng tương tự về MS Office, VBA và lập trình SQL như tôi, chỉ khác là họ làm việc ở một tòa nhà và tiểu bang hoàn toàn khác.

Comments

Popular posts from this blog

Xử lý hàng loạt các tệp Excel được bảo vệ bằng mật khẩu

Thu hẹp và mở rộng cột trong Excel

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản