शुभ दिवस,
मेरे पास निम्न कोड है
Sub AutFilCrit()
With Worksheets("Email Campaign Stats")
.AutoFilterMode = False
.Range("A6:AP6").AutoFilter
.Range("A6:AP6").AutoFilter Field:=5, Criteria1:=Array("OARGUELLO", "KARAUZ", "LBALLADARES"), Operator:=xlFilterValues
End With
End Sub
जैसा कि आप देख सकते हैं मानदंड सीधे कोड में लिखे गए नामों की एक सरणी है। मेरा प्रश्न है: मान लें कि मेरे पास श्रेणी A1:A10 या A1:K1 में नामों की एक सूची थी, मैं मानदंड के लिए सरणी के रूप में उस श्रेणी का उपयोग कैसे कर सकता हूं
1 उत्तर
यहां एक उदाहरण दिया गया है जो पत्रक2 में तीन कक्षों से एक सरणी बनाता है ताकि पत्रक1 में किसी स्तंभ को फ़िल्टर किया जा सके:
Sub UsingARange()
Dim arr(1 To 3) As String
For i = 1 To 3
arr(i) = Sheets("Sheet2").Cells(i, 1).Value
Next i
With Sheets("Sheet1").Range("A1:A9")
.AutoFilter
.AutoFilter Field:=1, Criteria1:=arr, Operator:=xlFilterValues
End With
End Sub
यदि आप लूप से बचना चाहते हैं:
Sub UsingARange2()
Dim rng As Range
Set rng = Sheets("Sheet2").Range("A1:A3")
arr = Application.WorksheetFunction.Transpose(rng.Value)
With Sheets("Sheet1").Range("A1:A9")
.AutoFilter
.AutoFilter Field:=1, Criteria1:=arr, Operator:=xlFilterValues
End With
End Sub
संबंधित सवाल
नए सवाल
vba
अनुप्रयोगों के लिए विजुअल बेसिक (VBA) मैक्रो लिखने के लिए एक इवेंट-संचालित, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है, जिसका उपयोग पूरे ऑफिस सूट के साथ-साथ अन्य अनुप्रयोगों के लिए भी किया जाता है। VBA VB.NET, या VBS के बराबर नहीं है; यदि आप Visual Studio उपयोग [vb.net] में काम कर रहे हैं। यदि आपका प्रश्न विशेष रूप से किसी एमएस ऑफिस एप्लिकेशन को प्रोग्रामिंग करने के बारे में है, तो उपयुक्त टैग का भी उपयोग करें: [एक्सेल], [एमएस-एक्सेस], [एमएस-वर्ड], [आउटलुक], या [एमएस-प्रोजेक्ट]।
.Range("A1:K1").Value
याApplication.Transpose(.Range("A1:A10").value)
डाल दें