Notifications
Clear all

Copiar e colar dados em outra Plan bloqueada

12 Posts
2 Usuários
0 Reactions
1,512 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Bom dia,

Tendo eu uma planilha chamada "Controle Interno.xlsm" onde tambem nesta eu precisaria copiar dados de uma determinada ABA e colar atraves de Macro os dados coletados em que outra Planilha de Nome "Lojista - Matriz".
Sendo assim todas as vezes que a Tabela em "Controle Interno" fosse atualizada, eu poderia acionar a Macro a ser criada nesta ABA, ao qual uma de suas Abas em Planilha "Lojista - Matriz.xlsm" se encontra com uma de suas ABAS ocultas com a propriedade:

Visible 2 - xlSheetVeryHidden

Porem a Planilha de Nome "Controle Interno" na ABA "ATUALIZAR", quando acionada a sua Macro, iria inserir os dados atualizados das Celulas X,Y e Z ( conforme selecao usada ) na Aba "PROGRESSIVA" da planilha "Lojista - MATRIZ", conforme a seguir:

1- Teria que fazer reaparecer a Aba Progressiva usando ( Visible -1 - xlSheetVeryHidden )
2- colar os dados
3- Ocultar novamente a aba Progressiva ( Visible 2 - xlSheetVeryHidden )

Bem é isso ai.

Grato

 
Postado : 23/01/2016 8:57 am
(@mprudencio)
Posts: 2749
Famed Member
 

Se a proteção é so aba oculta

