none
Arredondar RRS feed

  • Pergunta

  • Como posso fazer uma macro que arredonde numeros que terminem entre 2 e 3 (por exemplo: 2,33;12,33;22,33) para final em 4? (2,44 para 4; 12,33 para 14; 22,33 para 24)
    sexta-feira, 10 de novembro de 2017 16:54

Respostas

  • Option Explicit
    
    Sub TESTE()
    
    
    
    Dim NUMERO As String
    Dim NUMERO2 As Integer
    Dim PNUMERO As Integer
    Dim V As Integer
    
    NUMERO = CStr(102.33)
    V = InStr(1, NUMERO, ",")
    If V = 3 Then
    If Right(NUMERO, 2) = "33" Or Right(NUMERO, 2) = "44" Then
     
     PNUMERO = Left(NUMERO, 1) * 10
    
    NUMERO2 = CInt(PNUMERO + 4)
    MsgBox NUMERO2
    End If
    End If
    
    If V = 4 Then
    If Right(NUMERO, 2) = "33" Or Right(NUMERO, 2) = "44" Then
     
     PNUMERO = Left(NUMERO, 1) * 100
    
    NUMERO2 = CInt(PNUMERO + 4)
    MsgBox NUMERO2
    End If
    End If
    
    
    
    If V = 2 Then
    If Right(NUMERO, 2) = "33" Or Right(NUMERO, 2) = "44" Then
     PNUMERO = 0
    NUMERO2 = CInt(PNUMERO + 4)
    MsgBox NUMERO2
    End If
    End If
    
    
    
    
    
    End Sub
    


    Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 sexta-feira, 10 de novembro de 2017 17:18
    • Marcado como Resposta Mario Antonini sexta-feira, 10 de novembro de 2017 17:36
    sexta-feira, 10 de novembro de 2017 17:17

Todas as Respostas

  • Option Explicit
    
    Sub TESTE()
    
    
    
    Dim NUMERO As String
    Dim NUMERO2 As Integer
    Dim PNUMERO As Integer
    Dim V As Integer
    
    NUMERO = CStr(102.33)
    V = InStr(1, NUMERO, ",")
    If V = 3 Then
    If Right(NUMERO, 2) = "33" Or Right(NUMERO, 2) = "44" Then
     
     PNUMERO = Left(NUMERO, 1) * 10
    
    NUMERO2 = CInt(PNUMERO + 4)
    MsgBox NUMERO2
    End If
    End If
    
    If V = 4 Then
    If Right(NUMERO, 2) = "33" Or Right(NUMERO, 2) = "44" Then
     
     PNUMERO = Left(NUMERO, 1) * 100
    
    NUMERO2 = CInt(PNUMERO + 4)
    MsgBox NUMERO2
    End If
    End If
    
    
    
    If V = 2 Then
    If Right(NUMERO, 2) = "33" Or Right(NUMERO, 2) = "44" Then
     PNUMERO = 0
    NUMERO2 = CInt(PNUMERO + 4)
    MsgBox NUMERO2
    End If
    End If
    
    
    
    
    
    End Sub
    


    Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 sexta-feira, 10 de novembro de 2017 17:18
    • Marcado como Resposta Mario Antonini sexta-feira, 10 de novembro de 2017 17:36
    sexta-feira, 10 de novembro de 2017 17:17
  • Deu certo, valeu
    sexta-feira, 10 de novembro de 2017 17:36