2010-02-13 11 views
16

क्या कोई ऐसा सेल है जो वीबीए फ़ंक्शन को कॉल करता है?एक्सेल शीट में वीबीए फ़ंक्शंस को कॉल करने वाले सेल का पता कैसे प्राप्त करें

मैंने "Application.ActiveCell.Address" का उपयोग किया, लेकिन पाया कि यह विधि कॉलिंग सेल का पता पाने का सही तरीका नहीं है।

उदाहरण: यदि हमारे पास सहेजे गए वीबीए कार्यों के साथ एक्सेल शीट है, तो एक बार जब आप शीट को फिर से खोल लेंगे, तो उपरोक्त विधि काम नहीं करेगी।

कृपया

मदद

+0

@nimo, समारोह एक यूडीएफ है http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

सेल पास करने के लिए? क्या आप शायद कुछ कोड दे सकते हैं जो आप करने की कोशिश कर रहे हैं? –

+2

'यहसेल' https://msdn.microsoft.com/en-us/library/office/ff834969.aspx – Slai

उत्तर

19

आप Application.Caller उपयोग कर सकते हैं nimo, लेकिन आप शायद कार्य करने के लिए सेल पारित करने के लिए सबसे अच्छा होगा।

With Application.Caller 
     CallerRows = .Rows.Count 
     CallerCols = .Columns.Count 
     CallerAddr = .Address 
    End With 

देखें:

=SomeFunction(A1) 

कहाँ कोड है:

SomeFunction(r) 
+0

बस पता चला कि मैंने एक ही प्रश्न पूछा: [मैं कैसे पता लगा सकता हूं कि कौन सा सेल वीबीए फ़ंक्शन से कॉल किया गया था ] (http://stackoverflow.com/questions/5559279/excel-cell-from-which-a-function-is-called) –

संबंधित मुद्दे