sheets("aba).visible = xlSheetVisible

seu codigo

sheets("aba).visible = xlSheetVeryHidden

Em resumo exibe a aba que vc precisa, executa todos os comandos necessarios, e oculta novamente.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 23/01/2016 10:07 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Oi MPrudencio.

Eu queria uma macro que ainda nao existe que execute o trabalho, para isso em anexo segue a Planilha 1 com a aba TEste que ao ser usada e modificado seus velores, tenha o Botao Atualizar. Este sera responsavel em atualizar os valores de outra Planilha de nome "Planilha 2", porem esta se encontra com uma aba de nome "ATUALIZAR" ao qual nao deixei oculta, mas que deverá estar oculta no VB depois de feita a atualizacao,

Eu preciso que esta ABa ATUALIZAR seja atualizada , conforme os dados que agora estao atualizados na PLANILHA 1. Para isso eu acredito que como ela deverá estar oculta pelo VB - sheets("aba).visible = xlSheetVeryHidden, se torne necessario um comando de desocultar .

OBS: Eu nao quero abrir esta Planilha 2, pois quero fazer tudo pela Planilha 1, somente quero atualizar uma das abas ( ATUALIZAR ) da Planilha 1, caso eu aperte o Botao da Macro, em Planilha 1.
Entao para isso eu acredito que sera preciso abrir a mesma e depois fechar.

Segue em anexo

 
Postado : 23/01/2016 2:10 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Se elas sao exatamente iguais pq fazer isso pelo vba e nao diretamente na plan2 programação desnecessaria...mas

Tente isso

Sub Atualiza()

Selection.CurrentRegion.Select
Selection.Copy
Workbooks.Open Filename:= _
"C:PLANILHA 2.xlsm" 'informe o caminho de seu arquivo
Sheets("ATUALIZAR").Visible = xlSheetVisible
ActiveSheet.Paste
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Range("A1:K2").Select
Sheets("ATUALIZAR").Visible = xlSheetVeryHidden
ActiveWorkbook.Save
ActiveWindow.Close
Range("A1:K2").Select
End Sub

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 23/01/2016 3:45 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Não São iguais, esse e so um modelo basico do basico , que não tem nada a ver com meu projeto mas a ideia sim.
Uma tabela e interna e outra externa as lojas, porem compartilham os mesmos valores. Eu recebo a da loja tiro o pedido na interna, dai os valores São iguais. Entao bastaria apenas atualizar os precos na interna para que a externa atualizasse tb.

 
Postado : 23/01/2016 8:50 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Iguais em formato numero de linhas e dados (nao valores)

Se sao diferentes no formato principalmente o codigo vai dar erro.

Neste caso disponibilize seu modelo IDENTICO ao que vc usa se nao conseguir ajustar o codigo.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 23/01/2016 9:35 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Bom dia Mprudencio, vou testar e daqui a pouco eu falo se funcinou.

 
Postado : 24/01/2016 5:06 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

MPrudencio cheguei a isso aqui e esta OK, so falta agora chamar a Macro que esta dentro da Planilha Lojista Matriz, e depois disto fechar a A Planilha Lojista Matriz ficando aberta somente a Planilha Tabela Interna Janeiro.

Tenho 2 situacoes aqui ocorrendo.

1 - Se eu executar esta macro abaixo dentro da Planilha Tabela Interna Janiero, faz-se tudo correto inclusive fecha Ok a Planilha Lojista Matriz,
2- Como faço agora para rodar a planilha em Lojista Matriz estando eu ainda rodando a Macro da tabela anterior ?

tentei algumas coisa que deram erradas

Sub B5_Atualizar_Tabela_Lojistas()

'Workbooks.Open Filename:="C:UsersAndreDesktopPedidos GauerTabela InternaLojista Matriz.xlsm"

Dim Planilha  As String
Sheets("RESUMO").Visible = True
Sheets("RESUMO").Select
Sheets("MENU").Visible = False
Planilha = Range("H6").Value

Sheets("ATUALIZAR").Visible = True
Sheets("ATUALIZAR").Activate
    
Workbooks.Open Filename:= _
"C:UsersAndreDesktopPedidos GauerTabela InternaLOJISTA MATRIZ.xlsm" 'informe o caminho de seu arquivo
Sheets("PROGRESSIVA").Visible = xlSheetVisible

Windows("LOJISTA MATRIZ.xlsm").Activate
Sheets("PROGRESSIVA").Select
Worksheets("PROGRESSIVA").Unprotect "1234"

Windows("Tabela Interna Janeiro.xlsm").Activate
Sheets("ATUALIZAR").Activate
    Range("D3:M14").Select
    Selection.Copy

Windows("LOJISTA MATRIZ.xlsm").Activate
Sheets("PROGRESSIVA").Select
Range("P3").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
    
    Windows("Tabela Interna " & [Planilha] & ".xlsm").Activate
    Range("D16:M19").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("LOJISTA MATRIZ.xlsm").Activate
    Sheets("PROGRESSIVA").Select
Range("P16").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Windows("Tabela Interna " & [Planilha] & ".xlsm").Activate
    Range("D21:M35").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("LOJISTA MATRIZ.xlsm").Activate
    Sheets("PROGRESSIVA").Select
Range("P21").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Windows("Tabela Interna " & [Planilha] & ".xlsm").Activate
    Range("D37:M45").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("LOJISTA MATRIZ.xlsm").Activate
    Sheets("PROGRESSIVA").Select
Range("P37").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
        Worksheets("PROGRESSIVA").Protect "1234"

Sheets("PROGRESSIVA").Visible = xlSheetVeryHidden
Sheets("AVISO").Select
  
 '-------------------------------------------------------------
    Windows("LOJISTA MATRIZ.xlsm").Activate
   ' Run "Salvar"
   ' Application.Run "LOJISTA MATRIZ.xlsm!Salvar"

    Windows("Tabela Interna " & [Planilha] & ".xlsm").Activate
 '--------------------------------------------------------------
 

'ActiveWorkbook.Save
ActiveWindow.Close

Sheets("MENU").Visible = True
Sheets("ATUALIZAR").Visible = False
Sheets("RESUMO").Visible = False
Sheets("MENU").Activate


End Sub
 
Postado : 24/01/2016 10:32 am
(@mprudencio)
Posts: 2749
Famed Member
 

Nao entendi vc quer trabalhar em outra planilha enquanto atualiza a tabela????????????

Essa atualização demora tanto assim???

Acho que enquanto o Excel estiver ocupado com uma execução não seja possivel executar outras tarefas.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 24/01/2016 12:40 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Eu tenho algumas macros que dentro delas existe uma rotina Run " " que executa uma outra macro, porem na mesma planilha, quero somente o mesmo so que vai rodar uma macro numa outra planilha fechar a mesma e retornar para terminar a que estava em execucao. E que assim eu atualizo uma unica vez 2 planilhas diferentes.

 
Postado : 24/01/2016 1:54 pm
(@mprudencio)
Posts: 2749
Famed Member
 

E so chamar a rotina no momento certo como vc faz com as outras.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 24/01/2016 2:47 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Ola, resolvi deixar como esta , a ajuda do Mprudencio foi excelente, dai consegui atualizar a tabela, externa. Depois manualmente ripodo a macro da planilha que foi atualizada. Melhor assim.

Ate a proxima dica.

Andre

 
Postado : 30/01/2016 5:28 am