2011-09-29 4 views
5

में स्वचालित रूप से 0 और 0% भरना मैं Excel में रिक्त कक्षों में स्वचालित रूप से 0 और 0% मान दर्ज करने का प्रयास कर रहा हूं। मेरे पास एक्सेल में एक रिपोर्ट है जो स्वचालित रूप से SAS से भर जाती है। इस रिपोर्ट को सहेजने के बाद, मैं चाहता हूं कि रिक्त कक्ष स्वचालित रूप से संख्यात्मक कॉलम में 0 और प्रतिशत कॉलम में 0% के रूप में भर जाएंगे।एक्सेल रिक्त कक्ष

इसके लिए मैक्रो या वीबीए कोड क्या होगा?

उत्तर

9

यदि आप केवल रिक्त कक्ष में 0 जोड़ना चाहते हैं, तो ऐसा करने के कई तरीके हैं - यहां एक उदाहरण के रूप में श्रेणी A1: D10 का उपयोग कर रहा है। ध्यान दें कि यदि एक सेल प्रतिशत के रूप में स्वरूपित किया गया है, "%" स्वचालित रूप से 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 

कृपया ध्यान दें कि आप कोशिकाओं (वास्तव में यह करने के लिए अच्छा व्यवहार है की एक बड़ी रेंज पर यह कर रहे हैं, तो यह हर समय), आप यह सुनिश्चित करना चाहते हैं कि आप कोड की शुरुआत में Application.ScreenUpdating = False और Application.ScreenUpdating = True अंत में जोड़ें। इससे यह बहुत तेज़ हो जाएगा।

+0

भी 'अगर लेन (ट्रिम (cell.Value)) = 0 Then' भी कुछ सफेद रिक्त स्थान के लिए संभव नहीं हो सकता है। –

4

यदि कोशिकाएं वास्तव में खाली हैं (यानी खाली) तो SpecialCells का उपयोग करके कोशिकाओं को तुरंत भरने के दो तरीके हैं, या तो मैन्युअल रूप से या त्वरित कोड से बचने वाले त्वरित कोड के साथ।

डेविड मैक्रिची ने इसे here में विस्तार से लिखा है।

मैनुअल मार्ग

  • एक चयन
  • प्रेस F5 ... विशेष बनाओ .. गोटो
  • सूत्र पट्टी में 0
  • जोड़ने उसके बाद खाली Ctrl + Enter

कोड मार्ग

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

कृपया ध्यान दें कि विशेष कक्ष केवल उपयोग की गई सीमा के भीतर कोशिकाओं को वापस कर देंगे। यदि कोई प्रयुक्त कोशिकाएं नहीं हैं, तो विशेष कैल्स (xlCellTypeBlanks) एक त्रुटि लौटाएगी (कोई कोशिका नहीं मिली)। – aevanko