Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Macro que passa coluna a valor

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
CJCM



Mensagens : 35
Data de inscrição : 11/07/2014
Idade : 37
Localização : Lisboa

MensagemAssunto: Macro que passa coluna a valor   Qua Ago 20, 2014 2:36 pm

Bom dia,

Preciso da vossa ajuda,

Tenho uma macro no excel, que me passa uma coluna inteira para valor se determinada célula é igual a uma data:

Sub AleVBA_834V3()
Dim iCell As Range

For Each iCell In ActiveSheet.Range("P10:EE66")
   If iCell.Value = Range("d5").Value Then
       iCell.Offset(1, 0).Select
       ActiveCell.EntireColumn.Copy
       ActiveCell.EntireColumn.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
   :=False, Transpose:=False
   End If
Next iCell
Application.CutCopyMode = False
End Sub


O que eu pretendo é que não seja a coluna toda a passar para valor, mas apenas as células até à linha 68 de determinada coluna, que varia de acordo com a regra que se encontra na macro em cima.

Obrigado

CJCM
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 3:03 pm

Bom dia!!

Eu não entendi muito bem, porque não muda a
Código:
For Each iCell In ActiveSheet.Range("P10:EE66")
para
Código:
For Each iCell In ActiveSheet.Range("P10:EE68")

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
CJCM



Mensagens : 35
Data de inscrição : 11/07/2014
Idade : 37
Localização : Lisboa

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 3:51 pm

O problema acho que não é ai, mas sim em:

ActiveCell.EntireColumn.Copy
ActiveCell.EntireColumn.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

Esta parte do comando diz para passar a valor a coluna toda, sem limite do nº da linha.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 3:57 pm

Bom dia!

E como seria o critério para que não altere toda a coluna?

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
CJCM



Mensagens : 35
Data de inscrição : 11/07/2014
Idade : 37
Localização : Lisboa

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 4:12 pm

O critério é o mesmo If iCell.Value = Range("d5").Value Then, no entanto a coluna onde esta condição se verifica só deve ficar em valor até à linha 68 e não toda a coluna. Espero ter-me feito entender.

Obrigado

CJCM
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 4:32 pm

Bom dia!!

Eu preciso saber como é os dados do seu arquivo!

Exemplo:
Em "P10:EE66" tem formulas?

Em "D5" é valor

Tem como postar seu arquivo modelo???????????

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
CJCM



Mensagens : 35
Data de inscrição : 11/07/2014
Idade : 37
Localização : Lisboa

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 4:42 pm

Em anexo um exemplo.

A macro deve passar para value as células da coluna cujo valor da linha 3 é igual ao valor da célula F1. No exemplo como é dia 20-07-2014, as células G4:G17 deveriam passar a valor e não a coluna G.



http://we.tl/rTbJtWwYbo

Obrigado

CJCM
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 5:35 pm

Bom dia!!

Tente isso!
Código:
Sub AleVBA_872()
Dim iCell As Range
    For Each iCell In ActiveSheet.Range("C3:J3")
        If iCell.Value = Range("F1").Value Then
            iCell.Offset(1).Resize(7).Value = iCell.Offset(1).Resize(7).Value
            iCell.Offset(10).Resize(5).Value = iCell.Offset(10).Resize(5).Value
        End If
    Next iCell
Application.CutCopyMode = False
End Sub


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
CJCM



Mensagens : 35
Data de inscrição : 11/07/2014
Idade : 37
Localização : Lisboa

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 6:13 pm

Boa tarde,

Já resultou! Muito obrigado.

CJCM
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Macro que passa coluna a valor   Qua Ago 20, 2014 6:54 pm

Boa arde!!

Eu fico feliz que resolveu!!

Att Laughing 
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Macro que passa coluna a valor   Hoje à(s) 8:59 pm

Voltar ao Topo Ir em baixo
 
Macro que passa coluna a valor
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [RESOLVIDO]Valor de step
» Nome de usuario, e-mail e senha somem quando passa o mouse
» Coluna lateral do portal em todas páginas
» Mudar a cor do fundo do fórum quando passa-se o cursor, sobre ele lentamente
» [Resolvido] [Resolvido] Logo, menu e coluna de widgets

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: