मेरे पास दो कोड हैं, नीचे, एक छुपाता है औरअन्य जो शून्य के बराबर निहित मूल्यों के योग के आधार पर पंक्तियों को अनदेखा करता है। हालांकि, यह कोड रिक्त पंक्तियों को भी छुपाता है जो मैं नहीं चाहता क्योंकि वे वर्गों के बीच 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
यह पहली बार यह देखने के लिए जांच करता है कि उस पंक्ति सीमा में सभी कक्ष रिक्त हैं और यदि सत्य हो तो अनिवार्य रूप से आगे की प्रक्रिया को छोड़ दें।