Boa tarde, galera
Estou tentando programar um código que abra um arquivo da área de trabalho (pode ser .txt ou .xls) e copie os dados para uma aba específica:
Abaixo se encontra um exemplo do arquivo .txt que eu quero importar:
------------------------------------------------------------------------------------------------------------------------
| DtaRealFim|Ordem |Material|Texto breve material | Qtd.teór.| Qtd.forn.|Fim-base |Planj.MRP|
|----------------------------------------------------------------------------------------------------------------------|
| 13.04.2018|1112018320|12387807|X | 5.670 | 5.670 |12.04.2018|010 |
| 13.04.2018|1112018330|13233644|X | 864 | 864 |12.04.2018|010 |
| 13.04.2018|1112018331|12830236|X | 576 | 576 |12.04.2018|010 |
| 13.04.2018|1112018337|13894629|X | 1.296 | 1.296 |12.04.2018|010 |
| 13.04.2018|1112018338|12768241|X | 5.292 | 5.292 |12.04.2018|010 |
| 13.04.2018|1112068113|12087143|X | 3.990 | 3.990 |13.04.2018|010 |
| 13.04.2018|1112068115|12087143|X | 3.990 | 1.470 |16.04.2018|010 |
| 13.04.2018|1112068302|12087143|X | 4.830 | 4.830 |13.04.2018|010 |
| 13.04.2018|1112068304|12768241|X | 4.788 | 768 |13.04.2018|010 |
| 13.04.2018|1112068306|13605185|X | 288 | 288 |13.04.2018|010 |
| 13.04.2018|1112068309|13739597|X | 576 | 576 |13.04.2018|010 |
| 13.04.2018|1112068312|12823214|X | 2.880 | 1.200 |13.04.2018|010 |
| 13.04.2018|1112068316|13192420|X | 3.456 | 2.196 |13.04.2018|010 |
E este é o código que eu estou usando:
Dim Ficheiro As String
Dim Dpto As String
Ficheiro = "C:Users" & VBA.Environ$("USERNAME") & "DesktopA.txt"
Dim rg As Range
Set rg = Range("A1")
Open Ficheiro For Input As #1
Dim S As String, N As Integer, C As Integer, X As Variant
Do Until EOF(1)
Line Input #1, S
C = 0
X = Split(S, "|")
For N = 0 To UBound(X)
If X(N) <> "" Then
rg.Offset(0, C) = X(N)
C = C + 1
End If
Next N
Set rg = rg.Offset(1, 0)
Loop
Close #1
End Sub
O problema é que quando ele faz a cópia desses dados, ele automaticamente converte o ponto em separador decimal, e lê o número 5690 como 5,69.
E eu não posso simplesmente multiplicar por mil, após copiar para planilha, pois eu não saberia dizer se um 2 é realmente 2 ou era um 2000 que virou 2. Entendem? Não sei o que fazer para resolver, por favor me ajudem!
Postado : 17/04/2018 10:04 am