Notifications
Clear all

macro dando problemas no copiar

5 Posts
2 Usuários
0 Reactions
1,019 Visualizações
(@fabio-rs)
Posts: 0
New 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
 
Postado : 29/03/2017 12:40 pm
(@syrax)
Posts: 0
New 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

 
Postado : 29/03/2017 3:06 pm
(@fabio-rs)
Posts: 0
New 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.

 
Postado : 30/03/2017 12:10 pm
(@syrax)
Posts: 0
New 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

 
Postado : 30/03/2017 7:29 pm
(@fabio-rs)
Posts: 0
New 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

 
Postado : 31/03/2017 1:51 pm