Página 1 de 1

Macro para copiar ou importar dados e colar em outra planilh

Enviado: 28 Jul 2016 às 23:29
por CVasconcellos
Boa noite,

Preciso criar uma macro para que eu copie ou importe os dados da aba "ENTRADA DE NF" da planilha ESTOQUE - CENTRO1 e cole valores
na aba "importação" da planilha consolidação.
Agora tenho algumas situações que contemplar:
1 - Tenho 69 centros e com isto tenho que importar 69 abas de "ENTRADA DE NF" e todas são bloqueadas com mesma senha. No meu exemplo coloquei com senha 123, porém as planilhas tem a mesma senha;
2 - Não tenho como ficar abrindo todas as planilhas e ficar copiando uma por uma. Preciso que elas sejam copiadas ou importadas apenas eu clicando uma vez na planilha ESTOQUE - CENTROXX o dado da aba ENTRADA DE NF seja copiada automaticamente e colado na aba importação da planilha consolidação;
3 - Outro ponto importante é que a planilha ESTOQUE - CENTROXX nunca é salva na aba "ENTRADA DE NF", a mesma pode estar slava em qualquer aba, porém sempre que copiar ou importar a aba "ENTRADA DE NF" e colar na planilha consolidação na aba importação.

Obrigado pela ajuda

Re: Macro para copiar ou importar dados e colar em outra pla

Enviado: 29 Jul 2016 às 09:09
por alexandrevba
Bom dia!!

Tente algo assim..
Código: Selecionar todos
Sub Import_to_Master()
'Importa dados de varias guias de varios arquivos para um arquivo
    Dim sFolder As String
    Dim sFile As String
    Dim wbD As Workbook, wbS As Workbook

    Application.ScreenUpdating = False
    Set wbS = ThisWorkbook
    sFolder = wbS.Path & "C:\Users\AleVBA\Downloads\"

    sFile = Dir(sFolder)
    Do While sFile <> ""
        If sFile <> wbS.Name Then
            Set wbD = Workbooks.Open(sFolder & sFile) 'Abre arquivo; Adiciona condição
            wbD.Sheets("ENTRADA DE NF").Range("A5:N72").Copy
            wbS.Activate
            Sheets("Importação").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
            Application.CutCopyMode = False
            wbD.Close savechanges:=True 'Fecha sem salvar
        End If
        sFile = Dir 'Próximo arquivo
    Loop
    Application.ScreenUpdating = True
End Sub
Obs: Eu não testei o código para seu caso, além disso esteja certo de que os arquivos estão no mesmo diretório.

Outra coisa, favor ler as regras do fórum e indicar as postagens cruzadas!
http://www.planilhando.com.br/forum/vie ... 9e68a0bd63

Att

Re: Macro para copiar ou importar dados e colar em outra pla

Enviado: 30 Jul 2016 às 17:24
por CVasconcellos
Alexandrevba, boa tarde,

A macro esta com dando problema nesta parte "sFile = Dir(sFolder)".
Outro ponto é tenho 69 unidades para copiar estes dados e os arquivos ficam na rede em pastas diferentes, pois são unidades fabris diferentes.
Teria como fazer uma macro puxar todos estes dados em sequência.
Ex.: Tem a planilha Consolidação que realizará este trabalho de importação.
As 69 planilhas ficam da seguinte forma
1 - C:\Users\carlosaov\servidor1\pasta1\ESTOQUE - CENTRO1
2 - C:\Users\carlosaov\servidor1\pasta2\ESTOQUE - CENTRO2
3 - C:\Users\carlosaov\servidor1\pasta3\ESTOQUE - CENTRO3
........
69 - C:\Users\carlosaov\servidor1\pasta69\ESTOQUE - CENTRO69
Então ai vai automaticamente em cada local da rede puxa o dado informado na macro e importa (copia) os dados para a planilha consolidação.
Somente o que continua é que a aba a ser importada é sempre a mesma "ENTRADA DE NF"
E a aba que recebe a importação da planilha Consolidação

Re: Macro para copiar ou importar dados e colar em outra pla

Enviado: 01 Ago 2016 às 16:10
por alexandrevba
Boa tarde!!

Você consegue acessar os arquivos das outras redes?

Qual versão e arquitetura do office você usa?

Att

Re: Macro para copiar ou importar dados e colar em outra pla

Enviado: 02 Ago 2016 às 00:21
por CVasconcellos
Boa noite,

Você consegue acessar os arquivos das outras redes?
Todas as redes são abertas para o meu acesso.

Qual versão e arquitetura do office você usa?
O Office que utilizo é o 2013

Re: Macro para copiar ou importar dados e colar em outra pla

Enviado: 02 Ago 2016 às 08:35
por alexandrevba