- Os códigos de exemplo serão copiados para uma planilha de banco de dados com o nome Plan2.
- Cada vez que você executa uma das subs, as células serão colocadas abaixo da última linha com dados ou após a última coluna com dados na planilha2.
- Para cada exemplo, há uma macro que faz uma cópia normal e outra que é apenas Copiar os Valores.
- Os subs de exemplo usam as funções abaixo (as macros não funcionam sem as funções).
Lembre-se de que existem apenas 256 colunas no 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 = Folhas ("Folha2"). Colunas (Lc) sourceRange.Copy destrange End Sub Sub CopyColumnValues () Dim sourceRange As Range Dim destrange As Range Dim Lc As Integer Lc = Lastcol (Sheets ("Sheet2")) + 1 Definir sourceRange = Sheets ("Folha1"). Colunas ("A: A") Defina destrange = Folhas ("Folha2"). Colunas (Lc). _ Resize (, sourceRange.Columns.Count) destrange.Value = sourceRange.Value End Sub Função 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 Erro GoTo 0 End Função Função Lastcol (sh Como planilha) Em caso de erro, continuar próximo 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