Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2012, 09:53   #1
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию Пропадают ведущии нули в Exel после запуска макроса

Здравствуйте сообщники.

В общем проблема в следующем
После того как макросом убираю пробелы:
Cells.Replace What:=" ", Replacement:=" "
В исходном файле творится следущее:
000001308---->1308 (пропадают ведущии нули)
В общем, я сначала преобразовывал в тектовый формат ячейки, но все равно не помогает.

Интересует в чем суть, почему так происходит
И как исправить эту проблему.
Если одарите макросом, то осчастливите неимоверно.

UPD:
попробывал вместо заменить пробелы сжать пробелы. если делать это по формулам в ячеке то получается сжать без потери нулей.

Но когда запускаю макрос:
Sub сжать ()
Dim m As Range
For Each m In ActiveSheet.UsedRange.SpecialCells( xlCellTypeConstants)
m.Value = Trim(m)
Next
End Sub

Та же петрушка, нули исчезают.

Вопрос в том же почему? И как этого избежать.

Последний раз редактировалось Alexander Shurov; 26.10.2012 в 11:43.
Alexander Shurov вне форума Ответить с цитированием
Старый 26.10.2012, 10:40   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Добавьте апостроф перед нулями:
Код:
Sub Alexander_Shurov()
Dim t As String
t = Range("a1").Value
    Range("a1").Value = "'" & Range("a1").Value
    Cells.Replace What:=" ", Replacement:=""
End Sub
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 26.10.2012, 10:40   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Вы, наверно, убираете пробелы, чтобы сделать текст числом?
Установите числовой формат ячеек 000000000
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 26.10.2012, 10:53   #4
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию

Это не выход в данной ситуации, так в различных файлах формат "0000138" встречается наряду с десятичным форматом "2.138" случайным образом. А мне надо что бы и те и др. числа не изменяли своего вида.
Alexander Shurov вне форума Ответить с цитированием
Старый 26.10.2012, 11:01   #5
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge 007 Посмотреть сообщение
Добавьте апостроф перед нулями:
Код:
Sub Alexander_Shurov()
Dim t As String
t = Range("a1").Value
    Range("a1").Value = "'" & Range("a1").Value
    Cells.Replace What:=" ", Replacement:=""
End Sub
Попробывал, что то не работает. Т.е. не ставит апостроф впереди. Да и по сути это проблему не решит, так как хочется получить число в том виде которое есть.
Alexander Shurov вне форума Ответить с цитированием
Старый 26.10.2012, 12:56   #6
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Alexander Shurov Посмотреть сообщение
...что то не работает. Т.е. не ставит апостроф впереди.
А попробовать прежде чем писать?

Цитата:
Сообщение от Alexander Shurov Посмотреть сообщение
...это проблему не решит, так как хочется получить число в том виде которое есть.
В этом виде и получаете
Вложения
Тип файла: rar Alexander Shurov.rar (11.6 Кб, 14 просмотров)
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 27.10.2012, 09:06   #7
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию

[QUOTE=Serge 007;1119634]А попробовать прежде чем писать?

Да, работает, спасибо, я протупил тогда просто, спешил к концу рабочего дня.
Alexander Shurov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макроса exel tarandima Помощь студентам 0 31.08.2012 00:59
Пропадают нули из Cstring spamersd Visual C++ 1 19.06.2012 02:58
Как создать условие запуска макроса fx59 Microsoft Office Excel 17 12.07.2011 20:48
перехват запуска макроса из дебугера alvazor Microsoft Office Excel 0 29.03.2010 15:24
Пропадают ярлыки на рабочем столе через пару секунд, после загрузки всего стола. L@CO$TE Свободное общение 7 24.02.2009 14:46