Notifications
Clear all

Transferência de informação

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

estou desenvolvendo um controle e comecei com uma forma e agora está dando problemas, pois não estou conseguindo acertar o código:
quando peço para ele copiara a Célula F6 o mesmo copia com a formatação da planilha original ( tamanho e cor) gostaria apenas de copiar o valor e não estou conseguindo
copiara até ele copia mas com a formatação errada, podem me ajudar ,
se precisar encaminho o arquivo todo ,

Sub Macro4()

'InserirRegistros Macro
'Rotina para checar se já há registros para salvamento

Dim Nome             As Integer
Dim W                As Worksheet
Dim WCad             As Worksheet

Set W = Sheets("Recibo")
Set WCad = Sheets("Registros")

W.Select
Nome = Range("G11").Value

WCad.Select
WCad.Range("A2").Select

    Do While ActiveCell.Value <> ""
    ActiveCell.Offset(1, 0).Select
    If ActiveCell.Value = Nome Then
          
     W.Select
     Range("F6").Select
     Application.CutCopyMode = False
     Selection.Copy
          
     
     WCad.Select
     ActiveCell.Offset(0, 7).Select
     ActiveSheet.Paste
     Application.CutCopyMode = False
     ActiveSheet.Paste
     
     W.Select
     Selection.ClearContents
     Range("G11").Select
     Nome = ""
     
 

 
    MsgBox "Processo concluído", vbOKOnly, "Concluído"
    
    Application.ScreenUpdating = True
   
   
   
   End If

Loop
           
         ActiveWorkbook.Save
End Sub

Sucesso

Fabio,
[email protected]

 
Postado : 10/03/2017 12:59 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde Fabio,

Teste:

Sub Macro4()

    'InserirRegistros Macro
    'Rotina para checar se já há registros para salvamento
    
    Dim Nome As Integer
    Dim W As Worksheet
    Dim WCad As Worksheet
    
    Set W = Sheets("Recibo")
    Set WCad = Sheets("Registros")
    
    W.Select
    Nome = Range("G11").Value
    
    WCad.Select
    WCad.Range("A2").Select
    
    Do While ActiveCell.Value <> ""
        ActiveCell.Offset(1, 0).Select
        
        If ActiveCell.Value = Nome Then
        
            W.Select
            Range("F6").Select
            Selection.Copy
            
            WCad.Select
            ActiveCell.Offset(0, 7).Select
            
            'Trecho que mudei
            ActiveCell.PasteSpecial xlPasteValues
            
            Application.CutCopyMode = False
            
            W.Select
            Selection.ClearContents
            Range("G11").Select
            Nome = ""
            
            
            
            MsgBox "Processo concluído", vbOKOnly, "Concluído"
            
            Application.ScreenUpdating = True
            
        End If
    
    Loop
    
    ActiveWorkbook.Save
    
End Sub

att,

 
Postado : 10/03/2017 1:15 pm
(@fabio-rs)
Posts: 39
Trusted Member
Topic starter
 

Bruno, Boa tarde fiz o teste aqui e não deu certo
se vc quizer posso te enviar o arquivo
e desde ja agradeço a força
sucesso

Sucesso

Fabio,
[email protected]

 
Postado : 10/03/2017 2:09 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite Fabio,

Anexar o arquivo irá facilitar muito. Não precisa ser com os dados originais.
Vá em 'Responder' (não em 'Responder Rápido'), que vai aparecer em baixo a opção para anexar.
Não esqueça de compactar (.zip).

att,

 
Postado : 10/03/2017 4:47 pm
(@fabio-rs)
Posts: 39
Trusted Member
Topic starter
 

Mestre,
Boa noite, o que se trata este arquivo, é o seguinte, minha esposa faz artesanatos e quando entrega entregamos junto o relatório do serviço, e posteriormente quando é feito o pagamento, faziamos o recibo manual, consegui desenvolver este arquivo do recibo que esta numa das planilhas dentro, assim o controle muitas vezes se perde e não sabemos se ja está pago ou não.
desta forma acredito que consigo melhor gerir este problema, mas estou me deparando no problema de que eu estava tentando fazer com que quando for gerado o recibo eu tenha a possibilidade de registrar o nº do recibo na coluna H da planilha registros, pois ali ficam registrados todos os dados dos relatórios.
acontece que até onde consegui fazer foi de que copiasse a Célula F6 da planilha recibo com as formatações que possuem na referida célula.
se quizeres faça um teste pois veras como está acontecendo,
tem mais coisas que vou fazer mas me deparei neste erro e não fui a frente,.
Agradeço imensamente se puderes me auxiliar neste desafio, pois sou novato na programação VBA e está me fascinando, e queimei muito neurônio, e o pior não conseguindo resolver.
me resta agradecer e desejar muito sucesso

Sucesso

Fabio,
[email protected]

 
Postado : 11/03/2017 5:11 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite Fabio,

Testei o arquivo no trecho que falei, e no meu caso funcionou. Acredito que a célula tinha a formatação do último teste, e como foi colado só os valores ficou com a formatação anterior.
*Eu deletei os valores antes de testar.

De uma olhada no código porque fiz pequenas alterações, está no módulo1.

Qualquer dúvida é só perguntar.

att,

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

Bruno,
Bom dia, vou dar uma olhada mais com calma pela parte da tarde mas pelo que vi está funcionando sim,
quero ver se consigo termina-la , e agradeço a força,
assim que tiver terminado te aviso MUITO OBRIGADO ,pela força e muito sucesso
abraços

Sucesso

Fabio,
[email protected]

 
Postado : 13/03/2017 6:33 am
(@fabio-rs)
Posts: 39
Trusted Member
Topic starter
 

Bruno, Boa tarde,
está funcionando sim, obrigado pela força estou tentando terminar o projeto,
pesquisando bastante, e sofrendo mas faz parte, agradeço pela força que me destes, Muito Obrigado mesmo
a parte que estou sofrendo é que quero copiar também a data que foi gerado ,
mas estou pesquisando nas minhas anotações para ver como fazer
quebrando a cabeça para aprender, faz parte
boa Tarde

Sucesso

Fabio,
[email protected]

 
Postado : 13/03/2017 12:27 pm
(@fabio-rs)
Posts: 39
Trusted Member
Topic starter
 

Bruno,
boa tarde desculpe estar incomodando novamente, mas estou com uma dúvida, é normal quando vc manda comandar pelo F8 que o codigo passe após executar uma parte ir para o inicio?
Acrescentei um comando a mais mas notei que quando comandei para executar via F8 ele volta ao inicio (parte que não compete ao Macro criado).
este procedimento do VBA é normal?
Peço desculpas por estar incomodando e obrigado pela ajuda

Sucesso

Fabio,
[email protected]

 
Postado : 13/03/2017 2:04 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde Fabio,

Quando você usa o F8 o código vai sendo executado linha a linha, no seu caso você tem várias funções (Private Function) no módulo3 que são recalculadas com algumas ações que você executa na na planilha. Acredito que por isso esteja indo para o 'ínicio' do módulo e não o 'ínicio' da sub.

Recomendo deixar em módulos diferentes as Function e as Sub para ficar mais fácil organizar.

att,

 
Postado : 14/03/2017 11:59 am