Selezione di una cella specifica in una macro (Microsoft Excel)
Quando si utilizzano le macro per accedere o modificare i dati nei fogli di lavoro, molto spesso ci si affida agli intervalli. In questo modo si elimina la necessità di selezionare effettivamente le celle nella macro. Anche così, potresti voler (per qualsiasi motivo) selezionare effettivamente le celle con cui vuoi lavorare. Se la cella che desideri selezionare si trova in una cartella di lavoro diversa, l’attività diventa un po ‘più difficile. 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 (11947) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.
Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: