लक्ष्य:
एक चर में एक विशिष्ट शीट से पंक्तियों की मात्रा होनी चाहिए।शीट में पंक्तियों की मात्रा
समस्या:
एक्सेल वीबीए में क्या वाक्यविन्यास कोड मुझे चादर से पंक्तियों की मात्रा गिनने की आवश्यकता है?
लक्ष्य:
एक चर में एक विशिष्ट शीट से पंक्तियों की मात्रा होनी चाहिए।शीट में पंक्तियों की मात्रा
समस्या:
एक्सेल वीबीए में क्या वाक्यविन्यास कोड मुझे चादर से पंक्तियों की मात्रा गिनने की आवश्यकता है?
में डेटा है कि का उपयोग करते हुए usedrange विधि मेरे पसंदीदा में से एक है, लेकिन इसके साथ व्यवहार किया जाना चाहिए देखभाल। इसमें कुछ त्रुटियां/गेटचास हैं। यह एक ज्ञात समस्या है कि एक्सेल उपयोग की गई सीमा का बहुत अच्छा ट्रैक नहीं रखता है। वीबीए के माध्यम से उपयोग की जाने वाली रेंज का कोई भी संदर्भ मूल्य को वर्तमान उपयोग की गई सीमा तक रीसेट करेगा।
Dim lRowCount as Long
Application.ActiveSheet.UsedRange
lRowCount = Worksheets("MySheet").UsedRange.Rows.Count
लेकिन ध्यान रखें यह आप इस्तेमाल किया रेंज गिनती दे देंगे हो सकता है, इसलिए यदि आप अपनी कार्यपुस्तिका के शीर्ष पर रिक्त पंक्तियों है (जो अक्सर: तो यह उप प्रक्रिया है जब आप इस्तेमाल किया रेंज हो रही है चल रहा है की कोशिश लोग फ़िल्टर मानदंड आदि जैसी चीजों के लिए जगह छोड़ने के लिए करते हैं) तो उन्हें गिना नहीं जाएगा। प्रयुक्त विधि से स्वरूपित विधि भी प्रभावित हो सकती है।
आप इस्तेमाल किया अंतिम पंक्ति, चाहते हैं जो है मैं क्या लगता है कि आप चाहते हैं, तो आप खोज विधि है जो और अधिक विश्वसनीय है का उपयोग कर सकते हैं:
Dim rLastCell As Range
Dim lLastRow As Long
Set rLastCell = ActiveSheet.Cells.Find(What:="*", After:=.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
If Not rLastCell Is Nothing Then lLastRow = rLastCell.Row
आप जानते हैं कि आप डेटा के साथ कम से कम एक सेल है तो उस में है, तो आप करने के लिए ऊपर को आसान बनाने में कर सकते हैं:
Dim lLastRow As Long
lLastRow = ActiveSheet.Cells.Find(What:="*", After:=.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
तुम भी कोशिश कर सकते हैं:
i = Sheets("SheetName").UsedRange.Rows.Count
बहरहाल, यह एक छोटे से गाड़ी प्राप्त कर सकते हैं अगर आप को हटाने और पंक्तियों समाशोधन शुरू करते हैं।
यह करने के लिए एक बेहतर तरीका है:
i = Cells(Sheets("SheetName").Rows.Count, 1).End(xlup).Row
इसमें यह माना जाता प्रत्येक पंक्ति स्तंभ 1.
आप कुल पंक्तियों का मतलब है, तो 'Worksheet.Rows.Count' यह करना होगा। यदि आपका मतलब कुछ और है, तो हमें बताएं। –