2009-04-16 3 views
0

Утреннее Все,преобразования текста в номер

Сегодня я придумал новое присвоение Преобразование текста в число автоматически при помощи кодов VBA. Для примера '1233 необходимо преобразовать в 1233 и (1234) необходимо преобразовать в -1234 без каких-либо вмешательств человека. Некоторые советы очень полезны.

С уважением, Jabeer Али

+0

Итак, вы пытаетесь преобразовать текст в ячейке? Или строка, хранящаяся в переменной? В этих случаях подход может быть другим. – BradC

ответ

0

Misunderstood ваш вопрос, мои извинения.

Это работает для меня, даже за пределами первенствовать:

Function numConv(num As String) As Double 

    If Mid(num, 1, 1) = "(" And Mid(num, (Len(num)), 1) = ")" Then 
     num = Replace(num, "(", "") 
     num = Replace(num, ")", "") 
     numConv = val(num) * -1 
    Else 
     numConv = val(num) 
    End If 

End Function 
+0

Он не пытается перевернуть знак. Скобка (1234) является индикатором отрицательного числа. – BradC

+1

Также следует использовать Mid (num, 1, 1) = "(" And Mid (num, (Len (num)), 1) = ")" Вы должны быть в порядке с Left (num, 1) = "(«И Right (num, 1) =") " – Adarsha

2

Используйте функцию VALUE().

Кроме того, из here:

Sub ConvertToNumbers() 
    Cells.SpecialCells(xlCellTypeLastCell) _ 
    .Offset(1, 1).Copy 
    Selection.PasteSpecial Paste:=xlPasteValues, _ 
    Operation:=xlPasteSpecialOperationAdd 
    With Selection 
    .VerticalAlignment = xlTop 
    .WrapText = False 
    End With 
    Selection.EntireColumn.AutoFit 
End Sub 
Смежные вопросы