Copie dados de uma tabela no Excel e cole-os em outra

0

Estou tentando selecionar alguns dados de uma pasta de trabalho do Excel, copiá-los e colá-los em outro. Mas quando executo meu código em VBA, simplesmente não faz nada.

O código pode ser visto abaixo:

Sub foo3()
Dim x As Workbook
Dim y As Workbook
Dim vals As Variant

'## Open both workbooks first:
Set x = Workbooks.Open("<Path of the origin\Archive.xslm>")
Set y = Workbooks.Open("<Destination Path\Archive1.xslm>")

'Store the value in a variable:
vals = x.Sheets("Plan1").Range("A1").Value

'Use the variable to assign a value to the other file/sheet:
y.Sheets("Plan1").Range("A1").Value = vals

'Close x:
x.Close
y.Close

End Sub

Alguém poderia me ajudar a encontrar a solução para isso? Obrigada!

    
por Matheus Danella 15.08.2016 / 19:12

2 respostas

0

Substitua Livre-se do seu código:

Set x = Workbooks.Open("")

Diretamente da célula do seu livro de destino que está aberto:

='C:\Users\youtheuser\Desktop\[bookC.xlsx]Sheet1'!$A$1


ou dinâmico

='C:\Users\youtheuser\Desktop\[bookC.xlsx]Sheet1'!A1

É tudo o que existe para isso!

    
por 17.08.2016 / 04:57
0

O Excel possui um recurso de gravação de macro integrado que gera código VBA com base em suas ações. Sua melhor aposta na depuração desse problema é gravar uma macro de você 'manualmente' fazendo o que você está tentando fazer no VBA e subseqüentemente revisando o código que é gerado.

Sempre verifique se a macro gravada realmente faz o que você estava fazendo - não é 100% preciso.

Se a macro gerada estiver sendo executada, você poderá revisar o código para ela no editor de VBA da pasta de trabalho na qual cria a macro. Observe que ela não precisa ser uma das duas. pastas de trabalho de interesse em seu extrato de código, pode ser outra planilha que não tenha relação com elas.

Com base em como o código gerado automaticamente é gravado, você poderá ver o problema com seu próprio código. Se não, você pode sempre usar isso como está (mova-o para sua função em vez de para a macro).

Você pode encontrar qualquer número de guias sobre a gravação de macros. Aqui está um guia direto para o Excel 2013.

    
por 16.08.2016 / 04:59