copiare dati da alcune colonne di un file in un altro file

Anonimo
2018-12-19T08:51:00+00:00

Buongiorno,

avrei necessità di copiare delle colonne (esempio le colonne pari tipo B, D, F, H) in un altro file dove ho le colonne dispari già occupate da dati.

come posso fare in un unico passaggio senza copiare colonna per colonna?

grazie mille.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

1 risposta

Ordina per: Più utili
  1. Anonimo
    2018-12-19T18:03:19+00:00

    Ciao cchemical,

    avrei necessità di copiare delle colonne (esempio le colonne pari tipo B, D, F, H) in un altro file dove ho le colonne dispari già occupate da dati.

    come posso fare in un unico passaggio senza copiare colonna per colonna?

    Prova qualcosa del genere:

    ·         Alt+F11 per aprire l'editor di VBA

    ·         Alt+IM per inserire un nuovo modulo di codice

    ·         Nel nuovo modulo vuoto, incolla il seguente codice:

     '=========>>

    Option Explicit

    '--------->>

    Public Sub Tester()

        Dim srcWB As Workbook, destWB As Workbook

        Dim srcSH As Worksheet, destSH As Worksheet

        Dim srcRng As Range, rCol As Range

        Dim LRow As Long

        Dim CalcMode As XlCalculation

        Dim ViewMode As XlWindowView

        Const sFileSorgente As String = _

                                        "chemical20181219.xlsm"       '<<=== Modifica

        Const sFileDestinazione As String = _

                                   "cchemical2_20181219.xlsm"       '<<=== Modifica

        Const sFoglioSorgente As String = "FoglioX"          '<<=== Modifica

        Const sFoglioDestinazione As String = "FoglioY"     '<<=== Modifica

        Const sColonneSorgenti As String = _

                                                    "B:B,D:D,F:F,H:H"           '<<=== Modifica

        Const sColonneDestinazione As String = _

                                                   "A:A,C:C,E:E,G:G"             '<<=== Modifica

        Set srcWB = Workbooks(sFileSorgente)

        Set destWB = Workbooks(sFileDestinazione)

        Set srcSH = srcWB.Sheets(sFoglioSorgente)

        Set destSH = destWB.Sheets(sFoglioDestinazione)

        Set srcRng = srcSH.Range(sColonneSorgenti)

        With Application

            CalcMode = .Calculation

            .Calculation = xlCalculationManual

            .ScreenUpdating = False

        End With

        For Each rCol In srcRng.Columns

            With rCol

                .Copy Destination:=destSH.Range(.Address(0, 0)).Cells(1). _

                                   Offset(0, -1)

            End With

        Next rCol

    XIT:

        With Application

            .Calculation = CalcMode

            .ScreenUpdating = True

        End With

    End Sub

    '<<========= 

    ·         Alt+Q per chiudere l'editor di VBA e tornare a Excel

    ·         Salva il file con l’estensione xlsm

    ·         Alt+F8 per aprire  la finestra di gestione delle macro

    ·         Seleziona Tester 

    ·         Esegui

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento