मेरी इंटर्नशिप के लिए मुझे कुछ एक्सेल यूजरफॉर्म और वीबीए मैक्रोज़ करना है। मेरे पास UserForm
के अंदर एक Private Sub
है और मुझे वर्कशीट को पैरामीटर के रूप में पास करने की आवश्यकता है। लेकिन मुझे हमेशा मिलता है
"निष्पादन त्रुटि 438"
जब Sub
कहा जाता है।
जो मुझे परेशान करता है वह यह है कि FirstBlankColumn
काम करता है लेकिन FillAllBox
नहीं करता है।
मैंने कोशिश की:
-फिलऑलबॉक्स को सार्वजनिक और न तो निजी और न ही सार्वजनिक
-फिलऑलबॉक्स को एक फंक्शन में बदलना
-जिस तरह से मैं वर्कशीट पास करता हूं (यानी: Set ws = Worksheets("ExportedData")
फिर पासिंग ws
)
'''vba
Private Function FirstBlankColumn(ws As Worksheet) As Long
'Yadda yadda does some stuff
'
'returns the number of the first blank column
End Function
Private Sub FillAllBox(ws As Worksheet)
' we never get to the FillBox calls
FillBox UserBox, ws
FillBox StockTransBox, ws
FillBox SemaineBox, ws
FillBox LocationBox, ws
FillBox ValeurBox, ws
End Sub
Private Sub UserForm_Initialize()
' displays correctly the number of the first blank column
MsgBox FirstBlankColumn(Worksheets("ExportedData"))
' Throws "error 438" upon call
FillAllBox (Worksheets("ExportedData"))
End Sub
'''
लंबे समय तक मैंने शीट के नाम और स्ट्रिंग को पैरामीटर के रूप में पास करने के लिए पास किया। लेकिन मेरी शीट को पुनः प्राप्त करने के लिए प्रत्येक फ़ंक्शन/उप में शीट सूची को कॉल करने के लिए अनुकूलित नहीं किया गया है।
मैं विश्वसनीय रूप से पैरामीटर के रूप में शीट्स या वर्कशीट्स को सीधे पास करने में सक्षम होना चाहता हूं।
अग्रिम में धन्यवाद।
1 उत्तर
यह समस्या आपके कोष्ठकों (()) के उपयोग की है। उन्हें अपने कॉल से हटा दें और आपको जाने के लिए अच्छा होना चाहिए।
उप प्रक्रियाएं, अंतर्निर्मित कथन, और कुछ विधियां कोई मान नहीं लौटाती हैं, इसलिए तर्क कोष्ठक में संलग्न नहीं हैं
फ़ंक्शन प्रक्रियाएँ, अंतर्निहित फ़ंक्शंस और कुछ विधियाँ एक मान लौटाती हैं, लेकिन आप इसे अनदेखा कर सकते हैं। यदि आप वापसी मूल्य को अनदेखा करते हैं, तो कोष्ठक शामिल न करें। फ़ंक्शन को वैसे ही कॉल करें जैसे आप उप प्रक्रिया कहते हैं। कोष्ठकों को छोड़ दें, किसी भी तर्क को सूचीबद्ध करें, और किसी चर को फ़ंक्शन असाइन न करें।
FillAllBox Worksheets("ExportedData")
संबंधित सवाल
नए सवाल
excel
केवल एक्सेल ऑब्जेक्ट्स या फ़ाइलों, या जटिल फॉर्मूला विकास के खिलाफ प्रोग्रामिंग पर प्रश्नों के लिए। यदि आप लागू हो तो आप Excel टैग को VBA, VSTO, C #, VB.NET, PowerShell, OLE स्वचालन और अन्य प्रोग्रामिंग संबंधी टैग और प्रश्नों के साथ जोड़ सकते हैं। सुपर उपयोगकर्ता पर एकल कार्यपत्रक कार्यों के लिए एमएस एक्सेल के बारे में सामान्य सहायता उपलब्ध है।