Cần giúp đỡ tự động xóa ô có chứa số 0,0 (1 người xem)

Liên hệ QC

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

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
929
Được thích
240
Giới tính
Nam
Chào Quý vị và các bạn GPE!
Nhờ Quý vị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Tự động xóa dữ liệu các ô ở cột E, F, G, H có chứa số "0,0". Ví dụ: Xóa ô E11 vì ô này có số 0,0.
Mong Quý vị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có file đính kèm.
 

File đính kèm

0.0 đó là các số >0 có chút xíu đó bạn. Bạn dùng hàm ROUND sau đó Copy và dán giá trị là xong thôi mà.
 
Chào Quý vị và các bạn GPE!
Nhờ Quý vị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Tự động xóa dữ liệu các ô ở cột E, F, G, H có chứa số "0,0". Ví dụ: Xóa ô E11 vì ô này có số 0,0.
Mong Quý vị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có file đính kèm.
Không hiểu bạn muốn bỏ hẳn kiểu gì
Theo mình thì bạn nên cho nó thành màu trắng khi in ra và nhìn trên màn hình không có là được
Bạn dùng định dạng có điều kiện với điều kiện <=0,001 là được
hoặc xem số 0,001 thay bằng số nào hợp lý hơn
 

File đính kèm

Chào Quý vị và các bạn GPE!
Nhờ Quý vị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Tự động xóa dữ liệu các ô ở cột E, F, G, H có chứa số "0,0". Ví dụ: Xóa ô E11 vì ô này có số 0,0.
Mong Quý vị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có file đính kèm.
Thử chạy code này coi sao:
PHP:
Public Sub GPE()
Dim Rng As Range, Cll As Range
Set Rng = Range([B8], [B65536].End(xlUp)).Offset(, 3).Resize(, 4)
For Each Cll In Rng
    If Cll.Value < 0.1 Then Cll.Value = Empty
Next Cll
Set Rng = Nothing
End Sub
 
0.0 đó là các số >0 có chút xíu đó bạn. Bạn dùng hàm ROUND sau đó Copy và dán giá trị là xong thôi mà.

Bạn quan liệm 0.0... lớn hơn 0 có chút xíu là sai còn tùy thuộc ngữ cảnh
Có khi 0.01 lớn hơn 5 đấy
Mình ví dụ
0,01 tấn > 5 Kg
 
Thử chạy code này coi sao:
PHP:
Public Sub GPE()
Dim Rng As Range, Cll As Range
Set Rng = Range([B8], [B65536].End(xlUp)).Offset(, 3).Resize(, 4)
For Each Cll In Rng
    If Cll.Value < 0.1 Then Cll.Value = Empty
Next Cll
Set Rng = Nothing
End Sub
Nhìn vào Code của bác em hiểu nên để định dạng có điều kiện <0.1
Em định dùng lọc rồi xóa nhưng xẽ hơi lâu
Nếu các số dữ liệu cần dùng là dương (không có số 0)
Và bạn Hung2412 muốn xóa hẳn thì nên dùng Code của bác Bate
 
Không hiểu bạn muốn bỏ hẳn kiểu gì
Theo mình thì bạn nên cho nó thành màu trắng khi in ra và nhìn trên màn hình không có là được
Bạn dùng định dạng có điều kiện với điều kiện <=0,001 là được
hoặc xem số 0,001 thay bằng số nào hợp lý hơn
Mình muốn clear hẳn số 0,0 đó bạn ah. Chứ không phải để nó thành màu trắng như thế. Cảm ơn bạn đã hướng dẫn.
 
Thử chạy code này coi sao:
PHP:
Public Sub GPE()
Dim Rng As Range, Cll As Range
Set Rng = Range([B8], [B65536].End(xlUp)).Offset(, 3).Resize(, 4)
For Each Cll In Rng
    If Cll.Value < 0.1 Then Cll.Value = Empty
Next Cll
Set Rng = Nothing
End Sub
Dạ, em xin cảm ơn, nhưng có một vấn đề ở chỗ, code này thích hợp với các số dương, còn số âm thì cũng bị xóa. Em muốn là các ô đích danh chứa số 0,0 đó "bay" hẳn cơ ạ.
P/s: Chỉ những ô đích danh chứa số "0,0" bị "bay" hẳn. Còn các ô khác chứa số gì cũng được (Nghĩa là không đả động đến)
 
