jeversong2014
Mensagens : 13 Data de inscrição : 29/04/2014 Idade : 31
| Assunto: Worksheet function Sex 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 | |
|
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Worksheet function Sá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 | |
|
jeversong2014
Mensagens : 13 Data de inscrição : 29/04/2014 Idade : 31
| Assunto: Re: Worksheet function Seg 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! | |
|
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Worksheet function Seg Nov 03, 2014 4:13 pm | |
| Bom dia!! Obrigado pelo retorno!! Att | |
|
Conteúdo patrocinado
| Assunto: Re: Worksheet function | |
| |
|