Copia una colonna o colonne in un foglio di database utilizzando VBA in Microsoft Excel

Anonim
  • I codici di esempio verranno copiati in un foglio di database con il nome Sheet2.
  • Ogni volta che esegui uno dei sottotitoli, le celle verranno posizionate sotto l'ultima riga con i dati o dopo l'ultima colonna con i dati nel foglio2.
  • Per ogni esempio c'è una macro che fa una copia normale e una che è solo Copia i valori.
  • I sottotitoli di esempio utilizzano le funzioni seguenti (le macro non funzioneranno senza le funzioni).

Ricorda che ci sono solo 256 colonne in Excel

Sub CopyColumn() Dim sourceRange As Range Dim destrange As Range Dim Lc As Integer Lc = Lastcol(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Columns("A:A") Set destrange = Fogli("Foglio2").Columns(Lc) sourceRange.Copy destrange End Sub CopyColumnValues() Dim sourceRange As Range Dim destrange As Range Dim Lc As Integer Lc = Lastcol(Sheets("Sheet2")) + 1 Set sourceRange = Sheets ("Foglio1").Columns("A:A") Imposta destrange = Sheets("Foglio2").Columns(Lc). _ Resize(, sourceRange.Columns.Count) destrange.Value = sourceRange.Value End Sub Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ After:=sh .Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function Function Lastcol(sh As Worksheet) On Error Resume Next Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder: =xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column On Error GoTo 0 End Function