Notifications
Clear all

macro dando problemas no copiar

5 Posts
2 Usuários
0 Reactions
1,038 Visualizações
(@fabio-rs)
Posts: 39
Trusted Member
Topic starter
 

Boa tarde, copiei este macro para outro arquivo e fiz as alterações e não esta funcionando, conferi todos com o outro que funciona e não sei mais o que fazer
o macro é para copiar apenas os valores de uma determinada quantidade de celulas, e não as formulas,
o comando está copiando tudo e eu gostaria de copiar apenas os valores (A1:H25)
o outro problema é que ele cria um novo arquivo mas não salva os dados no novo arquivo criado,
se o arquivo ja existir ele salva, mas quando cria, ele apenas cria e renomeia .

Dim i            As String
Dim nome
            
Application.ScreenUpdating = False
        
         
        'seleciona o relatorio  e marca para copiar
        Sheets("Plan1").cell.Copy
                      
         'activecell("A1:H25").copy.value
                      
                      
       'abre o arquivo que corresponde ao determinado na Célula C8
        i = Application.ActiveWorkbook.Path & "" & ThisWorkbook.Sheets("Paln1").Range("B2").Value & ".xlsx"
        If Dir(i) <> "" Then
        Workbooks.Open i
        Sheets.Add After:=Sheets(Sheets.Count)  ' Cria e Copia a seleção do arquivo relatório
        ActiveSheet.Paste.Value
        
                  
         Application.CutCopyMode = False
         nome = Range("H2").Value 'Pega o que está na célula H2
         ActiveSheet.Name = nome ' renomeia a planilha
           
         'fechandoo arquivo aberto e salvando
         ActiveWorkbook.Saved = False
         ActiveWorkbook.Close
Else
        wkb = Workbooks.Add  ' Cria o arquivo com o nome na mesma pasta
        wkb.SaveAs Filename:=i

        ActiveWorkbook.Saved = False
        ActiveWorkbook.Close

Sucesso

Fabio,
[email protected]

 
Postado : 29/03/2017 12:40 pm
Syrax
(@syrax)
Posts: 160
Estimable Member
 

Fabio,

a propriedade "cell" não existe

Sheets("Plan1").cell.Copy

existe, "cells"... se você só quer copiar o range "A1:H25" pode usar

Range("A1:H25").Copy

se você quer copiar apenas os valores, e não as fórmulas, vai ter que usar o "PasteSpecial"

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Veja se isso te ajuda

Sub teste()
Dim i As String
Dim nome

Application.ScreenUpdating = False

'seleciona o relatorio e marca para copiar
Range("A1:H25").Copy

'abre o arquivo que corresponde ao determinado na Célula C8
i = Application.ActiveWorkbook.Path & "" & ThisWorkbook.Sheets("Paln1").Range("B2").Value & ".xlsx"
If Dir(i) <> "" Then
Workbooks.Open i
Sheets.Add After:=Sheets(Sheets.Count) ' Cria e Copia a seleção do arquivo relatório
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Application.CutCopyMode = False
nome = Range("H2").Value 'Pega o que está na célula H2
ActiveSheet.Name = nome ' renomeia a planilha

'fechandoo arquivo aberto e salvando
ActiveWorkbook.Saved = False
ActiveWorkbook.Close
Else
wkb = Workbooks.Add ' Cria o arquivo com o nome na mesma pasta
wkb.SaveAs Filename:=i

ActiveWorkbook.Saved = False
ActiveWorkbook.Close
End If
End Sub

Não mexi em mais nada do seu código apenas isso

Se isso te ajudou, clique no "joinha" ao lado de citar

Se essa resposta te ajudou e resolveu o seu problema, clique no "joinha" ao lado de citar, e não esqueça de colocar o tópico como resolvido, clicando no ✓

 
Postado : 29/03/2017 3:06 pm
(@fabio-rs)
Posts: 39
Trusted Member
Topic starter
 

Syrax
o comando funcionou certo, estou enviando os arquivos e gostaria que vc testasse, está os comandos como eu havia feito e o Teste que vc enviou.
está funcionando , mas tem um detalhe que não me entendi ele copiou os valores corretos,e as formatações não , tem como manter as formatações e não copiar as formulas?
está é minha duvida,.
se puderes teste o comando que fiz que está no modulo 4 , o teste ficou no 5 ,
no modulo 4 ele copia mas copia tudo mesmo as formatações e macros, e no 5 apenas os valores como havia me expressado anteriormente.
no modulo 4 se não existir o nome cadastrado num arquivo XLS ele mesmo cria , tentei inserir o comando para após criar o novoarruivo e ele salvar mas também não estou conseguindo.
nas bibliografias que tenho do Bertolo, e nos videos que assisti do Trovato, para chegar até aqui, eles fornecem exemplos que funcionam com formulas de valores, quando tento inserir os testes que proponho , criar ou mesmo inserir após não estou conseguindo.
busco informações e pesquiso nestes materiais e internet e não estou conseguindo resolver.
se puderes teste os dois comandos e veja o que acontece, mude o nome ou valor da célula B6 e teste.
obrigado pela ajuda.

Sucesso

Fabio,
[email protected]

 
Postado : 30/03/2017 12:10 pm
Syrax
(@syrax)
Posts: 160
Estimable Member
 

Sempre tem um pórem ou uma variável que nunca é dita na primeira dúvida... Fabio leia o que você escreveu e tente decifrar, o projeto está em sua mente mas não na mente dos demais, ficou um pouco dificil de entender o que você precisa

Mas, pelo o que eu entendi, você precisa que a macro, copie os formatos também
e não as formulas

tentei inserir o comando para após criar o novoarruivo e ele salvar mas também não estou conseguindo.

Coloquei uma macro para salvar o arquivo com o nome que está na range H3

Veja se isso te ajuda

Se isso te ajudou, clique no "joinha" ao lado de citar

Se essa resposta te ajudou e resolveu o seu problema, clique no "joinha" ao lado de citar, e não esqueça de colocar o tópico como resolvido, clicando no ✓

 
Postado : 30/03/2017 7:29 pm
(@fabio-rs)
Posts: 39
Trusted Member
Topic starter
 

Syrax,
valeu novamente pelo apoio.
estou estudando mais e mais para me aperfeiçoar, buscando novos conhecimentos, mas com a ajuda que me destes matou a charada, OBRIGADO mesmo,
o projeto fico maravilhoso. na primeira vez que enviei as duvidas fiquei receoso mas agora ja estou sabendo , " quanto mais detalhes e se puder enviar junto o que estou desenvolvendo melhor".
acredito que logo estarei com menos duvidas , Obrigado mesmo

Sucesso

Fabio,
[email protected]

 
Postado : 31/03/2017 1:51 pm