/ / सामग्री के एसयूएम = शून्य और रिक्त स्थान छोड़ने पर मैं एक्सेल पंक्तियों को कैसे छुपा सकता हूं? - एक्सेल, एक्सेल-वीबीए, छुपाएं, पंक्तियां, छोड़ें, वीबीए

सामग्रियों के एसयूएम = शून्य और रिक्त स्थान को छोड़कर मैं एक्सेल पंक्तियों को कैसे छुपा सकता हूं? - एक्सेल, एक्सेल-वीबीए, छुपाएं, पंक्तियां, छोड़ें, वीबीए

मेरे पास दो कोड हैं, नीचे, एक छुपाता है औरअन्य जो शून्य के बराबर निहित मूल्यों के योग के आधार पर पंक्तियों को अनदेखा करता है। हालांकि, यह कोड रिक्त पंक्तियों को भी छुपाता है जो मैं नहीं चाहता क्योंकि वे वर्गों के बीच spacers हैं। किसी भी सलाह को पकड़ा जाएगा, और यदि मौजूदा कोड में सुधार करने की सिफारिशें हैं तो मैं भी इसकी सराहना करता हूं।

Sub HideRows()

Dim R As Long
Dim Rng As Range

If Selection.Rows.Count > 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange
End If

For R = 1 To Rng.Rows.Count
If Application.Sum(Range(Rng(R, 3), Rng(R, Rng.Columns.Count))) = 0# Then
Rng.Rows(R).Hidden = True
End If
Next R

End Sub
Sub UnHideRows()

Dim R As Long
Dim Rng As Range

If Selection.Rows.Count > 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange
End If

For R = 1 To Rng.Rows.Count
If Application.Sum(Range(Rng(R, 3), Rng(R, Rng.Columns.Count))) = 0# Then
Rng.Rows(R).Hidden = False
End If
Next R

End Sub

उत्तर:

उत्तर № 1 के लिए 4

इस विधि के साथ प्रत्येक विधि में फोर लूप को प्रतिस्थापित करें ....

myRange = Range(Rng(R, 3), Rng(R, Rng.Columns.Count))
For R = 1 To Rng.Rows.Count
If Application.CountBlank(myRange) <> myRange.Cells.Count Then
If Application.Sum(myRange) = 0# Then
Rng.Rows(R).Hidden = True
End If
Next R

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