Estou com um problema ao importar dados da web em formato EUA.
EX: o numero se encontra no site 3.570, mas quando importando para o excel ele fica 3.57.
Alguém tiver uma solução pra isso agradeço
Set tb1 = driver.FindElementByXPath("//*[@id=""metasTerritorios""]")
tb1.AsTable.ToExcel vendedores
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
PROBLEMA DADOS IMPORTADOS DA WEB
-
- Acabou de chegar
- Mensagens: 1
- Registrado em: Dom Out 06, 2019 4:17 pm
Re: PROBLEMA DADOS IMPORTADOS DA WEB
O formato padrão do VBA é o inglês internacional, onde ponto é separador decimal e vírgula de milhar. Por isso, qualquer conversão direta vai bagunçar o número. Você terá que fazer as substituições adequadas de vírgula e ponto antes de fazer a conversão. Veja algumas macros de exemplo para resolver o problema:
Fonte: https://stackoverflow.com/questions/279 ... -not-point
Código: Selecionar todos
Function Dbl2Str(dbl As Double) As String
Dbl2Str = Replace(CStr(dbl), ".", ",")
End Function
Function DblToStr(x As Double)
DblToStr = CStr(x)
If (Application.ThousandsSeparator = ".") Then
DblToStr = Replace(DblToStr, ".", "")
End If
If (Application.DecimalSeparator = ".") Then
DblToStr = Replace(DblToStr, ".", ",")
End If
End Function
Sub changeIT()
For Each r In Selection
t = r.Text
If InStr(1, r, ".") > 0 Then
r.Clear
r.NumberFormat = "@"
r.Value = Replace(t, ".", ",")
End If
Next r
End Sub
'
' Separates real-numbers by "," and adds "." before decimals
'
Function FormatNumber(ByVal v As Double) As String
Dim s$, pos&
Dim r$, i&
' Find decimal point
s = CStr(v)
pos = InStrRev(s, ".")
If pos <= 0 Then
pos = InStrRev(s, ",")
If pos > 0 Then
Mid$(s, pos, 1) = "."
Else
pos = Len(s) + 1
End If
End If
' Separate numbers into "r"
On Error Resume Next
i = pos - 3
r = Mid$(s, i, 3)
For i = i - 3 To 1 Step -3
r = Mid$(s, i, 3) & "," & r
Next i
If i < 1 Then
r = Mid$(s, 1, 2 + i) & "," & r
End If
' Store dot and decimal numbers into "s"
s = Mid$(s, pos)
i = Len(s)
If i = 2 Then
s = s & "0"
ElseIf i <= 0 Then
s = ".00"
End If
' Append decimals and return
FormatNumber = r & s
End Function