Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
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