Compilazione automatica con una macro - Esempi di codice VBA

Compilazione automatica in VBA

Questo articolo illustra come utilizzare il riempimento automatico in VBA.

Il riempimento automatico è un ottimo strumento in Excel quando i dati sono ripetitivi o sequenziali (come giorni della settimana, date, mesi dell'anno, ecc.). Normalmente riempiremmo la prima coppia di celle con i dati richiesti, quindi utilizzeremmo il riempimento automatico per copiare i dati richiesti in un intervallo selezionato.

Tutto questo può essere fatto usando una macro VBA.

Compilazione automatica utilizzando numeri incrementali

Innanzitutto, nel nostro codice, possiamo dichiarare due variabili Range.

Selezione1 è l'intervallo con i dati da compilare automaticamente, ad esempio 1 e 2.

Selezione2 è il intero intervallo per il riempimento automatico, questo include il primo intervallo più gli spazi vuoti per il riempimento automatico.

Utilizziamo quindi il metodo di riempimento automatico per riempire il secondo intervallo di selezione.

123456789101112131415 Public Sub MyAutoCompilazione()"da easyexcel.net""Dichiara variabili di intervallo"Selezione attenuazione1 come intervalloSelezione dim2 come intervallo'Imposta variabili di intervallo = i rispettivi intervalliImposta selezione1 = Foglio1.Intervallo("A1:A2")Imposta selezione2 = Foglio1.Intervallo("A1:A12")"Compilazione automatica"selezione1.Riempimento automatico Destinazione:=selezione2Fine sottotitolo

Possiamo quindi eseguire la macro su Intervallo di riempimento automatico (A1: A12).

Quando utilizziamo il metodo di riempimento automatico, possiamo selezionare il tipo di riempimento automatico che desideriamo eseguire. Nell'esempio sopra, non abbiamo specificato il tipo di Compilazione automatica, il che significa che è stato utilizzato il tipo predefinito, in questo caso, incrementando i numeri di 1 su ciascuna riga.

Compilazione automatica utilizzando i mesi

La macro per il riempimento automatico utilizzando i mesi è quasi identica a quella utilizzata per incrementare i numeri, con un'importante eccezione.

1234567891011 Compilazione automatica secondaria pubblicaMesi()"da easyexcel.net""Dichiara variabili di intervallo"Selezione attenuazione1 come intervalloSelezione dim2 come intervallo'Imposta variabili di intervallo = i rispettivi intervalliImposta selezione1 = Foglio1.Intervallo("A1:A2")Imposta selezione2 = Foglio1.Intervallo("A1:A12")"Compila automaticamente i mesi"Destinazione riempimento automatico:=selezione2, Tipo:=xlFillMesiFine sottotitolo

Quando compiliamo il tipo di riempimento automatico, ci viene fornito un numero di costanti di Excel tra cui scegliere. Se lo tralasciamo, Excel determinerà il tipo di dati da compilare dai dati originali forniti.

Excel è in grado di raccogliere serie standard come mesi, giorni della settimana e numeri incrementali senza la necessità di utilizzare l'argomento Tipo.

Compilazione automatica utilizzando xlFillCopy

Se vogliamo usare una macro di riempimento automatico per copiare le informazioni su nuove celle, possiamo usare la xlFillCopy Constant.

1234567 Compilazione automatica secondaria pubblica ()Dim Selection1 come intervalloDim Selection2 come intervalloImposta Selezione1 = Foglio1.Intervallo("A1:A1")Imposta Selezione2 = Foglio1.Intervallo("A1:A12")Selezione1.Riempimento automatico Destinazione:=Selezione2, Tipo:=xlFillCopyFine sottotitolo

L'esecuzione di questa macro copierebbe i dati in Range ("A1") fino a Range ("A1: A12") anziché riempire automaticamente le celle con i mesi successivi da "Jan".

Compilazione automatica utilizzando xlFlashFill

Quando abbiamo bisogno di convertire il testo in colonne in Excel, possiamo utilizzare l'opzione text to columns oppure possiamo usare un'opzione chiamata Flash Fill. Questo è estremamente utile in VBA.

Prendiamo ad esempio i seguenti dati:

Possiamo digitare il cognome "Tolley" nella cella B2 e quindi utilizzare una macro per Flashfill il resto dei dati.

1234567 Sub FlashFill()Dim Selection1 come intervalloDim Selection2 come intervalloImposta Selezione1 = Intervallo("B2:B2")Imposta Selezione2 = Intervallo("B2:B15")Selezione1.Riempimento automatico Destinazione:=Selezione2, Tipo:=xlFlashFillFine sottotitolo

Possiamo quindi ripetere queste colonne C, D ed E per ottenere i dati rimanenti.

1234567891011 Imposta Selezione1 = Intervallo("C2:C2")Imposta Selezione2 = Intervallo("C2:C15")Selezione1.Riempimento automatico Destinazione:=Selezione2, Tipo:=xlFlashFillImposta Selezione1 = Intervallo("D2:D2")Imposta Selezione2 = Intervallo("D2:D15")Selezione1.Riempimento automatico Destinazione:=Selezione2, Tipo:=xlFlashFillImposta Selezione1 = Intervallo ("E2:E2")Imposta Selezione2 = Intervallo("E2:E15")Selezione1.Riempimento automatico Destinazione:=Selezione2, Tipo:=xlFlashFill

Ogni colonna si riempirà quindi con i dati appropriati in base al valore nella riga 2.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave