सभी फ़ाइलों से डेटा खींचने के लिए कोड लिखने की कोशिश कर रहा है


1

मैं सभी कार्यपुस्तिकाओं को खोजने के लिए कोड की कोशिश कर रहा हूं और यदि यह पता चलता है कि क्या खोजा जा रहा है तो यह पूरी पंक्ति को एक उपयोगकर्ता-सूची में एक सूची बॉक्स में चिपका देता है।

हम बहुत सारे भागों का आदेश देते हैं और हम यह देखना चाहते हैं कि जब भाग अंतिम आदेश दिया गया था, तो हम उसे खोजना चाहते हैं। यह खोज उस जानकारी को खींच लेगी।

नीचे दिया गया कोड मुझे एक त्रुटि संदेश दे रहा है और मैं इसका पता नहीं लगा सकता। OBJECT DOESN’T SUPPORT THIS PROPERTY OR METHODकोड को चलाने पर बोल्ड में भाग को हाइलाइट किया जा रहा है।

किसी को भी इस के साथ मदद कर सकता है?

Option Explicit
Private Sub CommandButton1_Click()
Dim wb1 As Workbook, wb2 As Workbook
Set wb1 = ThisWorkbook
Dim ws As Worksheet
Dim sPath As String
Dim sfile As String
Dim C As Range
sPath = "\\192.168.1.4\ET_Documents\Shared Documents\Inventory Transactions\TRANSACTIONS AS OF 11-3-2017\"
sfile = Dir(sPath & "*.xls*")
Application.ScreenUpdating = False
Set ws = Sheet1
ListBox1 = 0
Do While sfile <> ""
Set wb2 = Workbooks.Open(sPath & sfile)
    With ListBox1
        For Each C In wb2.Columns("b8:b15")          ' THIS IS THE HIGHLIGHTED LINE
                If C = TextBox1.Value Then
                    With C.EntireRow
                        ListBox1.AddItem
                    End With
                End If
        Next
    End With
wb2.Close False
sfile = Dir()
Loop

Application.ScreenUpdating = True
End Sub

जवाबों:


1

जैसा कि त्रुटि कहती है, आपके ऑब्जेक्ट ( wb2) में एक विधि या संपत्ति नहीं है जो उस विधि / संपत्ति से मेल खाती है जिसे आपने उपयोग करने की कोशिश की थी ( columns)।

Columnsएक्सेल वर्क शीट क्लास की एक संपत्ति है , जबकि आप इसे एक काम की किताब के साथ उपयोग करने की कोशिश कर रहे हैं , जिसमें वह संपत्ति नहीं है


मुझे लगता है कि छुटकारा मिल सकता है। कॉलम और प्रत्येक कार्यपुस्तिका के बजाय ws का उपयोग करें जिसमें यह दिखता है कि इसमें केवल एक शीट है।
डी। क्लेमेंट्स

हटा दिया। कॉलम और जोड़ा गया है। हालांकि मुझे कोई त्रुटि नहीं मिलती है, लेकिन मैं सूची बॉक्स को पॉपुलेट नहीं देख रहा हूं ... इसे उस सेल बॉक्स के साथ सूची बॉक्स को पॉप्युलेट करना चाहिए जिसमें textbox1.value है
डी। क्लेमेंट्स

बदलें wb2.Columns("b8:b15")के साथwb2.Worksheets(1).Range("b8:b15")
वेगार्ड

मैंने आपके द्वारा कहे गए स्तंभों को बदल दिया और मुझे अब त्रुटियाँ नहीं मिलीं ... बस सूची में कोई परिणाम नहीं दिख रहा है ..
D. Clements

कोशिश करने के लिए चीजें: Dim C As Rangeदोनों C.Valueऔर TextBox1.Valueघड़ी की सूची में जोड़ें, और फिर ध्यान से F8 का उपयोग करके कोड के माध्यम से कदम उठाएं। सबसे अधिक संभावना है, लिस्टबॉक्स आबादी नहीं है क्योंकि लूप कभी भी अपेक्षित स्थान में प्रवेश नहीं करता है, और आपको यह पता लगाने की आवश्यकता है कि क्यों। मैं शर्त लगा सकता हूँ कि या तो एक मूल्य है या शायद डेटाटैम बेमेल है।
वेगा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.