Xin code cho nút "Ok", dò tìm giá trị 0 và để dấu * vào ô cách ô bên phải 1 ô ? (1 người xem)

Liên hệ QC

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

suynghimuagi

Thành viên mới
Tham gia
28/5/15
Bài viết
4
Được thích
1
Các Bác giúp em!Em muốn lập code cho nút Ok, dò tìm giá trị 0 để điền dấu * vào ô cách ô bên phải 1 ô. như hình ạ!
code.jpg
 

File đính kèm

Cái này cần gì code cho mệt hả bạn!! Đặt hàm tại F10=IF(OR(D10=0;E10=0);"*";""), fill đến hết!
 
Upvote 0
Upvote 0
Do giá trị Cột D thay đổi liên tục, nếu nhiều hơn 8 phần tử, thì khi lập công thức như Bác, ô rỗng vẫn điền dấu *, phải xóa công thức. Và khi nó nhiều hơn 8 phần từ thì phải kéo lại công thức… Nên em muốn code, code căn cứ vào giá trị 0 ở cột D,(cột này luôn có 1 giá trị bằng 0) để điền dấu * tương ứng ạ!
 
Upvote 0
Em đang tập viết VB ạ !$@!!
Thử đoạn code này xem sao:
Mã:
Public Sub Do_tim()
Dim DL(), i As Long, KQ(), Lr As Long, d As Long
    Lr = Sheet1.Range("E10000").End(xlUp).Row
    DL = Sheet1.Range("D10:D" & Lr)
ReDim KQ(1 To UBound(DL), 1 To 1)
For i = 1 To UBound(DL)
    If DL(i, 1) = 0 And Len(DL(i, 1)) > 0 Then
        d = i
        KQ(d, 1) = "*"
    End If
Next i
    Sheet1.Range("F10").Resize(d, 1) = KQ
End Sub
 
Upvote 0
Em đang tập viết VB ạ !$@!!

Nếu đang tập viết code, mà dùng tư tưởng như thế này để viết code là học sai rồi.

Do giá trị Cột D thay đổi liên tục, nếu nhiều hơn 8 phần tử, thì khi lập công thức như Bác, ô rỗng vẫn điền dấu *, phải xóa công thức. Và khi nó nhiều hơn 8 phần từ thì phải kéo lại công thức… Nên em muốn code, code căn cứ vào giá trị 0 ở cột D,(cột này luôn có 1 giá trị bằng 0) để điền dấu * tương ứng ạ!

Cũng như 90% những người xin code ở đây, bạn bị cái chủ quan khi nghĩ đễn code, cho rằng code luôn luôn hoạt động tốt hơn.

Tập thói quen suy nghĩ rộng hơn: sau khi có code rồi thì lúc chạy sẽ được những gì, và có những trường hợp nào cần để ý.

Gợi ý:
1. Nếu code không tổng quát thì mỗi lần thay đổi cũng phải thay đổi code theo.
2. Nếu code không tự động nằm trong sự kiện nào đó thì mỗi lần thay đổi cũng phải chạy nó lại.
3. Nếu code được cài để tự đọng chạy mỗi khi có thay đổi thì cần phải xét xem cài như thế có ảnh huonwgr thế nào đến các dữ liệu khác.
 
Upvote 0
Thôi thì học mà các Bác ơi, học võ chưa đánh người thì phải đánh bao cát đã chứ
Code yêu cầu bài này mình thấy chỉ cần thế này thôi:

Mã:
Sub NutOK()
Dim Tm, i
Tm = Sheet1.[D10:D17]
For i = 1 To UBound(Tm, 1)
Tm(i, 1) = IIf(Tm(i, 1) = 0, "*", "")
Next
Sheet1.[D10:D17].Offset(, 2) = Tm
End Sub
 
Upvote 0
Bài này dùng AutoFilter cái xẹt là xong
(nếu phải viết code, tôi cũng sẽ dùng AutoFilter luôn)
 
Upvote 0

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

Back
Top Bottom