none
CONVERSÃO DE TEXTO PARA NÚMERO SOMENTE ATÉ ULTIMA LINHA RRS feed

  • Pergunta

  • Boa Tarde!

    Preciso de ajuda com o codigo abaixo, pois ele pega o intervalo "a3:a1048576" para verificar e converter as celulas que não estão vazias em números, porém queria que ela so fizesse até a "ultimalinha".

    Existe algum jeito de modificar o codigo abaixo para atender esse critério?

    Ultimalinha = Range("A1048576").End(xlUp).Row
        For Each cell In [a3:a1048576]
        If cell > "" Then
        numero = Str(cell.Value)
        cell.Activate
        ActiveCell.FormulaR1C1 = numero
        
        Else
        End If
        Next
    Obrigado!
    quinta-feira, 29 de janeiro de 2015 20:12

Respostas

  • Olá Nheder! Segue uma sugestão para você:

    Sub Converter_Número()
    
        Dim Ultimalinha As Long
        Dim cell As Range
        
        Ultimalinha = Cells(Rows.Count, "A").End(xlUp).Row
    
        For Each cell In Range("A3:A" & Ultimalinha)
            If cell <> "" Then
                cell.NumberFormat = "0.00"
            End If
        Next cell
    
    End Sub



    Rafael Kamimura




    • Editado Rafael Kamimura sexta-feira, 30 de janeiro de 2015 11:50
    • Marcado como Resposta Nheder sexta-feira, 30 de janeiro de 2015 12:05
    sexta-feira, 30 de janeiro de 2015 11:47

Todas as Respostas

  • Olá Nheder! Segue uma sugestão para você:

    Sub Converter_Número()
    
        Dim Ultimalinha As Long
        Dim cell As Range
        
        Ultimalinha = Cells(Rows.Count, "A").End(xlUp).Row
    
        For Each cell In Range("A3:A" & Ultimalinha)
            If cell <> "" Then
                cell.NumberFormat = "0.00"
            End If
        Next cell
    
    End Sub



    Rafael Kamimura




    • Editado Rafael Kamimura sexta-feira, 30 de janeiro de 2015 11:50
    • Marcado como Resposta Nheder sexta-feira, 30 de janeiro de 2015 12:05
    sexta-feira, 30 de janeiro de 2015 11:47
  • Por que não converter toda a coluna em formatação de exibição de número? Nem precisaria de VBA.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 30 de janeiro de 2015 12:00
    Moderador
  • Por que não converter toda a coluna em formatação de exibição de número? Nem precisaria de VBA.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Felipe, não funciona assim porque as celulas continuam "formatadas como texto" e a proc não consegue localizar.

    De toda forma eu precisava ajustar isso para VBA porque esse código é so uma pequena parte da macro que eu utilizo para rodar o Relatório completo.


    sexta-feira, 30 de janeiro de 2015 12:22
  • Olá Nheder! Segue uma sugestão para você:

    Sub Converter_Número()
    
        Dim Ultimalinha As Long
        Dim cell As Range
        
        Ultimalinha = Cells(Rows.Count, "A").End(xlUp).Row
    
        For Each cell In Range("A3:A" & Ultimalinha)
            If cell <> "" Then
                cell.NumberFormat = "0.00"
            End If
        Next cell
    
    End Sub



    Rafael Kamimura




    Rafael, Obrigado me ajudou, mas tive de fazer alguns ajustes para poder atender as necessidades aqui.

    Ficou da seguinte forma se alguem precisar do jeito ajustado.

    Dim cell As Range
        
        Ultimalinha = Cells(Rows.Count, "A").End(xlUp).Row
    
        For Each cell In Range("A2:A" & Ultimalinha)
            If cell <> "" Then
            numero = Str(cell.Value)
            cell.Activate
            ActiveCell.FormulaR1C1 = numero
            cell.NumberFormat = "0"
            
        Else
        End If
        Next cell

    De toda forma obrigado!


    sexta-feira, 30 de janeiro de 2015 12:22
  • Nheder,

    A melhor forma de resolver esse problema é:

    1 - Selecione uma célula em branco de sua planilha

    2 - Pressione Ctrl+C

    3 - Selecione o intervalo de células que possui os valores que você deseja converter em número

    4 - Clique com o botão direito do mouse e selecione colar especial para mostrar a janela de Colar Especial

    5 - Nessa janela, em Colar marque "Valores" e em Operação marque "Adição".

    6 - Clique em OK


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 30 de janeiro de 2015 12:26
    Moderador