2012-04-21 17 views
7

मैं एक्सेल में वीबीए का उपयोग कैसे कर सकता हूं यह जांचने के लिए कि नीचे दिया गया सेल खाली है या नहीं? मैं सभी मानों को एक विशिष्ट सीमा में जोड़ना चाहता हूं, लेकिन केवल तभी, यदि नीचे दिया गया सेल खाली नहीं है।यह जांचने के लिए वीबीए का उपयोग करना कि नीचे सेल खाली है या नहीं

क्या यह किसी भी तरह से वीबीए या किसी अन्य तरीके से संभव है?

उदाहरण:

4 2 3 2 1 
2 3 1 

योग होगा: 4 + 3 + 2 = 9.

उत्तर

4

मैं इस

FORMULA

=SUMPRODUCT((A1:E1)*(A2:E2<>"")) 

के लिए एक फॉर्मूला की सिफारिश करेंगे स्नैपशॉट

enter image description here

आप अभी भी VBA चाहते हैं तो

VBA

Option Explicit 

Sub Sample() 
    Dim rng As Range 
    Dim Cl As Range 
    Dim tot As Long 

    Set rng = Range("A1:F1") 

    For Each Cl In rng 
     If Len(Trim(Cl.Offset(1))) <> 0 Then tot = tot + Cl.Value 
    Next 

    Debug.Print tot 
End Sub 

वास्तव में आप VBA में कई संस्करणों हो सकता है। आप उपर्युक्त फॉर्मूला का भी मूल्यांकन कर सकते हैं। उदाहरण के लिए

Option Explicit 

Sub Sample() 
    Debug.Print Evaluate("=SUMPRODUCT((A1:E1)*(A2:E2<>""""))") 
End Sub 
+0

@ सिद्धार्थ रूट, बहुत अच्छा दृष्टिकोण। – Marc

+0

अच्छा! क्या आप इस भाग पर विस्तृत जानकारी देंगे: '<> ""'? – cherrun

+1

@ चेर्रुन: "<>" 'बराबर नहीं' के लिए खड़ा है। तो मैं बस उन कोशिकाओं को ध्यान में रख रहा हूं जो ए 2: ई 2 श्रेणी में खाली नहीं हैं। –

9

इस सरल कोड

If IsEmpty(ActiveCell.Offset(1, 0)) Then 
'your code here 
End If 
1

मैं बस जब डेटा अन्य डेटाबेस से निर्यात किया जाता है का उपयोग कर 'IsEmpty' कुछ समस्या थी गया है की कोशिश करो। यह वह कार्य है जिसे मैंने विकसित किया है:

Function IsVacant(TheVar As Variant) As Boolean 
    'LeandraG 2010 

    IsVacant = False 

    If IsEmpty(TheVar) Then IsVacant = True 
    If Trim(TheVar) = "" Then IsVacant = True 
    If Trim(TheVar) = "'" Then IsVacant = True 


End Function 
संबंधित मुद्दे

 संबंधित मुद्दे