/ / Foglio di riferimento in excel - excel-vba, vba, excel

Foglio di riferimento in excel - excel-vba, vba, excel

Sono nuovo di Excel VBA e ho alcune domande relative al riferimento a un foglio di lavoro

L'ho notato quando l'ho usato

 Worksheets(3)

Il foglio di lavoro verrebbe ottenuto in base alla sequenza del foglio di lavoro nella cartella di lavoro

Quando l'ho usato

Worksheets("Name")

Sarebbe recuperato in base al nome del foglio di lavoro

Tuttavia, ho scoperto che entrambi gli approcci sono problematici perché per il metodo 1, devo correggere la sequenza del foglio di lavoro. Una volta trascinato il foglio di lavoro, il riferimento diventerebbe errato.

Il metodo 2 avrebbe bisogno di me per correggere il nome del foglio di lavoro, che non è così flessibile.

Ho notato che nel pannello di sinistra dell'editor VBA, sotto Microsoft Excel Objects, ogni volta che viene creato il foglio di lavoro, un nuovo foglio come Verrà creato Sheet1 (Nome).

C'è un modo in cui potrei fare riferimento al foglio di lavoro basato sulla variabile Sheet1, che potrei ripararlo in modo da poter trascinare liberamente il foglio o cambiare il nome del foglio di lavoro?

Grazie.

risposte:

0 per risposta № 1

Il nome a cui ti riferisci si chiama CodeName. Puoi fare riferimento a un foglio con questo nome.

Ad esempio, per il tuo esempio Sheet1 (Name) può essere indicato come

Worksheets("name")

o

Sheet1

Per esempio Worksheets("name").Activate o Sheet1.Active entrambi funzionerebbero

Nota che puoi cambiare questo nome in qualcosa di significativo nella finestra Proprietà dell'IDE VBA, ma non puoi cambiarlo in fase di esecuzione