Excel открывает файлы CSV и усекает десятичные дроби до значащих цифр - PullRequest
0 голосов
/ 11 января 2019

Я открываю CSV-файлы, которые выглядят так:

24.0000,19.2500,4.0000,0.7500,

и Excel отображает следующие усеченные значения только со значащими цифрами.

24 | 19.25 | 4 | 0.75

Но мне нужно сохранить 4 знака после запятой (даже если они незначительны). Можно ли каким-то образом сохранить мой CSV как автотекст, а не номер, для отображения в Excel? Даже когда я пытался заключить в кавычки значения, "4.0000, оно все равно усекалось.

Я попробовал эти опции в CSV, чтобы он читался как Текст:

4.000[space]

"4.000 "

Ничего из этого не сработало. Единственный, который работал, был с не цифрой, 4.000a

То есть Excel распознает все-цифровые поля как числа и вызывает усечение, если не видит нецифровых?

1 Ответ

0 голосов
/ 11 января 2019
*

Попробуйте * 1001

Sub test()
    Dim Wb As Workbook
    Dim Path As String, Fn As String
    Dim Filename As String
    Dim txtFree As Long
    Dim vS As Variant, v As Variant
    Dim vDB(1 To 1000, 1 To 100) As String
    Dim r As Long, c As Integer

    Path = ThisWorkbook.Path & "\"
    Filename = "csvtest.csv" '<~~ your csv filename
    Fn = Path & Filename

    txtFree = FreeFile()
    Open Fn For Input As #txtFree
    Do While Not EOF(txtFree)
        Line Input #txtFree, Fn
        vS = Split(Fn, ",")
        r = r + 1
        c = 0
        For Each v In vS
            c = c + 1
            vDB(r, c) = v
        Next v

    Loop
    Range("a1").Resize(UBound(vDB, 1), UBound(vDB, 2)) = vDB
End Sub

изображение результата

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...