2011-09-29 57 views
5

Tôi đang cố gắng tự động nhập 0 và 0% giá trị trong ô trống trong Excel. Tôi có một báo cáo trong Excel được tự động điền từ SAS. Sau khi tôi lưu báo cáo này, tôi muốn các ô trống được tự động điền là 0 trong cột số và 0% trong cột phần trăm.Tự động điền 0 và 0% trong ô trống Excel

Mã macro hoặc VBA sẽ là gì?

Trả lời

9

Nếu bạn chỉ muốn thêm 0 vào ô trống, có một số cách để thực hiện điều đó - đây là một cách sử dụng dải ô A1: D10 làm ví dụ. Lưu ý rằng nếu một tế bào được định dạng theo phần trăm, các "%" sẽ tự động được nối vào 0.:

Sub test() 

Dim cell As Range 

For Each cell In Range("A1:D10") 
    If Len(cell.Value) = 0 Then 
     cell.Value = 0 
    End If 
Next 

End Sub 

Xin lưu ý rằng nếu bạn đang làm điều này trên một phạm vi rộng lớn của các tế bào (trên thực tế đó là thực hành tốt để làm tất cả thời gian này), bạn muốn chắc chắn rằng bạn thêm Application.ScreenUpdating = False vào đầu mã và Application.ScreenUpdating = True ở cuối. Điều đó sẽ làm cho nó chạy nhanh hơn nhiều.

+0

cũng 'Nếu Len (Trim (cell.Value)) = 0 Then' Có thể có một số không gian màu trắng cũng có thể. –

4

Nếu các ô thật sự trống (ví dụ trống) thì có hai cách để lấp đầy các ô ngay lập tức bằng cách sử dụng SpecialCells, theo cách thủ công hoặc với các vòng tránh mã nhanh.

David Mcritchie đã viết chi tiết này here.

thủ công tuyến đường

  • Thực hiện một lựa chọn
  • Nhấn F5 ... đặc biệt .. Chuyển đến khoảng trống
  • trong thanh công thức thêm 0
  • sau đó nhấn Ctrl + Enter

tuyến đường đang

Sub Quickfull() 
'reset usedrange 
ActiveSheet.UsedRange 
On Error Resume Next 
ActiveSheet.Cells.SpecialCells(xlBlanks).Value = 0 
End Sub 
+2

Xin lưu ý rằng các ô đặc biệt sẽ chỉ trả về các ô trong phạm vi đã sử dụng. Nếu không có ô nào được sử dụng, SpecialCells (xlCellTypeBlanks) sẽ trả về lỗi (không tìm thấy ô nào). – aevanko

Các vấn đề liên quan