Lần chỉnh sửa cuối:
Dạ, em xin cảm ơn, nhưng có một vấn đề ở chỗ, code này thích hợp với các số dương, còn số âm thì cũng bị xóa. Em muốn là các ô đích danh chứa số 0,0 đó "bay" hẳn cơ ạ.
P/s: Chỉ những ô đích danh chứa số "0,0" bị "bay" hẳn. Còn các ô khác chứa số gì cũng được (Nghĩa là không đả động đến)
Bạn thử sửa code của thầy BaTê thành thế này
Mã:
[COLOR=#007700][FONT=monospace][I]Public [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Sub GPE[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]()
[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Dim Rng [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]As [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Range[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I], [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Cll [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]As [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Range
Set Rng [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]= [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Range[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]([[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]B8[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]], [[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]B65536[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]].[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]End[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]([/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]xlUp[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I])).[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Offset[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I](, [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]3[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]).[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Resize[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I](, [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]4[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I])
For [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Each Cll In Rng
    [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]If [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Cll[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I].[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Value =[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I] [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]0.0 Then Cll[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I].[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Value [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]= Empty
[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Next Cll
Set Rng [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]= [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Nothing
End Sub[/I][/FONT][/COLOR]
 
Không hiểu bạn muốn bỏ hẳn kiểu gì
Theo mình thì bạn nên cho nó thành màu trắng khi in ra và nhìn trên màn hình không có là được
Bạn dùng định dạng có điều kiện với điều kiện <=0,001 là được
hoặc xem số 0,001 thay bằng số nào hợp lý hơn
Nếu làm như bạn thì bị ẩn hết khi ô nhỏ hơn 0,01. Nếu trong trường hợp có số âm thì cũng bị ẩn mất. Không ổn bạn ah.
 
Bạn thử sửa code của thầy BaTê thành thế này
Mã:
[COLOR=#007700][FONT=monospace][I]Public [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Sub GPE[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]()
[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Dim Rng [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]As [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Range[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I], [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Cll [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]As [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Range
Set Rng [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]= [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Range[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]([[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]B8[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]], [[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]B65536[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]].[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]End[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]([/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]xlUp[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I])).[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Offset[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I](, [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]3[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]).[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Resize[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I](, [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]4[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I])
For [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Each Cll In Rng
    [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]If [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Cll[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I].[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Value =[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]0.0 Then Cll[/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I].[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Value [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]= Empty
[/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Next Cll
Set Rng [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]= [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]Nothing
End Sub[/I][/FONT][/COLOR]
Sau khi chạy code, thì kết quả là các ô có số 0,0 đó vẫn được giữ nguyên ạ, không hề bị xóa.
 
Sao bạn không chịu dùng hàm ROUND như mình nói, ở đây mình dùng ROUND với num_digits = 5 (bạn có thể thay bằng 1 số khác cho phù hợp). Bạn xem bản tính đính kèm nhé! Ở đây cột E mình chuyển thành ở cột J, F->K, G->L và H->M. Bạn Copy và dán giá trị ngược lại cho các cột E:H là được
 

File đính kèm

Sau khi chạy code, thì kết quả là các ô có số 0,0 đó vẫn được giữ nguyên ạ, không hề bị xóa.
Tôi xem file thì thực tế số 0.0 đấy không phải là số 0, vậy thầy Batê mới để code <0.1
Nếu không muốn xóa những số <0, thì thêm điều kiện and vào
Mã:
Public Sub GPE()Dim Rng As Range, Cll As Range
Set Rng = Range([B8], [B65536].End(xlUp)).Offset(, 3).Resize(, 4)
For Each Cll In Rng
    If Cll.Value < 0.1 And Cll.Value > -0.1 Then Cll.Value = Empty
Next Cll
Set Rng = Nothing
End Sub
 
Sao bạn không chịu dùng hàm ROUND như mình nói, ở đây mình dùng ROUND với num_digits = 5 (bạn có thể thay bằng 1 số khác cho phù hợp). Bạn xem bản tính đính kèm nhé! Ở đây cột E mình chuyển thành ở cột J, F->K, G->L và H->M. Bạn Copy và dán giá trị ngược lại cho các cột E:H là được
Cách của bạn rất cool, để mình áp dụng vào công việc.
 
Dạ, em xin cảm ơn, nhưng có một vấn đề ở chỗ, code này thích hợp với các số dương, còn số âm thì cũng bị xóa. Em muốn là các ô đích danh chứa số 0,0 đó "bay" hẳn cơ ạ.
P/s: Chỉ những ô đích danh chứa số "0,0" bị "bay" hẳn. Còn các ô khác chứa số gì cũng được (Nghĩa là không đả động đến)
Bạn xem kỹ lại cột E:
E11= 4,54747350886464E-13
E12= -4,54747350886464E-13
E13= -9,09494701772928E-13
...........
"Đích danh" là sao khi bản chất nó không phải là 0,0?
Tất cả đều "nhìn thấy" là 0,0, giờ bạn muốn xoá cái nào, cái nào giữ nguyên?
Khó hiểu quá.
Nếu muốn "thấy sao tính vậy" thì thử chiêu này coi sao:
PHP:
Public Sub GPE()
Dim Rng As Range, Cll As Range
Set Rng = Range([B8], [B65536].End(xlUp)).Offset(, 3).Resize(, 4)
For Each Cll In Rng
    If Cll.Text = 0# Then Cll.Value = Empty
Next Cll
Set Rng = Nothing
End Sub
 
Lần chỉnh sửa cuối:
Tôi xem file thì thực tế số 0.0 đấy không phải là số 0, vậy thầy Batê mới để code <0.1
Nếu không muốn xóa những số <0, thì thêm điều kiện and vào
Mã:
Public Sub GPE()Dim Rng As Range, Cll As Range
Set Rng = Range([B8], [B65536].End(xlUp)).Offset(, 3).Resize(, 4)
For Each Cll In Rng
    If Cll.Value < 0.1 And Cll.Value > -0.1 Then Cll.Value = Empty
Next Cll
Set Rng = Nothing
End Sub
Vâng, em đã rõ ạ. Để em áp dụng vào công việc.
 
Bạn xem kỹ lại cột E:
E11= 4,54747350886464E-13
E12= -4,54747350886464E-13
E13= -9,09494701772928E-13
...........
Tất cả đều "nhìn thấy" là 0,0, giờ bạn muốn xoá cái nào, cái nào giữ nguyên?
Khó hiểu quá.
Dạ, các ô như thầy vừa nói đều hiển thị là 0,0. Em muốn các ô đó bị "bay" hết ạ.
P/s: Các ô đó bị lỗi hay sao ấy. Đều hiển thị là 0,0.
 
Tôi xem file thì thực tế số 0.0 đấy không phải là số 0, vậy thầy Batê mới để code <0.1
Nếu không muốn xóa những số <0, thì thêm điều kiện and vào
Mã:
Public Sub GPE()Dim Rng As Range, Cll As Range
Set Rng = Range([B8], [B65536].End(xlUp)).Offset(, 3).Resize(, 4)
For Each Cll In Rng
    If Cll.Value < 0.1 And Cll.Value > -0.1 Then Cll.Value = Empty
Next Cll
Set Rng = Nothing
End Sub
Code này rất hay, nhưng em muốn chặt chẽ hơn nữa là chỉ những ô chứa đích danh dạng "0,0" đó bị xóa thôi ạ.
 
Dạ, cảm ơn chư vị đã chỉ giáo. Sau khi nghiên cứu, kết hợp, chỉnh sửa => em đã chọn được phương án tối ưu. Làm phiền chư vị quá.
 
Nếu bạn định dạng lại, thực tế số 0.0 là những con số rất nhỏ
Nếu muốn chính xác hơn nữa thì chỉ cần trong khoảng 0.00001 và -0.00001
 

File đính kèm

  • 0.00.jpg
    0.00.jpg
    85.8 KB · Đọc: 22
Web KT

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

Back
Top Bottom