2014-02-05 2 views
1

Я использую Mid() для извлечения информации из дампа Oracle, и когда я пытаюсь извлечь число с ведущим 0, excel автоматически отключает его. Есть ли способ сохранить 0?Средняя функция отключается от ведущего 0

Пример в камере 6,1 = "0030645"

Sub snip4() 

Dim text As String 

text = Cells(6, 1).Value 
Cells(7, 4) = Mid(text, 4, 4) 
End Sub 

Выход на 7,4 = "645"

Желаемый выход = ""

клеток сбрасывается, как a Общий формат

+1

Как о том, как 7,4 Текст? –

+0

'Ячейка выгружается как общий формат' - тогда выгрузите ее как текстовый формат. – GSerg

+0

Пробовал это, прежде чем я опубликовал, не исправить проблему. люблю быстрый остроумие, хотя – Couchcommando

ответ

0

Вы можете изменить формат ячейки на "Текст":

Sub snip4() 
    Dim text As String 

    text = Cells(6, 1).Value 
    With Cells(7, 4) 
     .NumberFormat = "@" 
     .Value = Mid(text, 4, 4) 
    End With 
End Sub 

или другой вариант - использовать префикс характер:

Sub snip4() 
    Dim text As String 

    text = Cells(6, 1).Value 
    Cells(7, 4) = "'" & Mid(text, 4, 4) 
End Sub 
+0

Оба работали, спасибо! Первый, кажется, меняет формат на текст перед вставкой. Можете ли вы объяснить, как работает 2-й? – Couchcommando

+1

попытайтесь выбрать «Ячейки (7, 4)» на листе и посмотрите на панель формул - там есть знак '' 'перед текстом. Это специальный символ, который говорит excel, что это значение должно храниться как текст без преобразования в любой другой формат. Надеюсь, это понятно :) –

Смежные вопросы