Xử lý trường hợp VBA này như nào?

Liên hệ QC
Status
Không mở trả lời sau này.

cuongyb87

Thành viên mới
Tham gia
14/11/13
Bài viết
28
Được thích
7
các bạn cho mình hỏi chút. mình bị trường hợp chạy file VBA như sau thì sử lý sao.
file VBA lúc đầu có mật khẩu và hàm yêu điều kiện lúc mở không đúng là tự xóa. mình mở trên máy A lên lần đầu thấy báo lỗi, sau đó mình tải lại. rồi gỡ mật khẩu và điều kiện tự xóa đi. file đã chạy được nhưng khi chạy thì một fom điền thông tin vẫn bị lỗi. mình copy file gốc sang một máy tính khác máy B làm tương tự nhưng khóa chạy VBA để xóa pass và điều kiện kill file thì file đó chạy bình thường fom bị lỗi kia chạy bình thường không lỗi. mình gửi file chạy được trên máy B sang máy A nhưng chạy trên máy A vẫn bị lỗi đó mình nghĩ là do máy A lúc đầu khi chạy excel đã lưu lại cái gì đó của cái file VBA đó nên bị vậy mình tắt máy đi khởi động lại cũng không được. bạn nào giải thích giúp mình với
 

File đính kèm

  • NGHIEPVUTINDUNG.rar
    2.2 MB · Đọc: 7
Lần chỉnh sửa cuối:
Uk mình cũng đau đầu vụ này đang muốn tìm nguyên nhân. Chứ cài lại win chắc sẽ hết.
Ai lại đi cài lại Win khi chưa biết rõ có phải do Win hay không.

1. Mở tập tin mới cứng, chọn 1 ô trên sheet. Gõ được mấy chữ số?
2. Thêm UserForm với TextBox vào tập tin ở điểm 1. Khi hiện Form thì gõ được mấy chữ số trong TextBox?
3. Mở các phần mềm khác, vd. notepad, Word ... Bây giờ gõ được mấy chữ số?
 
Upvote 0
Ai lại đi cài lại Win khi chưa biết rõ có phải do Win hay không.

1. Mở tập tin mới cứng, chọn 1 ô trên sheet. Gõ được mấy chữ số?
2. Thêm UserForm với TextBox vào tập tin ở điểm 1. Khi hiện Form thì gõ được mấy chữ số trong TextBox?
3. Mở các phần mềm khác, vd. notepad, Word ... Bây giờ gõ được mấy chữ số?
các ô khác nhập dữ liệu bình thường bạn. bạn xem video mình test chưa cùng một file nhưng máy bàn thì được máy laptop thì không. bạn đọc từ đầu sẽ rõ.
 
Upvote 0
Uk mình cũng đau đầu vụ này đang muốn tìm nguyên nhân. Chứ cài lại win chắc sẽ hết.
Máy bị lỗi đó đang dùng định dạng number kiểu gì: dấu phẩy hay dấu chấm cho phân cách hàng ngàn? Vào control panel thử đổi lại ngược lại xem.
 
Upvote 0
các ô khác nhập dữ liệu bình thường bạn. bạn xem video mình test chưa cùng một file nhưng máy bàn thì được máy laptop thì không. bạn đọc từ đầu sẽ rõ.
Máy bàn là máy khác. Ý tôi là cùng trên 1 máy bị lỗi, tức laptop, hãy kiểm tra 3 điểm kia.
 
Lần chỉnh sửa cuối:
Upvote 0
Máy bị lỗi đó đang dùng định dạng number kiểu gì: dấu phẩy hay dấu chấm cho phân cách hàng ngàn? Vào control panel thử đổi lại ngược lại xem.
Liên quan gì nhỉ? Nếu tôi nhấn 1, 2, ..., 9, tức không gõ dấu thập phân, không gõ phân cách hàng nghìn mà không được thì đâu có phải là do dấu này hay dấu kia?

Nhưng để kiểm tra thì xóa code
Mã:
Private Sub txt29_Change()
Me.txt29 = Format(Me.txt29.Value, "#,##0")

End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Máy bị lỗi đó đang dùng định dạng number kiểu gì: dấu phẩy hay dấu chấm cho phân cách hàng ngàn? Vào control panel thử đổi lại ngược lại xem.
đã thử nhưng vẫn lỗi bạn ơi. khoai thật
Bài đã được tự động gộp:

Laptop là máy khác. Ý tôi là cùng trên 1 máy bị lỗi, tức máy bàn, hãy kiểm tra 3 điểm kia.
vấn đề mình đang muốn biết tại sao cùng 1 file mà máy chạy được máy không. máy không chạy được thì cài lại cả office xóa hết cả key trong regedit rồi. khó hiểu quá
Bài đã được tự động gộp:

Liên quan gì nhỉ? Nếu tôi nhấn 1, 2, ..., 9, tức không gõ dấu thập phân, không gõ phân cách hàng nghìn mà không được thì đâu có phải là do dấu này hay dấu kia?

Nhưng để kiểm tra thì xóa code
Mã:
Private Sub txt29_Change()
Me.txt29 = Format(Me.txt29.Value, "#,##0")

End Sub
là file của mình thiếu đoạn code này ah bạn.
 
Lần chỉnh sửa cuối:
Upvote 0
đã thử nhưng vẫn lỗi bạn ơi. khoai thật
Bài đã được tự động gộp:


vấn đề mình đang muốn biết tại sao cùng 1 file mà máy chạy được máy không. máy không chạy được thì cài lại cả office xóa hết cả key trong regedit rồi. khó hiểu quá
Hiện thời ta chỉ biết là trên laptop thì lỗi. Bạn hỏi lý do thì thánh cũng không trả lời được, vì đơn giản là thánh không ngồi trên máy bạn. Vì thế thánh mới đề̉ nghị kiểm tra trên laptop 3 điểm đã nêu. Nhưng bạn không muốn thử mà chỉ muốn thánh cho biết nguyên nhân lỗi. Vậy thì thánh nói rõ: tôi, thánh đây, tôi không biết nguyên nhân. Vì thế tôi đề nghị kiểm tra để loại bỏ dần dần những khả nghi và tiến dần tới đích. Nhưng bạn không muốn nhọc công thì thôi.

Tôi chấm dứt tại đây. Tôi sẽ không trả lời nữa.
 
Upvote 0
Liên quan gì nhỉ? Nếu tôi nhấn 1, 2, ..., 9, tức không gõ dấu thập phân, không gõ phân cách hàng nghìn mà không được thì đâu có phải là do dấu này hay dấu kia?

Nhưng để kiểm tra thì xóa code
Mã:
Private Sub txt29_Change()
Me.txt29 = Format(Me.txt29.Value, "#,##0")

End Sub
Tôi nghĩ thế vì khi nạp dữ liệu của 1 KH vào thì textbox đó hiển thị dấu phẩy phân cách hàng ngàn, nhưng khi tự gõ vào thì nó là dấu chấm.
Bài đã được tự động gộp:

đã thử nhưng vẫn lỗi bạn ơi. khoai thật
Bài đã được tự động gộp:


vấn đề mình đang muốn biết tại sao cùng 1 file mà máy chạy được máy không. máy không chạy được thì cài lại cả office xóa hết cả key trong regedit rồi. khó hiểu quá
Bài đã được tự động gộp:


là file của mình thiếu đoạn code này ah bạn.
Bạn thử điểm 2 của batman1 đi.
 
Upvote 0
Hiện thời ta chỉ biết là trên laptop thì lỗi. Bạn hỏi lý do thì thánh cũng không trả lời được, vì đơn giản là thánh không ngồi trên máy bạn. Vì thế thánh mới đề̉ nghị kiểm tra trên laptop 3 điểm đã nêu. Nhưng bạn không muốn thử mà chỉ muốn thánh cho biết nguyên nhân lỗi. Vậy thì thánh nói rõ: tôi, thánh đây, tôi không biết nguyên nhân. Vì thế tôi đề nghị kiểm tra để loại bỏ dần dần những khả nghi và tiến dần tới đích. Nhưng bạn không muốn nhọc công thì thôi.

Tôi chấm dứt tại đây. Tôi sẽ không trả lời nữa.
vấn đề mình là dân gà VBA bạn ơi, chứ hiểu ý và biết là đã thử luôn rồi.
cái 1 và 3 thì mình thử rồi mọi thứ bình thường. đang trả lời trên laptop lỗi đây 11123116546
 
Upvote 0
Tôi nghĩ thế vì khi nạp dữ liệu của 1 KH vào thì textbox đó hiển thị dấu phẩy phân cách hàng ngàn, nhưng khi tự gõ vào thì nó là dấu chấm.
Sau khi xem code thấy có Sub txt29_Change thì tôi viết
Nhưng để kiểm tra thì xóa code
Bạn có cho là có thể xóa cái chưa có, chưa tồn tại không? *** Tôi nghĩ đã là xóa thì chỉ xóa được cái đang có, đang tồn tại.

