2010-02-13 16 views
16

Esiste una funzione per ottenere l'indirizzo di una cella che chiama una funzione VBA?Come ottenere l'indirizzo della cella che chiama le funzioni VBA in un foglio Excel

Ho usato "Application.ActiveCell.Address", ma ho trovato che questo metodo non è un modo corretto per ottenere l'indirizzo della cella chiamante.

ad esempio: Se abbiamo un foglio Excel con funzioni VBA salvate, una volta riaperto il foglio, il metodo sopra non funzionerà.

si prega di aiutare

nimo

+0

@nimo, è la funzione di un UDF? Puoi dare qualche codice come esempio di ciò che stai cercando di fare? –

+2

'ThisCell' https://msdn.microsoft.com/en-us/library/office/ff834969.aspx – Slai

risposta

19

È possibile utilizzare Application.Caller, ma si sarebbe probabilmente meglio per passare il cellulare alla funzione.

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

See: http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

per passare il cellulare:

=SomeFunction(A1) 

in cui il codice è:

SomeFunction(r) 
+0

Ho appena scoperto che ho fatto la stessa domanda: [Come faccio a sapere da quale cella è stata chiamata una funzione VBA da ] (http://stackoverflow.com/questions/5559279/excel-cell-from-which-a-function-is-called) –

Problemi correlati