Great code but wondered how I can paste values rather than just paste?
Thanks :)
Por exemplo, você tem uma planilha grande e agora deseja apenas copiar alguns intervalos selecionados e distribuí-la para outras planilhas. Mas quando você seleciona os vários intervalos e clica em copiar, haverá uma caixa de diálogo de prompt para lembrá-lo “Esse comando não pode ser usado em várias seleções”. Nessa condição, como você copia rapidamente vários intervalos selecionados? Aqui estão alguns truques para você resolver essa tarefa.
Com a ajuda de prancheta, você pode colar todos os intervalos selecionados em outro intervalo ou planilha de uma vez. Faça o seguinte:
1. Clique Página Inicial > no prancheta grupo para exibir o prancheta Pão.. Veja a imagem:
2. Em seguida, copie os intervalos selecionados de que você precisa, um por um. Ao mesmo tempo, os intervalos copiados foram exibidos no prancheta Pão. veja a imagem acima:
3. Selecione a primeira célula do intervalo de destino em que você colará todos os intervalos copiados e clique em Colar tudo botão no prancheta Painel.
E então todos os intervalos copiados foram colados no intervalo de destino especificado.
Pode ser tedioso combinar dezenas de planilhas de pastas de trabalho diferentes em uma única planilha. Mas com Kutools para Excel's Combine (planilhas e pastas de trabalho) utilitário, você pode fazer isso com apenas alguns cliques!
Avaliação gratuita de recursos completos por 30 dias!
Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Teste gratuito completo por 30 dias, sem necessidade de cartão de crédito! Get It Now
Com o código VBA, você também pode copiar vários intervalos selecionados e colá-los em qualquer outra planilha.
1. Segurando o Ctrl e selecione vários intervalos não adjacentes que deseja usar.
2. pressione outro + F11 chaves ao mesmo tempo para abrir o Microsoft Visual Basic para aplicativos janela, clique em inserção > Móduloe insira o seguinte código no módulo:
Option Explicit Sub CopyMultipleSelection () Dim SelAreas () As Range Dim PasteRange As Range Dim UpperLeft As Range Dim NumAreas As Integer, i As Integer Dim TopRow As Long, LeftCol As Integer Dim RowOffset As Long, ColOffset As Integer Dim NonEmptyCellCount As Integer 'Sair se um intervalo não for selecionado If TypeName (Selection) <> "Range" Then MsgBox "Selecione o intervalo a ser copiado. Uma seleção múltipla é permitida." Exit Sub End If 'Armazena as áreas como objetos Range separados NumAreas = Selection.Areas.Count ReDim SelAreas (1 Para NumAreas) For i = 1 Para NumAreas Defina SelAreas (i) = Selection.Areas (i) Next' Determine o canto superior esquerdo célula na seleção múltipla TopRow = ActiveSheet.Rows.Count LeftCol = ActiveSheet.Columns.Count For i = 1 Para NumAreas If SelAreas (i) .Row <TopRow Then TopRow = SelAreas (i) .Row If SelAreas (i) .Column <LeftCol Then LeftCol = SelAreas (i) .Column Next Set UpperLeft = Cells (TopRow, LeftCol) 'Obtenha o endereço de colagem On Error Resume Next Set PasteRange = Application.InputBox _ (Prompt: = "Especifique a célula superior esquerda para a pasta range: ", _ Title: =" Copy Multiple Selection ", _ Type: = 8) On Error GoTo 0 'Exit if cancelled If TypeName (PasteRange) <>" Range "Then Exit Sub' Certifique-se de que apenas a célula superior esquerda é usado Set PasteRange = PasteRange.Range ("A1") 'Verificar intervalo de colagem para dados existentes NonEmptyCellCount = 0 For i = 1 To NumAreas RowOffset = SelAreas (i) .Row - TopRow ColOffset = Sel Areas (i) .Column - LeftCol NonEmptyCellCount = NonEmptyCellCount + _ Application.CountA (Range (PasteRange.Offset (RowOffset, ColOffset), _ PasteRange.Offset (RowOffset + SelAreas (i) .Rows.Count - 1, _ ColOffset + SelA (i) .Columns.Count - 1))) Próximo i 'Se o intervalo de colagem não estiver vazio, avisa o usuário If NonEmptyCellCount <> 0 Then _ If MsgBox ("Overwrite existing data?", vbQuestion + vbYesNo, _ "Copiar Seleção Múltipla ") <> vbYes Then Exit Sub 'Copiar e colar cada área de i = 1 para NumAreas RowOffset = SelAreas (i) .Row - TopRow ColOffset = SelAreas (i) .Column - LeftCol SelAreas (i) .Copy PasteRange.Offset ( RowOffset, ColOffset) Next i End Sub
3. Em seguida, clique no botão Corrida botão para executar o código.
4. E agora especifique uma célula para colar os intervalos na abertura Copiar Seleção Múltipla caixa de diálogo e clique no OK botão. Veja a imagem:
O Copiar vários intervalos utilidade de Kutools for Excel pode ajudá-lo a copiar facilmente vários intervalos da planilha ativa. Faça o seguinte:
Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Teste gratuito completo por 30 dias, sem necessidade de cartão de crédito! Get It Now
1. Selecione os intervalos que deseja usar um por um, sem segurar o Ctrl chave e clique em Kutools > Copiar intervalos. Veja a imagem:
2. No Copiar vários intervalos caixa de diálogo, verifique Todos opção de Colar especial seção e clique no Ok button. Veja a imagem acima:
Observação: Se você deseja manter a altura da linha e largura da coluna como os intervalos originais, verifique Incluindo altura da linha opção e Incluindo a largura da coluna opção na caixa de diálogo Copiar intervalos múltiplos.
3. E especifique uma célula para colar os intervalos na seguinte caixa de prompt e clique no OK botão.
E agora todos os intervalos selecionados serão colados na célula especificada com a mesma altura de linha e largura de coluna das seleções originais.
Clique aqui para obter mais informações sobre o utilitário Copy Multiple Ranges
Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Teste gratuito completo por 30 dias, sem necessidade de cartão de crédito! Get It Now
Kutools para Excel oferece outro Combinar planilhas utilitário para copiar vários intervalos de muitas planilhas ou pasta de trabalho facilmente no Excel. Faça o seguinte:
Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Teste gratuito completo por 30 dias, sem necessidade de cartão de crédito! Get It Now
1. Clique Kutools Plus > Combinar.
2. Na caixa de diálogo Combinar Planilhas - Etapa 1 de 3 de abertura, verifique o Combine várias planilhas da pasta de trabalho em uma planilha opção, e clique no botão Próximo botão.
3. Na caixa de diálogo Combinar Planilhas - Etapa 2 de 3, faça o seguinte:
(1) Selecione a pasta de trabalho no Lista de cadernos seção e, em seguida, clique no procurar botão atrás de cada planilha para especificar o intervalo de cada planilha;
(2) Clique no Adicionar para adicionar outras pastas de trabalho das quais você copiará os intervalos e, a seguir, repita o procedimento acima (1) para especificar as faixas na pasta de trabalho adicionada.
(3) Clique no Terminar botão.
Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Teste gratuito completo por 30 dias, sem necessidade de cartão de crédito! Get It Now
4. Em seguida, uma caixa de diálogo Kutools para excel aparece e pede para salvar o cenário de combinação. Por favor clique no Sim botão ou Não botão conforme você precisa.
Até agora, todos os intervalos especificados de várias planilhas ou pastas de trabalho foram copiados e colados em uma nova pasta de trabalho.