365 ứng dụng excel.vấn đề inputbox trên win 10
chiến thắng:
lnWinsDue = Application.InputBox("Vui lòng nhập tiền thắng cược cho " & WinArray(lnArrayRow, 2), _
Loại: = 1, Tiêu đề: = gcMsgTitle, Mặc định: = 0)
Chọn trường hợp lnWinsDue
Trường hợp Sai
Đi đến cuối
Trường hợp < 0,5
lnans = MsgBox("Nó quá nhỏ. Bạn có muốn thử lại không?", vbYesNo)
Nếu lnans = 7 Thì GoTo theend Ngược lại GoTo winin
Trường hợp là >= lnWinningsPaid
lnans = MsgBox("Nó quá lớn. Bạn có muốn thử lại không?", vbYesNo)
Nếu lnans = 7 Thì GoTo theend Ngược lại GoTo winin
Kết thúc Chọn
Nếu lnWinsDue / 0,5 <> Int(lnWinsDue / 0,5) thì
lnans = MsgBox("Mục nhập của bạn phải là bội số của £0.05. Bạn có muốn thử lại không", vbYesNo)
Nếu lnans = 7 Thì GoTo theend Ngược lại GoTo winin
Kết thúc nếu
2 Tôi đã loại bỏ nó bằng cách thêm Default=0. Tuy nhiên, nếu 0 được chấp nhận, mã của tôi sẽ thoát ở trường hợp False mặc dù biến lnWinsDue =0.
3 Hộp nhập liệu hiển thị dấu "?" ở tiêu đề. Khi được chọn, trang web sẽ mở ra với nội dung "Chọn phạm vi để nhập vào Visio". Rất thú vị nhưng không liên quan. Tôi đã thử sử dụng tham số HelpFile với các thực thể như HelpFile:-"" nhưng vẫn nhận được kết quả tương tự.
Ngoài ra, nó có vẻ hoạt động khi sử dụng các đầu vào thông thường. Vấn đề là người dùng không hành xử theo cách đó.
Trả lời:
Xin chào michaelcoltart,
Tôi là Ed, một khách hàng như bạn và là Cố vấn độc lập.
Tôi hiểu rằng bạn đang gặp vấn đề với các công thức trong Excel.
Bạn vui lòng cung cấp thêm thông tin để chúng tôi có thể chẩn đoán vấn đề được không?
1. Bạn đang cố gắng đạt được điều gì với các công thức dưới đây? Bạn có sử dụng Macro không?
2. Phiên bản Excel bạn đang sử dụng là gì?
Cảm ơn!
Trân trọng,
Edmund A.
Cố vấn độc lập
Trả lời:
Tôi đang sử dụng macro trong Excel 365 Home. Tôi cần người dùng nhập một số. Trước đây, tôi đã sử dụng hàm InputBox, một hàm hoạt động tốt với các chuỗi. Gần đây, tôi phát hiện ra phương thức Application.InputBox và nhận thấy nó có thể chỉ định kiểu dữ liệu đầu vào. Phương thức này hoạt động và từ chối bất kỳ mục nhập nào không phải số. Tuy nhiên, nó lại gây ra những rắc rối khác. Tôi muốn ngăn chặn bất kỳ sự kiện không theo lịch trình nào. Đầu vào phải xử lý được bất kỳ yêu cầu nào của người dùng, chẳng hạn như "Enter" không có giá trị (tương đương với một chuỗi trống) trong Box, nhập 0 hoặc bất kỳ số không mong muốn nào khác. Tôi nghĩ mã của mình đã bao gồm điều đó nhưng kết quả không như mong đợi. Nút Cancel trả về False như mong đợi. Tuy nhiên, 0 cũng được phát hiện là False mặc dù biến lnWinsDue giữ 0. OK miễn là 0 không phải là đầu vào được chấp nhận, nhưng chắc chắn không phải là điều người ta mong đợi. Tôi phát hiện ra 0 vì một mục nhập null đã khởi tạo hộp thông báo mà tôi đã dán vào bài đăng ban đầu. Tôi thấy rằng việc chỉ định một giá trị mặc định đã ngăn chặn sự xâm nhập không mong muốn đó. Vấn đề khác của tôi là dấu "?" xuất hiện trong tiêu đề hộp nhập liệu. Như đã mô tả, nó khởi chạy trình duyệt web và tôi không tìm ra cách nào để dừng nó lại.
Có vẻ như Phương pháp này hơi kỳ quặc, nhưng tôi đã hy vọng ai đó đã từng trải qua con đường này trước tôi. Nếu buộc phải quay lại hộp nhập liệu tiêu chuẩn, tôi sẽ phải viết mã để đảm bảo chỉ nhận được giá trị số. Thật lộn xộn!
Hy vọng điều này làm sáng tỏ vấn đề của tôi
Trả lời:
Xin chào michaelcoltart,
Cảm ơn phản hồi của bạn. Chúng tôi thực sự khuyên bạn nên đăng vấn đề này lên diễn đàn Nhà phát triển Microsoft để kiểm tra kỹ hơn các tập lệnh macro mà bạn đã biên dịch.
Vui lòng xem các liên kết diễn đàn bên dưới:
https://social.msdn.microsoft.com/Forums/en-US/...
https://developer.microsoft.com/en-us/excel/ove...
https://social.technet.microsoft.com/Forums/off...
Hy vọng thông tin này hữu ích.
Trân trọng,
Edmund A.
Cố vấn độc lập
Trả lời:
có vẻ hơi đắt vì tôi sống ở Anh. Tôi cho rằng tôi có thể mua trực tuyến thay thế?
Trả lời:
Cảm ơn vì đã giải thích rõ. Dù sao thì tôi cũng không định gọi điện cho ai cả.
Trả lời:
Trả lời: bài đăng từ Edmund . Những liên kết đó có thể không mang lại cho bạn câu trả lời nào tốt hơn những gì bạn nhận được ở đây. Nếu bạn đăng bài trên các diễn đàn khác, vui lòng cung cấp liên kết đến bài đăng ở đây và ngược lại cho mỗi bài đăng. Hãy kiên nhẫn nhé.
Trả lời:
Tôi đang sử dụng macro trong Excel 365 Home. Tôi cần người dùng nhập một số. Trước đây, tôi đã sử dụng hàm InputBox, một hàm hoạt động tốt với các chuỗi. Gần đây, tôi phát hiện ra phương thức Application.InputBox và nhận thấy nó có thể chỉ định kiểu dữ liệu đầu vào. Nó hoạt động và từ chối bất kỳ mục nhập nào không phải số. Tuy nhiên, nó lại gây ra những rắc rối khác. Tôi muốn ngăn chặn bất kỳ sự kiện không theo lịch trình nào. Đầu vào phải xử lý được bất kỳ yêu cầu nào của người dùng, chẳng hạn như "Enter" không có giá trị (tương đương với một chuỗi trống) trong Box, nhập 0 hoặc bất kỳ số không mong muốn nào khác. Tôi nghĩ mã của mình đã bao gồm điều đó nhưng kết quả không như mong đợi. Nút Cancel trả về False như mong đợi. Nhưng 0 cũng được phát hiện là False mặc dù biến lnWinsDue giữ 0. OK miễn là 0 không phải là đầu vào được chấp nhận nhưng chắc chắn không phải là điều người ta mong đợi. Tôi phát hiện ra 0 vì một mục nhập null đã khởi tạo hộp thông báo mà tôi đã dán vào bài đăng ban đầu. Tôi thấy rằng việc chỉ định một giá trị mặc định đã ngăn chặn sự xâm nhập không mong muốn đó. Vấn đề khác của tôi là dấu "?" xuất hiện trong tiêu đề hộp nhập liệu. Như đã mô tả, nó khởi chạy trình duyệt web và tôi không tìm ra cách nào để dừng nó lại.
Có vẻ như Phương pháp này hơi kỳ quặc, nhưng tôi đã hy vọng ai đó đã từng trải qua con đường này trước tôi. Nếu buộc phải quay lại hộp nhập liệu tiêu chuẩn, tôi sẽ phải viết mã để đảm bảo chỉ nhận được giá trị số. Thật lộn xộn!
Hy vọng điều này làm sáng tỏ vấn đề của tôi
Bạn có thể muốn sử dụng UserForm thay vì hộp Nhập liệu. Điều này tùy thuộc vào mức độ bạn yêu cầu người dùng nhập liệu. Nó thậm chí còn mang lại nhiều quyền kiểm soát hơn.
Bạn có thể xác thực thông tin đầu vào và gửi tin nhắn cụ thể như "Cần một số từ 3 đến 7 trong số tiền".
Tôi làm vba trên Word nên không giỏi tư vấn lắm. Tôi tham gia vì thấy tin nhắn lừa đảo và muốn giúp đỡ hết sức có thể. Tôi tin chắc bạn sẽ tìm được thông tin hữu ích ở đây.
Comments
Post a Comment