Fórum Excel Bácico, Avançado e Vba
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
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  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  Entrar  

 

 Worksheet function

Ir para baixo 
2 participantes
AutorMensagem
jeversong2014




Mensagens : 13
Data de inscrição : 29/04/2014
Idade : 31

Worksheet function Empty
MensagemAssunto: Worksheet function   Worksheet function EmptySex Out 31, 2014 7:11 pm

Caros,
boa tarde, gostaria de uma ajuda no VBA, preciso colocar esse formula na minha macro:

=SE(NÚM.CARACT(D2)=1;"00";SE(NÚM.CARACT(D2)=2;"0";""))&D2

essa formula deve ser usada a partir da célula "L2" e aplicada as demais. Abaixo tentei o seguinte, mas deu erro:

i = 2
   While plan1.Cells(i, 1) <> ""
       CH = WorksheetFunction.IF(Len(plan1.Cells(i, 4)) = 1, "00", _
       WorksheetFunction.IF(Len(plan1.Cells(i, 4)) = 2, "0", "")) & plan1.Cells(i, 4)
       plan1.Cells(i, 12) = CH
   i = i + 1
   Wend

Desde já agradeço a quem conseguir ou pelo menos quem tentar  Very Happy
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


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

Worksheet function Empty
MensagemAssunto: Re: Worksheet function   Worksheet function EmptySáb Nov 01, 2014 1:03 am

Boa noite!!

Tente assim...
Código:
Option Explicit
 
Sub Fill_Formulas()
    Dim lastrow As Long
    lastrow = Cells(Rows.Count, "D").End(xlUp).Row
    Application.ScreenUpdating = False
        Range("L2").Formula = "=IF(LEN(D2)=1,""00"",IF(LEN(D2)=2,""0"",""""))&D2"
        Range("L2").AutoFill Destination:=Range("L2:L" & lastrow)
        Range("L2:L" & lastrow).Value = Range("L2:L" & lastrow).Value
    Application.ScreenUpdating = True
End Sub

Att
Ir para o topo Ir para baixo
jeversong2014




Mensagens : 13
Data de inscrição : 29/04/2014
Idade : 31

Worksheet function Empty
MensagemAssunto: Re: Worksheet function   Worksheet function EmptySeg Nov 03, 2014 3:10 pm

bom dia,

utilizo essa formula para fazer com que os valores da celulas da coluna "D" tenham sempre 3 digitos, sendo que serão sempre numeros, por isso coloco os zeros a esquerda.
executando a sub até o ponto abaixo funciona, traz o resultado que eu queria.

Código:
Sub Fill_Formulas()
    Dim lastrow As Long
    lastrow = Cells(Rows.Count, "D").End(xlUp).Row
    Application.ScreenUpdating = False
        Range("L2").Formula = "=IF(LEN(D2)=1,""00"",IF(LEN(D2)=2,""0"",""""))&D2"
        Range("L2").AutoFill Destination:=Range("L2:L" & lastrow)

mas quando é executada essa parte, é retirado novamente os zeros a esquerda, ou seja, retorna acaba anulando a formula em si.

Código:
Range("L2:L" & lastrow).Value = Range("L2:L" & lastrow).Value

mas valeu pela dica, ajudou.,apenas fiz a observação para que se alguém também queira usar essa sub retire essa parte.

abraço!
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


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

Worksheet function Empty
MensagemAssunto: Re: Worksheet function   Worksheet function EmptySeg Nov 03, 2014 4:13 pm

Bom dia!!

Obrigado pelo retorno!!


Att Smile
Ir para o topo Ir para baixo
Conteúdo patrocinado





Worksheet function Empty
MensagemAssunto: Re: Worksheet function   Worksheet function Empty

Ir para o topo Ir para baixo
 
Worksheet function
Ir para o topo 
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: