Sommario
Quando abbiamo bisogno di copiare e incollare qualsiasi dato in Microsoft Excel, abbiamo a disposizione diversi strumenti di scelta rapida e barra multifunzione in Excel. VBA Anche le Macro dispongono di questa funzione piuttosto che le opzioni della cartella di lavoro. Discuteremo la VBA Incolla speciale valori e formati in Excel.
Scarica il quaderno di esercizi
Scaricate questo quaderno di esercizi per esercitarvi durante la lettura di questo articolo.
Valori e formati con PasteSpecial.xlsm
9 esempi per copiare valori e formati con lo speciale Incolla in Excel VBA
In questo articolo discuteremo 9 metodi con Macro VBA per Incolla speciale valori e formato in Excel.
A tal fine considereremo il set di dati riportato di seguito.
1. Applicare InputBox in VBA Incolla speciale per copiare valori e formati
In questo esempio si utilizzerà l'opzione InputBox per Incolla speciale .
Fase 1:
- Vai al sito Sviluppatore scheda.
- Fare clic su Macro di registrazione .
- Set Excel_Incolla_Speciale_1 come il Nome della macro .
- Quindi premere OK .
Fase 2:
- A questo punto, fare clic sul pulsante Macro comando.
- Selezionare la voce Macro e poi premere Entrate in casa .
Fase 3:
- Copiare e incollare il seguente codice nel modulo di comando.
Sub Excel_Incolla_Speciale_1() Dim Copia_Cella Come Intervallo, Incolla_Cella Come Intervallo xTitoloId = "Foglio_Salario" Set Copia_Cella = Application.Selection Set Copia_Cella = Application.InputBox("Seleziona l'intervallo da copiare:", xTitoloId, Copia_Cella.Indirizzo, Tipo:=8) Set Incolla_Cella = Application.InputBox("Incolla in una cella vuota qualsiasi:", xTitoloId, Tipo:=8) Copia_Cella.Copia Incolla_Cella.Parent.Attiva Incolla_Cella.IncollaSpecialexlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub
Passo 4:
- Stampa F5 per eseguire il codice.
- Verrà visualizzata una nuova finestra di dialogo, nella quale selezionare l'intervallo di origine.
- Quindi premere OK .
Passo 5:
- Viene visualizzata un'altra finestra di dialogo. Scegliere un intervallo vuoto in cui incollare le celle copiate.
Ora guardate il set di dati.
Tutti i dati vengono copiati con valori e formati utilizzando l'opzione VBA Incolla speciale .
Per saperne di più: Come applicare VBA PasteSpecial e mantenere la formattazione di origine in Excel
2. Inserire un intervallo di celle con valori e formati utilizzando xlPasteAllUsingSourceTheme in VBA Incolla speciale
Inseriamo l'intervallo di celle direttamente nel campo VBA codice in questa sezione.
Fase 1:
- Stampa Alt+F11 per accedere al modulo di comando.
- Inserite il seguente codice nel modulo di comando.
Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
Fase 2:
- Ora, premere F5 per eseguire il codice.
Questo xlPasteAllUsingSourceTheme copia l'esatto duplicato dei dati di origine.
Per saperne di più: Excel VBA: copiare il valore della cella e incollarlo in un'altra cella
3. Utilizzare una variabile VBA per inserire un intervallo di valori e formati utilizzando lo speciale incolla.
Verrà mostrato l'uso delle variabili nel VBA Incolla speciale codice qui.
Fase 1:
- Per prima cosa, entrare nel modulo di comando premendo Alt+F11 .
- Scrivete il codice seguente nel modulo di comando.
Sub Excel_Incolla_Speciale_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
Fase 2:
- Stampa F5 ed eseguire il codice.
Per saperne di più: Excel VBA: copiare un intervallo in un'altra cartella di lavoro
4. Usare xlPasteValues e xlPasteFormats per copiare valori e formati in un altro foglio, mantenendo inalterati i formati.
I metodi precedenti sono stati utilizzati per copiare e incollare i dati nello stesso foglio. Ora mostreremo come utilizzare l'opzione VBA Incolla speciale per fogli diversi.
Fase 1:
- Accedere al modulo di comando facendo clic su Alt+F11 e copiarvi il seguente codice.
Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormatsApplication.CutCopyMode = False Application.ScreenUpdating = True End Sub
Fase 2:
- Stampa F5 per eseguire il codice.
Si può notare che i dati del Dati_Set viene copiato in Foglio_diverso .
Per saperne di più: Come utilizzare VBA PasteSpecial per formule e formati in Excel (3 modi)
Letture simili
- Come copiare più celle in un altro foglio in Excel (9 metodi)
- Differenza tra Incolla e Incolla speciale in Excel
- Excel VBA per copiare dati da un'altra cartella di lavoro senza aprirla
- Come copiare e incollare in Excel mantenendo le dimensioni delle celle (7 esempi)
- Copia e incolla i valori nella riga vuota successiva con Excel VBA (3 esempi)
5. Utilizzare xlPasteFormats per incollare solo i formati
Nei metodi precedenti, abbiamo copiato tutti i dati e li abbiamo incollati senza alcuna modifica, ma in questa sezione copieremo solo il formato dei dati.
Fase 1:
- Passare al modulo di comando premendo Alt+F11 .
- Copiare e incollare il codice sottostante nel modulo di comando.
Sub Excel_Incolla_Speciale_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub
Fase 2:
- A questo punto, premere il tasto F5 ed eseguire il codice.
Guardate il set di dati: sono stati copiati solo i formati, non sono presenti valori.
Per saperne di più: Come copiare e incollare in Excel senza cambiare il formato
6. Usare xlPasteValues per incollare solo i valori
Possiamo copiare i valori solo utilizzando il metodo VBA Incolla speciale .
Fase 1:
- Stampa Alt+F11 per accedere al modulo di comando.
- Scrivete il seguente codice sul modulo di comando.
Sub Excel_Incolla_Speciale_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub
Fase 2:
- Fare clic su F5 ed eseguire il codice.
Notate il set di dati: qui vengono copiati solo i valori, mentre in questo metodo non vengono copiati i formati.
Per saperne di più: Come utilizzare VBA per incollare solo valori senza formattazione in Excel
7. Copiare e incollare tutto il contenuto di una singola cella
Nelle sezioni precedenti abbiamo copiato un intervallo di dati, mentre qui copieremo solo una singola cella.
Fase 1:
- Ora, premere Alt+F11 e accedere al modulo di comando.
- Digitare il seguente codice sul modulo.
Sub Excel_Incolla_Speciale_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
Fase 2:
- A questo punto, premere il tasto F5 per eseguire il codice.
Si può notare che qui viene copiata una singola cella e non un intervallo.
Per saperne di più: Formula per copiare e incollare valori in Excel (5 esempi)
8. Copiare e incollare tutti gli attributi di una determinata colonna con VBA
Come per una singola cella, possiamo copiare una singola colonna del set di dati.
Fase 1:
- È sufficiente premere il tasto Alt+F11 per accedere al modulo di comando.
- Scrivete il codice sottostante nel modulo.
Sub Excel_Incolla_Speciale_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Colonne("C") Set paste_rng = Colonne("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
Fase 2:
- Eseguite il codice premendo F5 .
Qui possiamo vedere che Colonna B viene copiato in Colonna E .
Per saperne di più: [Corretto]: Il tasto destro del mouse per copiare e incollare non funziona in Excel (11 soluzioni)
9. Copiare e incollare tutti gli attributi di una riga con Excel VBA
Allo stesso modo, possiamo copiare una singola riga utilizzando il metodo Incolla speciale .
Fase 1:
- Fare clic su Alt+F11 per accedere al modulo di comando.
- Copiare il seguente codice nel modulo di comando.
Sub Excel_Incolla_Speciale_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
Fase 2:
- Eseguite il codice premendo F5 .
Qui, Fila 4 viene copiato in Fila 11 .
Per saperne di più: Come copiare più righe in Excel utilizzando una macro (4 esempi)
Conclusione
In questo articolo abbiamo spiegato 9 metodi di VBA Incolla valori e formati speciali in Excel. Spero che questo possa soddisfare le vostre esigenze. Vi invitiamo a consultare il nostro sito web Exceldemy.com e date i vostri suggerimenti nella casella dei commenti.