Questo articolo spiega come utilizzare una procedura scritta in Visual Basic per selezionare i dati memorizzati all'interno di un foglio o di una cartella di lavoro di Microsoft Excel. Se hai esperienza nella creazione di script in Visual Basic e nell'uso delle funzionalità avanzate di Excel, scoprirai che la procedura da seguire per effettuare questo tipo di selezione dei dati è molto semplice e intuitiva.

Metodo 1
Metodo 1 di 3:

Selezionare una Singola Cella

  1. 1
    Seleziona una cella all'interno dell'attuale foglio di lavoro. Ipotizza di voler selezionare la cella "E6" all'interno di uno script di Visual Basic. Puoi eseguire questo passaggio usando una delle due seguenti stringhe di codice:[1]
    ActiveSheet.Cells(6, 5).Select
    

    ActiveSheet.Range("E6").Select
    
  2. 2
    Seleziona una cella posta all'interno di un foglio diverso nell'attuale cartella di lavoro. Ipotizziamo che tu voglia selezionare la cella "E6" del "Foglio2". Anche in questo caso, puoi eseguire questo passaggio usando una delle due seguenti stringhe di codice:
    Application.Goto ActiveWorkbook.Sheets("Foglio2").Cells(6, 5)
    
    Application.Goto (ActiveWorkbook.Sheets("Foglio2").Range("E6"))
    
  3. 3
    Seleziona una cella di un foglio appartenente a una cartella di lavoro diversa da quella attuale. Ipotizza di voler selezionare una cella del "Foglio1" nella cartella di lavoro denominata "File2.xls". Puoi usare una delle seguenti stringhe di codice per eseguire tale operazione:
    Application.Goto Workbooks("File2.xls").Sheets("Foglio1").Cells(2,1)
    
    Application.Goto Workbooks("File2.xls").Sheets("Foglio1").Range("A2")
    
  4. 4
    Seleziona una cella utilizzando come riferimento una cella diversa. Usando uno script di Visual Basic, è possibile selezionare una cella basandosi sulla sua posizione in relazione alla cella attiva o a un'altra cella del foglio. Per evitare errori durante l'esecuzione del codice, assicurati che la cella da selezionare esista. Impiega il seguente codice:
    • Usa questa istruzione per selezionare la cella collocata tre righe più in basso e quattro colonne più a sinistra della cella attiva:
      ActiveCell.Offset(3, -4).Select
      
    • Usa questa istruzione per selezionare la cella collocata cinque righe più in basso e quattro colonne più a destra della cella "C7":
      ActiveSheet.Cells(7, 3).Offset(5, 4).Select
      
    Pubblicità
Metodo 2
Metodo 2 di 3:

Selezionare un Intervallo di Celle

  1. 1
    Seleziona un intervallo di celle nel foglio di lavoro attivo. Se hai la necessità di selezionare l'intervallo di celle "C1:D6" nell'attuale foglio di lavoro, puoi utilizzare una delle seguenti tre istruzioni di esempio:
    ActiveSheet.Range(Cells(1, 3), Cells(6, 4)).Select
    
    ActiveSheet.Range("C1:D6").Select
    
    ActiveSheet.Range("C1", "D6").Select
    
  2. 2
    Seleziona un intervallo di celle di un foglio diverso da quello attualmente attivo, ma nella stessa cartella di lavoro. Per esempio, per selezionare l'intervallo di celle "C3:E11" del "Foglio3", puoi utilizzare una delle seguenti istruzioni:
    Application.Goto ActiveWorkbook.Sheets("Foglio3").Range("C3:E11")
    
    Application.Goto ActiveWorkbook.Sheets("Foglio3").Range("C3", "E11")
    
  3. 3
    Seleziona un intervallo di celle di un foglio memorizzato in una cartella di lavoro diversa da quella attuale. Ipotizza di dover selezionare l'intervallo di celle "E12:F12" del "Foglio1" del file "File2.xls". Per eseguire la selezione indicata, puoi usare una delle seguenti istruzioni:
    Application.Goto Workbooks("File2.xls").Sheets("Foglio1").Range("E12:F12")
    
    Application.Goto Workbooks("File2.xls").Sheets("Foglio1").Range("E12", "F12")
    
  4. 4
    Seleziona un intervallo di celle usando il nome corrispondente. Se hai assegnato un nome specifico a un insieme di celle, potrai utilizzare le istruzioni elencate nei passaggi 4-5-6, ma dovrai ricordarti di sostituire gli indirizzi delle celle o il riferimento all'intervallo dei dati (per esempio "E12", "F12" o "E12:F12") con il nome che gli hai assegnato (per esempio "Vendite" o "Clienti"). Ecco alcuni esempi del codice che dovrai utilizzare in questo caso:
    • Seleziona un intervallo di celle del foglio di lavoro attivo:
      ActiveSheet.Range("Vendite").Select
      
    • Seleziona un intervallo di celle in un foglio diverso della medesima cartella di lavoro:
      Application.Goto ActiveWorkbook.Sheets("Foglio3").Range("Vendite")
      
    • Seleziona un intervallo di celle in un foglio di una cartella di lavoro diversa da quella attuale:
      Application.Goto Workbooks("File2.xls").Sheets("Foglio1").Range("Vendite")
      
  5. 5
    Seleziona un intervallo di celle facendo riferimento a un intervallo a cui è stato assegnato un nome. La sintassi precisa da usare varia in base al nome dell'intervallo di riferimento e alle dimensioni dell'insieme di celle da selezionare.
    • Per esempio, se devi selezionare un insieme di celle che ha le medesime dimensioni di quello di riferimento a cui hai assegnato il nome Test5, ma che si trova quattro righe più in basso e tre colonne più a destra di quest'ultimo, dovrai usare il seguente codice:
      ActiveSheet.Range("Test5").Offset(4, 3).Select
      
    • Se l'intervallo di riferimento e quello da selezionare si trovano sul "Foglio3" della medesima cartella di lavoro, inizia con l'attivare quest'ultima, dopodiché seleziona l'insieme di celle usando il seguente codice:
      Sheets("Foglio3").Activate ActiveSheet.Range("Test5").Offset(4, 3).Select
      
  6. 6
    Seleziona un intervallo di celle e ridimensiona l'area di selezione. Se lo desideri, puoi modificare le dimensioni dell'intervallo di celle selezionato in base alle tue esigenze. Per esempio, se hai la necessità di selezionare l'intervallo di celle denominato Database e di aumentarne le dimensioni attuali di cinque righe, dovrai utilizzare il seguente codice:
    Range("Database").Select Selection.Resize(Selection.Rows.Count + 5, Selection.Columns.Count).Select
    
  7. 7
    Seleziona tutte le celle di due intervalli separati a cui hai assegnato un nome. Se all'interno del foglio di lavoro sono presenti due insiemi di dati e hai la necessità di selezionare tutte le celle di entrambi i gruppi, puoi risolvere il problema utilizzando il metodo "Union" di Visual Basic. Il limite di questo codice è dato dal fatto che si può applicare solo al foglio attivo. Per esempio, ipotizza di dover selezionare le tutte le celle degli intervalli di dati denominati Test1 e Test2:
    • Application.Union(Range("Test1"), Range("Test2")).Select
      
    • Se vuoi selezionare le celle comprese nell'intersezione di due intervalli a cui hai assegnato un nome, cioè tutte le celle dei due insiemi che sono in condivisione, dovrai sostituire il metodo Application.Union con il seguente Application.Intersect.
    Pubblicità
Metodo 3
Metodo 3 di 3:

Selezionare i Dati Contigui e Non Contigui di una Colonna

  1. 1
    Usa i seguenti dati di esempio per testare il codice descritto in questo metodo dell'articolo. La tabella di dati è stata fornita direttamente dalla Microsoft ed è utile per visualizzare il comportamento del codice di esempio:[2]
    A1: Nome B1: Fatturato C1: Quantità
    A2: a B2: 10 € C2: 5
    A3: b B3: C3: 10
    A4: c B4: 10 € C4: 5
    A5: B5: C5:
    A6: Totale B6: 20 € C6: 20
  2. 2
    Seleziona l'ultima cella di un intervallo di dati contiguo memorizzato all'interno di una colonna. Prendendo come riferimento la tabella di esempio, il codice fornito di seguito selezionerà la cella "A4":
    ActiveSheet.Range("A1").End(xlDown).Select
    
  3. 3
    Seleziona la prima cella vuota collocata dopo un intervallo di dati contiguo memorizzato all'interno di una colonna. Prendendo come riferimento la tabella di esempio, il codice fornito di seguito selezionerà la cella "A5":
    ActiveSheet.Range("A1").End(xlDown).Offset(1,0).Select
    
  4. 4
    Seleziona l'intervallo di celle contigue presenti in una colonna. Prendendo come riferimento la tabella di esempio, entrambe le istruzioni riportate di seguito selezioneranno l'intervallo di celle "A1:A4":
    ActiveSheet.Range("A1", ActiveSheet.Range("A1").End(xlDown)).Select
    
    ActiveSheet.Range("A1:" & ActiveSheet.Range("A1").End(xlDown).Address).Select
    
  5. 5
    Seleziona l'intero intervallo di celle non contigue presenti in una colonna. Prendendo come riferimento la tabella di esempio, entrambe le istruzioni riportate di seguito selezioneranno l'intervallo di celle "A1:A6":
    ActiveSheet.Range("A1",ActiveSheet.Range("A65536").End(xlUp)).Select
    
    ActiveSheet.Range("A1",ActiveSheet.Range("A65536").End(xlUp)).Select
    
    Pubblicità

Consigli

  • Normalmente, gli elementi "ActiveSheet" e "ActiveWorkbook" delle istruzioni si possono omettere se il foglio o la cartella di lavoro attivi sono impliciti.
Pubblicità

Informazioni su questo wikiHow

Lo Staff di wikiHow
Co-redatto da:
Staff di wikiHow - Redazione
Questo articolo è stato scritto in collaborazione con il nostro team di editor e ricercatori esperti che ne hanno approvato accuratezza ed esaustività.

Il Content Management Team di wikiHow controlla con cura il lavoro dello staff di redattori per assicurarsi che ogni articolo incontri i nostri standard di qualità. Questo articolo è stato visualizzato 6 490 volte
Categorie: Programmazione
Pubblicità