Ir ao conteúdo
  • Cadastre-se
AdrianoKbcao

Excel macro vba copia colar valores

Recommended Posts

Olá pessoal,

Estou tentando criar um macro que entre outras coisas, copia e cola os dados de uma planilha matriz em outra mais simples. Como os valores são puxados por fórmulas (procv, índice, etc.) criei um passo a mais apenas para copiar e colar os valores em outras células, assim quando mandar a planilha por email para alguém por exemplo, não retornará erro nas células por não enviar a planilha matriz junto.

Estou a 3 dias mexendo nessa planilha e parece que ela está fazendo tudo que quero, exceto copiar e colar os valores.

Não sei o que acontece, se crio um macro simples só pra testar copiar e colar valores, funciona, mas quando uso nesta pasta do excel, não funciona.

A rotina em questão é essa:

 

Range("L6").Select
    Selection.Copy
    Range("S6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

 

O macro completo é esse:

 

' Macro8 Macro
'

'
    
    Sheets("Pedido de Compras").Visible = True
    Columns("J:AC").Select
    Range("AC1").Activate
    Selection.EntireColumn.Hidden = False
    Range("S6").Select
    Selection.ClearContents
    Range("U6").Select
    Selection.ClearContents
    Range("W6").Select
    Selection.ClearContents
    Range("X9:AB16").Select
    Selection.ClearContents
    Range("L6").Select
    Selection.Copy
    Range("S6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("N6").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P6").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R9:V16").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("X9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("K:AB").Select
    Range("AB1").Activate
    Selection.EntireColumn.Hidden = True
    Range("A8:C8").Select
    Application.CutCopyMode = False

  Sheets("Controle PC").Select
    Columns("A:AC").Select
    Range("AC1").Activate
    Selection.EntireColumn.Hidden = False
    
    Dim Nome As String
    Nome = Worksheets("Controle PC").Range("J1")
    Sheets("Pedido de Compras").Select
    Sheets("Pedido de Compras").Copy
     ActiveWorkbook.SaveAs Filename:= _
        ThisWorkbook.Path & "\PC" & Nome & ".xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    Windows("Controle de Pedidos de Compra.xlsm").Activate
    Sheets("Pedido de Compras").Select
    Sheets("Pedido de Compras").Visible = False
    'ActiveWindow.SelectedSheets.Visible = False
    Sheets("Controle PC").Select
     Columns("N:P").Select
    Selection.EntireColumn.Hidden = True
    Range("A4").Select
    
End Sub

 

Reparem que até acrescentei uns passos para deletar os dados das células antes de colar nela, caso o problema fosse que não pudesse "sobrescreve-las"

 

Planilha em anexo, caso ajude.

 

Por favor me ajudem.

Grato

 

 

 

 

Controle de Pedidos de Compra.rar

adicionado 52 minutos depois

Descobri o problema pelo Depurador. Quando eu exibia a planilha oculta, o excel não estava selecionando-a. o que achei estranho pois essa parte da programação o excel devia ter feito sozinho (criei o macro pelo excel e editei pelo vba as partes que precisava).

 

então bastou acrescentar algo assim na segunda linha:

 

Sheets("Controle PC").Select

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma boa dica p/ você copiar e colar tabelas é transformar sua lista numa tabela nomeada reconhecida pelo Excel, com isso fica mais fácil gerar um código p/ copiar e colar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×