गैर खाली कोशिकाओं के बीच पंक्तियों की गणना करें

हाय वहाँ मेरे पास सवाल के लिए एक समान सवाल है

एक सेल से दूसरे में ले जाएं और दो डेटा के बीच पंक्तियों की संख्या गिनें

मेरे उदाहरण में मैं कॉलम ए में गैर-रिक्त कक्षों (मूल डेटा लाइन सहित) के बीच पंक्तियों की संख्या गिनना चाहता हूं और कॉलम बी में गिनती डालूंगा

मेरा डेटा ए 1 से शुरू होता है और अगली डेटा पंक्ति तक कोशिकाओं में रिक्त स्थान के साथ नीचे चला जाता है।

उदाहरण:

A1 1        B1 3
A2          B2 4
A3          B3 2
A4 2        B4 3
A5  
A6  
A7 
A8 3  
A9  
A10 4
A11 
A12 

मैंने पोस्ट किए गए मूल समाधान में मोड बनाने की कोशिश की लेकिन मुझे लगता है कि आखिरी पंक्ति के लिए गिनती नहीं है।

किसी भी सहायता की बहुत सराहना की जाएगी।

1
पॉल, मेरे उत्तर को सही उत्तर के रूप में चिह्नित करने के लिए स्वतंत्र महसूस करें।
जोड़ा लेखक Jon49, स्रोत

2 उत्तर

यकीन नहीं है कि अगर मैं आपकी मांग के लिए काफी कुछ प्राप्त करता हूं लेकिन ऐसा कुछ करने का प्रयास करें:

    Private Sub CountSkips()

    Dim lStart As Long, lEnd As Long
    Dim rData As Range, rNext As Range
    Dim vData As Variant

    Set rData = ActiveSheet.Range("A1" _
                , ActiveSheet.Cells(Application.Rows.Count, 1).End(xlUp))
    vData = rData.Resize(rData.Rows.Count + 1).Value2

    Set rNext = rData.Resize(1)
    Do While rNext.Row <> Application.Rows.Count
        lStart = rNext.Row
        Set rNext = rNext.End(xlDown)
        If LenB(vData(lStart + 1, 1)) = 0 Then
            lEnd = rNext.Row
            rNext.Offset(lStart - lEnd, 1) = lEnd - lStart
        End If
    Loop

End Sub

अद्यतन करें:

ऐसा करने का दूसरा तरीका, आपकी टिप्पणी से ऐसा लगता है कि आप खाली होने के बाद आइटम द्वारा संख्या चाहते हैं।

Private Sub CountSkips()

    Dim lStart As Long, lEnd As Long, lVeryLastRow As Long
    Dim rData As Range, rNext As Range
    Dim vData As Variant

    lVeryLastRow = Application.Rows.Count
    Set rData = ActiveSheet.Range("A1" _
                , ActiveSheet.Cells(lVeryLastRow, 1).End(xlUp))
    vData = rData.Resize(rData.Rows.Count + 1).Value2

    Set rNext = rData.Resize(1)
    Do While rNext.Row <> Application.Rows.Count
        lStart = rNext.Row
        Set rNext = rNext.End(xlDown)
        If LenB(vData(lStart + 1, 1)) = 0 And rNext.Row <> lVeryLastRow Then
            lEnd = rNext.Row
            rNext.Offset(, 1) = lEnd - lStart
        End If
    Loop

End Sub
1
जोड़ा
यदि आपके पास उपयुक्त उत्तर है तो कृपया अपने प्रश्नों को हल करें। आपको अपने नए प्रश्न के लिए एक नया धागा शुरू करना चाहिए।
जोड़ा लेखक Reafidy, स्रोत
मैंने आपके लिए कुछ थोड़ा सा कोड डाला है, जो आप चाहते हैं उसे करना चाहिए।
जोड़ा लेखक Jon49, स्रोत
पॉल, हाँ, यह नया प्रश्न सामग्री है, मैं अभी छुट्टी पर हूं इसलिए मदद नहीं कर सकता, लेकिन, यदि आप चाहते हैं, तो मेरे उत्तर को सही के रूप में चिह्नित करें, इसकी सराहना की जाएगी।
जोड़ा लेखक Jon49, स्रोत
हाय Jon49 यह आखिरी पंक्ति तक सही काम करता है
जोड़ा लेखक paul worthington, स्रोत
हाय Jon49 यह डेटा युक्त अंतिम पंक्ति तक सही काम करता है। उदाहरण के लिए पंक्ति ए 2 9 7 46, पंक्ति ए 2 9 8 खाली या खाली लेकिन इसकी वास्तविक आखिरी पंक्ति - इसलिए कॉलम बी को बी 2 9 7 2 नहीं दिखाना चाहिए 65239
जोड़ा लेखक paul worthington, स्रोत
हाय Jon49 Omg आपकी एक किंवदंती कोड एक असली इलाज काम करता है। आपकी सहायता के लिए बहुत धन्यवाद। यह पहला सवाल है जिसे मैंने प्रोटोकॉल पर अभी तक सुनिश्चित नहीं किया है, लेकिन मैं इस मैक्रो पर एक फॉलोअप प्रश्न पूछना चाहता हूं।
जोड़ा लेखक paul worthington, स्रोत
हाय जॉन 4 9 - मेरे पास नेविगेशन बटन के साथ एक शीट है जो तीर कुंजियों के साथ रिकॉर्ड को नेविगेट करती है। प्रत्येक रिकॉर्ड में परिवर्तनीय पंक्तियां होती हैं। मुझे एक और मैक्रो की आवश्यकता है जो रिकॉर्ड सेट को नेविगेट करता है। उदाहरण के लिए रिकॉर्ड्स 1 में 3 पंक्तियां होती हैं और जब आप तीर को दबाते हैं तो पहला रिकॉर्ड होता है तो अगले रिकॉर्ड्स को प्रदर्शित करने के लिए रिकॉर्ड्ससेट 2 होता है जिसमें 4 पंक्तियां होती हैं। यदि आप कोई सलाह दे सकते हैं तो मैं हमेशा से आभारी रहूंगा। मेरे पास एक ऐसा फॉर्म है जो ऐसा करता है लेकिन मैं एक सक्रियशीट का उपयोग करने के लिए बदल गया तो मजा शुरू हुआ। नेविगेशन नियंत्रण और शीट 1 के साथ शीट 3 को संदर्भित करने का प्रयास करने के लिए सभी डेटा हैं। चियर्स
जोड़ा लेखक paul worthington, स्रोत
हाय जॉन 4 9, मैंने आपकी उत्तर को सही के रूप में चिह्नित किया है, धन्यवाद के लिए धन्यवाद
जोड़ा लेखक paul worthington, स्रोत

wsworkcenter--> workbook object name

WsWorkCenter.Activate
'counting non empty rows , will store count  in the variable mlProjectCount
Cells(2, 1).Select
Selection.End(xlDown).Select    
mlProjectCount = ActiveCell.Row
0
जोड़ा