sto cercando di ricercare i valori in punti delle celle utilizzando google VBA, ho cercato e tutto StackOverflow prima di chiedere questo perché io non riesco a farlo lavoro.Excel, Cercando Index, Partita, di ricercare i valori con VBA
Il seguente è il codice che sto tentando di utilizzare, notare che il codice di budget fa riferimento a una cella contenente uno dei codici nella prima colonna e fa riferimento a una cella che contiene un numero (1-12) o contiene un codice breve (ytd, 1qtr, 2qtr, 3qtr). Esempio è che voglio tirare CAD-NS per (2) febbraio e mi dovrebbe ottenere 5.666,40.
Function eBudgetl(budgetcode As String, mo As String)
eBudgetl = Application.WorksheetFunction.Index(Range("Budget!G1:X5000"), _
Application.WorksheetFunction.Match(budgetcode, Range("Budget!B1:B5000"), 0), _
Application.WorksheetFunction.Match(mo, Range("Budget!G1:X1"), 0))
End Function
Ecco una parte dei dati desidero occhiata:
1 2 3 4
CAD-NS I Net Sales 5264.0 5666.4 5614.9 5966.6
COSMAT E Material 6207.5 3660.0 3661.9 3560.9
COSDL E Direct Labor 610.4 105.3 167.1 123.6
CAD-MOIL E Indirect Labor 671.2 163.4 181.6 161.7
CAD-MOSAL E Salary Overhead 601.0 106.0 101.0 101.0
ecco il codice nella cella che funziona, ma ho bisogno di fare in VBA. (Il motivo per cui ho bisogno di fare in VBA è a volte il budgetcode conterrà 2+ riferimenti separati da una virgola e ho intenzione di utilizzare VBA per separarli e guardarsi in modo indipendente.)
=INDEX(Budget!$G$1:$X$5000,MATCH($F12,Budget!$B$1:$B$5000,0),MATCH(AN$1,Budget!$G$1:$X$1,0))
Apprezzo tutto l'aiuto molto, sono stato a questo per 3 giorni ora.
Grazie,
Enoch
Credo che il problema è il 'Tipi' della dichiarazione della funzione.Prova 'Funzione eBudgetl (budgetcode As Variant), mo As Variant) ' –
Oh mio Dio! Non posso credere che abbia funzionato! Davvero, Chris Neilsen, hai appena fatto la mia giornata! – user3566159
Aggiunto come risposta, con un po 'di spiegazione e alcuni suggerimenti –