*** Tôi hỏi vì có thể tôi nhầm lẫn. Rằng vẫn có thể xóa cái chưa có.
 
Lần chỉnh sửa cuối:
Upvote 0
*** Tôi hỏi vì có thể tôi nhầm lẫn. Rằng vẫn có thể xóa cái chưa có.
Em xác định với thánh là có. Em tải đúng cái file trong clip, mở lên và tìm tất cả code liên quan đến txt29, kể cả code đọc, ghi vào nó rồi. Máy em chạy bình thường và em không phải thánh nên cũng không trả lời được cái nguyên nhân
 
Upvote 0
Sau khi xem code thấy có Sub txt29_Change thì tôi viết

Bạn có cho là có thể xóa cái chưa có, chưa tồn tại không? *** Tôi nghĩ đã là xóa thì chỉ xóa được cái đang có, đang tồn tại.

*** Tôi hỏi vì có thể tôi nhầm lẫn. Rằng vẫn có thể xóa cái chưa có.
bác nghiên cứu xem có phát hiện ra cái gì không
Bài đã được tự động gộp:

Em xác định với thánh là có. Em tải đúng cái file trong clip, mở lên và tìm tất cả code liên quan đến txt29, kể cả code đọc, ghi vào nó rồi. Máy em chạy bình thường và em không phải thánh nên cũng không trả lời được cái nguyên nhân
Bài đã được tự động gộp:

Tôi nghĩ thế vì khi nạp dữ liệu của 1 KH vào thì textbox đó hiển thị dấu phẩy phân cách hàng ngàn, nhưng khi tự gõ vào thì nó là dấu chấm.
Bài đã được tự động gộp:


Bạn thử điểm 2 của batman1 đi.
 
Upvote 0
bác nghiên cứu xem có phát hiện ra cái gì không
Để ý thì thấy khi gõ 3 số 2, thì được 222 ( mọi chuyện vẫn ổn). Khi gõ thêm số 2 ( tức lúc này có 4 số 2) thì nó xóa chỉ còn một số 2. Tôi đoán nếu gõ 1234 thì nó sẽ thành 1. Có thể khi gõ 1234 thì nó chuyển thành 1,234, rồi nó lại chuyển 1,234 thành 1 ( do sự kiện được gọi 2 lần).

thử thay bằng đoạn code này trong form:

Private Sub txt29_Change()

Dim d As Double
d = VBA.CDbl(txt29.Text)
Me.txt29 = Format(d, "#,##0")

End Sub

Mà hỏi luôn chủ thớt có biết cho cái đoạn code trên vào chỗ nào không?
Bài đã được tự động gộp:

Tôi chấm dứt tại đây. Tôi sẽ không trả lời nữa.
Sao cứ cảm thấy chủ thớt này như mới học vba, cái gì cũng mới lạ, chính vậy cứ đơ như cây cơ trước những điều bác nói.
 
Lần chỉnh sửa cuối:
Upvote 0
Sao cứ cảm thấy chủ thớt này như mới học vba, cái gì cũng mới lạ, chính vậy cứ đơ như cây cơ trước những điều bác nói.
Tôi viết rất rõ
Nhưng để kiểm tra thì xóa code

Private Sub txt29_Change()
Me.txt29 = Format(Me.txt29.Value, "#,##0")

End Sub

Có 2 câu hỏi:
1. Có thể xóa cái chưa có không? Câu trả lời "không" có nghĩa là đoạn code trên ĐANG TỒN TẠI.

Cái từ "Xóa" kia có khó hiểu không? Có cần lanh lợi đặc biệt để hiểu không? Nếu không thì sao lại đặt câu hỏi (nhưng lại không có dấu hỏi): "là file của mình thiếu đoạn code này ah bạn."
Còn một khi đã hiểu là đoạn code kia tồn tại thì dò từng dòng để xem nó ở đâu rồi xóa thôi, đâu có cần lanh lợi mà viện cớ không biết VBA?


2. Nếu ở điểm 1 câu trả lời là "không" thì cứ làm như tôi yêu cầu rồi xem kết quả như thế nào và "Báo cáo sếp ..."

Thế thôi, ai đâu có thời gian viết nhiều, van nài.
 
Upvote 0
có ae nào có nhã hứng muốn thử làm thì pm zalo mình 0935798386 để ultraview nhé.
 
Upvote 0
Chủ đề này không giải quyết được do người hỏi không đáp ứng phương pháp kiểm tra lỗi của người muốn giúp. Ngoài ra tác giả chủ đề cũng muốn kết thúc không hỏi nữa, nên tôi đóng chủ đề này lại.
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom