Как разобрать в VBA строку, содержащую специальный математический код ASCII, и исправить его - PullRequest
1 голос
/ 30 сентября 2010

В настоящее время я пишу код в VBA для получения цен на некоторые финансовые модели. У меня проблема в электронной таблице Excel, где у меня есть специальные символы Ascii, такие как ¼ ¼ и т. Д. Мне нужно использовать VBA, чтобы преобразовать это в 7/8 1/4 и т. Д.

Как я мог это сделать?

Спасибо за вашу помощь

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

Если вы хотите заменить буквальную строку, используйте функцию Replace следующим образом:

Sub changeit()
    Dim w As Worksheet
    Dim r As Range
    For Each r In Application.Selection
        r.Value = Replace(r.Value, Chr$(188), "1/4")
        r.Value = Replace(r.Value, Chr$(189), "1/2")
        r.Value = Replace(r.Value, Chr$(190), "3/4")
    Next
End Sub

и так далее. (Я сделал каждое отдельно, чтобы было легче читать.) В качестве альтернативы вы можете заменить буквенные строки "1/4", как предлагает @jalexiou, на 0,25 и т. Д., В идеале, используя таблицу поиска. Не уверен, что код Chr $ для семи восьмых.

0 голосов
/ 30 сентября 2010

Создать таблицу поиска.Когда он находит один из этих специальных символов, установите значение соответствующим образом (например, «1/2» = 0,5), а если нет, используйте функцию Val () для получения значения.

...