Hỏi về lỗi VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

kien_humg

Thành viên mới
Tham gia
12/8/08
Bài viết
7
Được thích
0
Xin chào các anh, chị em trên diễn đàn

Các anh, chị em cho em hỏi về đoạn Code này lỗi ở đâu với ạ!

Sub Origin()
'
' Origin Macro
'
' Keyboard Shortcut: Ctrl+k
'
Columns("A:A").Select
Selection.NumberFormat = "m/d/yy h:mm;@"
Do
B = Selection.Value
A = A + 0.041667
Do While A < B
Selection.EntireRow.Insert
Selection.Formula = A
A = A + 0.041667
Selection.Offset(1).Select
Loop
Loop Until B = 0
End Sub


Em cảm ơn nhiều!
 
Xin chào các anh, chị em trên diễn đàn

Các anh, chị em cho em hỏi về đoạn Code này lỗi ở đâu với ạ!

Sub Origin()
'
' Origin Macro
'
' Keyboard Shortcut: Ctrl+k
'
Columns("A:A").Select
Selection.NumberFormat = "m/d/yy h:mm;@"
Do
B = Selection.Value
A = A + 0.041667
Do While A < B
Selection.EntireRow.Insert
Selection.Formula = A
A = A + 0.041667
Selection.Offset(1).Select
Loop
Loop Until B = 0
End Sub

Em cảm ơn nhiều!
Gửi file lên đi bạn. Rồi nói mong muốn của bạn như thế nào. Chứ có cái đoạn code hông thì hông trị tận gốc được đâu.
 
Upvote 0
Thứ 1: bạn chưa khai báo A, B là gì.
Thứ 2: selection là A:A là k đúng, bạn phải thêm dòng Range("A1").select.
 
Upvote 0
Các anh, chị em cho em hỏi về đoạn Code này lỗi ở đâu với ạ!
PHP:
Sub Origin()

1 Columns("A:A").Select
 Selection.NumberFormat = "m/d/yy h:mm;@"
3 Do
    B = Selection.Value
5    A = A + 0.041667
    Do While A < B
7      Selection.EntireRow.Insert
      Selection.Formula = A
9      A = A + 0.041667
      Selection.Offset(1).Select
11    Loop
 Loop Until B = 0
End Sub
Em cảm ơn nhiều!

D2: Dòng lệnh này bạn Format số liệu kiểu ngày;
Nhưng nếu ô đầu tiên trong cột là tên trường, như 'Ngày',. . . thì bạn sẽ nhận được 1 lỗi đầu tiên.

Khuyên bạn viết code nên tường minh; Trong đó có việc khai báo biến cần dùng,. . .

D4: Câu lệnh B = Selection.Value
Là bạn đang giao trứng cho ác; vì:
Thứ nhất bạn chưa chọn trang tính nào 1 cách cố định (Điều này sẽ không lỗi nếu bạn chạy macro bỡi nút lệnh trên 1 trang tính nào đó) & cứ cho là vậy thì tiếp theo: Câu lệnh này cũng chênh vênh lắm vì Selection.Cells chưa chắc là Cells bạn iêu cầu/cần thiết.
Cái nữa, chưa chắc Selection.Cells đang chứa kí số; Nếu là kí tự đang chứa trong nớ thì bạn sẽ gặp chuyện không may ở dòng lệnh bên dưới; Cụ thể là điều kiện cho vòng lặp Do . . . Loop

Thôi, xin dịp khác ta bàn tiếp những thứ khác nữa & tạm biệt!
 
Upvote 0
Em gửi file ở bên dưới, các anh chị kiểm tra giúp em với ạ! Em cảm ơn!
 

File đính kèm

Upvote 0
D2: Dòng lệnh này bạn Format số liệu kiểu ngày;
Nhưng nếu ô đầu tiên trong cột là tên trường, như 'Ngày',. . . thì bạn sẽ nhận được 1 lỗi đầu tiên.

Khuyên bạn viết code nên tường minh; Trong đó có việc khai báo biến cần dùng,. . .

D4: Câu lệnh B = Selection.Value
Là bạn đang giao trứng cho ác; vì:
Thứ nhất bạn chưa chọn trang tính nào 1 cách cố định (Điều này sẽ không lỗi nếu bạn chạy macro bỡi nút lệnh trên 1 trang tính nào đó) & cứ cho là vậy thì tiếp theo: Câu lệnh này cũng chênh vênh lắm vì Selection.Cells chưa chắc là Cells bạn iêu cầu/cần thiết.
Cái nữa, chưa chắc Selection.Cells đang chứa kí số; Nếu là kí tự đang chứa trong nớ thì bạn sẽ gặp chuyện không may ở dòng lệnh bên dưới; Cụ thể là điều kiện cho vòng lặp Do . . . Loop

Thôi, xin dịp khác ta bàn tiếp những thứ khác nữa & tạm biệt!

Em đồng ý với bác, thà rằng bạn ấy bảo viết giúp Code còn dễ hơn là đi tìm hố chỗ nào trong cả một rừng hố làm bạn ấy ngã.
Đây là 1 dạng Code thật "đáng sợ" chỉ sơ sểnh chạy code mà không phải đang mở đúng sheet này là nó phang lung tung cả. Đoạn code này buồn cả về phương pháp lẫn cú pháp. Vậy bạn nên nói rõ yêu cầu thì tôi tin bạn sẽ được hỗ trợ code tối ưu hơn nhiều.
 
Upvote 0

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

Back
Top Bottom