Selezione di una cella specifica in una macro (Microsoft Excel)
Spesso è necessario selezionare una cella particolare in una macro. Tuttavia, è più difficile selezionare quella cella se si trova in una cartella di lavoro diversa.
Ad esempio, considera le seguenti due righe di codice:
Sub CellSelect1() Workbooks("pwd.xls").Sheets("Sheet3").Select ActiveSheet.Range("A18").Select End Sub
Si potrebbe pensare che questa macro selezionerà Sheet3! A18 nella cartella di lavoro pwd.xls. Lo fa, con alcuni avvertimenti. Se hai più di una cartella di lavoro aperta, questa macro restituisce un errore, se pwd.xls non è la cartella di lavoro attualmente attiva. Ciò si verifica anche se pwd.xls è già aperto, ma semplicemente non selezionato.
Lo stesso comportamento esiste anche quando condensate il codice di selezione in una singola riga:
Sub CellSelect2() Workbooks("pwd.xls").Sheets("Sheet3").Range("A18").Select End Sub
Ricevi ancora l’errore, tranne quando pwd.xls è la cartella di lavoro attiva. La soluzione è cambiare completamente il modo in cui esegui il salto. Invece di usare il metodo Select, usa il metodo Goto e specifica un indirizzo di destinazione per il metodo:
Sub CellSelect3() Application.Goto _ Reference:=Workbooks("pwd.xls").Sheets("Sheet3").[A18] End Sub
Questo codice funzionerà solo se pwd.xls è già aperto, ma non è necessario che sia la cartella di lavoro attualmente attiva. Se vuoi far scorrere la cartella di lavoro di destinazione in modo che la cella specificata si trovi nell’angolo in alto a sinistra di ciò che stai visualizzando, puoi specificare che l’attributo Scroll sia True, come mostrato qui:
Sub CellSelect4() Application.Goto _ Reference:=Workbooks("pwd.xls").Sheets("Sheet3").[A18] _ Scroll:=True End Sub
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (2791) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: