Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/макрос преобразования ячейки текста в число - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос преобразования ячейки текста в число (Формулы)
макрос преобразования ячейки текста в число
Timsan Дата: Вторник, 05.11.2013, 17:20 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Здравствуйте.имеится макрос преобразования ячейки текста в число

он работает но если ячейка F пустая то в ячейки появляется 0,0
как сделать чтобы он перепрыгивал пустые ячейки
то есть пустые ячейки должны оставаться пустыми

Вот сам макрос:

[vba]
Код
Sub Text_to_Number()
Dim Zelle As Range
On Error Resume Next
For Each Zelle In Range("F13:F100")
Zelle.Value = 1 * Zelle.Value
Next
Range("F13:F100").NumberFormat = "#,##0.0"
End Sub
[/vba]


Сообщение отредактировал Timsan - Вторник, 05.11.2013, 17:22
 
Ответить
СообщениеЗдравствуйте.имеится макрос преобразования ячейки текста в число

он работает но если ячейка F пустая то в ячейки появляется 0,0
как сделать чтобы он перепрыгивал пустые ячейки
то есть пустые ячейки должны оставаться пустыми

Вот сам макрос:

[vba]
Код
Sub Text_to_Number()
Dim Zelle As Range
On Error Resume Next
For Each Zelle In Range("F13:F100")
Zelle.Value = 1 * Zelle.Value
Next
Range("F13:F100").NumberFormat = "#,##0.0"
End Sub
[/vba]

Автор - Timsan
Дата добавления - 05.11.2013 в 17:20
_Boroda_ Дата: Вторник, 05.11.2013, 17:24 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Например, так (это если в Вашем макросе не менять принцип действия, а только поставить ограничение на пусто):
[vba]
Код
Sub Text_to_Number()
Dim Zelle As Range
On Error Resume Next
For Each Zelle In Range("F13:F100")
if Zelle.value<>"" then
Zelle.Value = 1 * Zelle.Value
end if
Next
Range("F13:F100").NumberFormat = "#,##0.0"
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНапример, так (это если в Вашем макросе не менять принцип действия, а только поставить ограничение на пусто):
[vba]
Код
Sub Text_to_Number()
Dim Zelle As Range
On Error Resume Next
For Each Zelle In Range("F13:F100")
if Zelle.value<>"" then
Zelle.Value = 1 * Zelle.Value
end if
Next
Range("F13:F100").NumberFormat = "#,##0.0"
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 05.11.2013 в 17:24
Timsan Дата: Вторник, 05.11.2013, 17:45 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
спасибо большое за быстрей ответ помогло

А как сделать чтобы он только заполненные ячейки преобразовывал в число в колонки (F) и (G) например
 
Ответить
Сообщениеспасибо большое за быстрей ответ помогло

А как сделать чтобы он только заполненные ячейки преобразовывал в число в колонки (F) и (G) например

Автор - Timsan
Дата добавления - 05.11.2013 в 17:45
Timsan Дата: Среда, 06.11.2013, 23:25 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
в office 2003 после запуска макроса число 1,50000000 преобразуется в 15,0

в office 2013 преобразует как положено в 1,5

как это можно исправить помогите????
К сообщению приложен файл: vba_makros.xls (67.5 Kb)
 
Ответить
Сообщениев office 2003 после запуска макроса число 1,50000000 преобразуется в 15,0

в office 2013 преобразует как положено в 1,5

как это можно исправить помогите????

Автор - Timsan
Дата добавления - 06.11.2013 в 23:25
KuklP Дата: Четверг, 07.11.2013, 10:24 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А попробуйте:
[vba]
Код
Sub StrToNum()
      With [h2:h100]
          .TextToColumns
          .Replace ".", ".", 2
          .NumberFormat = "# ##0.0"
      End With
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 07.11.2013, 10:38
 
Ответить
СообщениеА попробуйте:
[vba]
Код
Sub StrToNum()
      With [h2:h100]
          .TextToColumns
          .Replace ".", ".", 2
          .NumberFormat = "# ##0.0"
      End With
End Sub
[/vba]

Автор - KuklP
Дата добавления - 07.11.2013 в 10:24
AndreTM Дата: Четверг, 07.11.2013, 11:55 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Кстати, буквально вчера был задан примерно такой же вопрос.
И ответ (жмакнуть Ctrl+Space, Ctrl+Shift+!, Ctrl+H и заменить разделитель на разделитель) я решил попробовать записать рекордером. И такой же облом - rng.Replace преобразует число, переставляя запятую по формату. А ручками через "Найти и заменить" - всё нормально, запятая на месте... причем установка/сброс Application.ReplaceFormat.NumberFormat и использование ReplaceFormat:=True в rng.Replace - как-то странно себя ведут, то заменяя, то не заменяя...
А так бы было хорошо - замена в одну (или три) строчки кода.


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеКстати, буквально вчера был задан примерно такой же вопрос.
И ответ (жмакнуть Ctrl+Space, Ctrl+Shift+!, Ctrl+H и заменить разделитель на разделитель) я решил попробовать записать рекордером. И такой же облом - rng.Replace преобразует число, переставляя запятую по формату. А ручками через "Найти и заменить" - всё нормально, запятая на месте... причем установка/сброс Application.ReplaceFormat.NumberFormat и использование ReplaceFormat:=True в rng.Replace - как-то странно себя ведут, то заменяя, то не заменяя...
А так бы было хорошо - замена в одну (или три) строчки кода.

Автор - AndreTM
Дата добавления - 07.11.2013 в 11:55
RAN Дата: Четверг, 07.11.2013, 12:07 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Кошек нет, тренироваться не на чем.
Но Серегин вариант должен подойти.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКошек нет, тренироваться не на чем.
Но Серегин вариант должен подойти.

Автор - RAN
Дата добавления - 07.11.2013 в 12:07
KuklP Дата: Четверг, 07.11.2013, 12:23 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Дык, в последнем посте автора пример. Я на нем... yes


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеДык, в последнем посте автора пример. Я на нем... yes

Автор - KuklP
Дата добавления - 07.11.2013 в 12:23
RAN Дата: Четверг, 07.11.2013, 13:13 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А я там кошек не заметил.
Вот только с
[vba]
Код
NumberFormat = "# ##0.0"
[/vba]
разрядность не меняется, а с
[vba]
Код
NumberFormat = "#,##0.0"
[/vba]
та да! :)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА я там кошек не заметил.
Вот только с
[vba]
Код
NumberFormat = "# ##0.0"
[/vba]
разрядность не меняется, а с
[vba]
Код
NumberFormat = "#,##0.0"
[/vba]
та да! :)

Автор - RAN
Дата добавления - 07.11.2013 в 13:13
Timsan Дата: Четверг, 07.11.2013, 17:21 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Так как решить данную проблему?

[vba]
Код


Sub StrToNum()
     With [h2:h100]
         .TextToColumns
         .Replace ".", ".", 2
         .NumberFormat = "# ##0.0"
     End With
End Sub
[/vba]

По пробовал ошибка вылетает при запуске debug
Подсвечивает .TextToColumns
как решить помогите
 
Ответить
СообщениеТак как решить данную проблему?

[vba]
Код


Sub StrToNum()
     With [h2:h100]
         .TextToColumns
         .Replace ".", ".", 2
         .NumberFormat = "# ##0.0"
     End With
End Sub
[/vba]

По пробовал ошибка вылетает при запуске debug
Подсвечивает .TextToColumns
как решить помогите

Автор - Timsan
Дата добавления - 07.11.2013 в 17:21
KuklP Дата: Четверг, 07.11.2013, 19:10 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А у меня не вылетает.
Вы какой диапазон указываете? Небось несколько столбцов? И еще:
ошибка вылетает
- какая ошибка? Номер и описание надо приводить. Гадать нам что-ли? Загляните еще сюда: http://www.excel-vba.ru/forum/index.php?topic=2537.msg13065#new
Тоже сегодняшняя тема, там для нескольких столбцов.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 07.11.2013, 19:22
 
Ответить
СообщениеА у меня не вылетает.
Вы какой диапазон указываете? Небось несколько столбцов? И еще:
ошибка вылетает
- какая ошибка? Номер и описание надо приводить. Гадать нам что-ли? Загляните еще сюда: http://www.excel-vba.ru/forum/index.php?topic=2537.msg13065#new
Тоже сегодняшняя тема, там для нескольких столбцов.

Автор - KuklP
Дата добавления - 07.11.2013 в 19:10
KuklP Дата: Четверг, 07.11.2013, 19:14 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Андрей, использовать "," разделителем разрядов проблемно в локалях. У мну запятая - разделитель дробной части, поэтому ахинею выдает. Пробел д.б. универсальней. Наверняка и у ТС из-за этого проблема.
P.S. Андрюх, у тебя мой макрос работает на примере ТС?


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 07.11.2013, 19:20
 
Ответить
СообщениеАндрей, использовать "," разделителем разрядов проблемно в локалях. У мну запятая - разделитель дробной части, поэтому ахинею выдает. Пробел д.б. универсальней. Наверняка и у ТС из-за этого проблема.
P.S. Андрюх, у тебя мой макрос работает на примере ТС?

Автор - KuklP
Дата добавления - 07.11.2013 в 19:14
RAN Дата: Четверг, 07.11.2013, 23:06 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Работает. И
Вот только с
NumberFormat = "# ##0.0"
разрядность не меняется

оттуда.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеРаботает. И
Вот только с
NumberFormat = "# ##0.0"
разрядность не меняется

оттуда.

Автор - RAN
Дата добавления - 07.11.2013 в 23:06
Timsan Дата: Среда, 13.11.2013, 17:27 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Я так понимаю эта проблема MS Office 2003 и ее решить нельзя??????????
 
Ответить
СообщениеЯ так понимаю эта проблема MS Office 2003 и ее решить нельзя??????????

Автор - Timsan
Дата добавления - 13.11.2013 в 17:27
KuklP Дата: Среда, 13.11.2013, 17:31 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Какая такая проблема? У нас все работает. Если у всех работает, а у Вас одного нет, то проблема уж точно не в 2003.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеКакая такая проблема? У нас все работает. Если у всех работает, а у Вас одного нет, то проблема уж точно не в 2003.

Автор - KuklP
Дата добавления - 13.11.2013 в 17:31
Timsan Дата: Вторник, 26.11.2013, 01:30 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Добрый день форумчане!
Имеется Макрос , по преобразованию текста в число, как сделать что бы макрос работал в столбце E,F,G,H
[vba]
Код

Sub StrToNum()
     With [h2:h100]
         .TextToColumns
         .Replace ".", ".", 2
         .NumberFormat = "# ##0.0"
     End With
End Sub
[/vba]
 
Ответить
СообщениеДобрый день форумчане!
Имеется Макрос , по преобразованию текста в число, как сделать что бы макрос работал в столбце E,F,G,H
[vba]
Код

Sub StrToNum()
     With [h2:h100]
         .TextToColumns
         .Replace ".", ".", 2
         .NumberFormat = "# ##0.0"
     End With
End Sub
[/vba]

Автор - Timsan
Дата добавления - 26.11.2013 в 01:30
wild_pig Дата: Вторник, 26.11.2013, 08:41 | Сообщение № 17
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Цитата
как сделать что бы макрос работал в столбцеE,F,G,H

и
Цитата
With [h2:h100]

Где-то тут собака порылась.
 
Ответить
Сообщение
Цитата
как сделать что бы макрос работал в столбцеE,F,G,H

и
Цитата
With [h2:h100]

Где-то тут собака порылась.

Автор - wild_pig
Дата добавления - 26.11.2013 в 08:41
Timsan Дата: Вторник, 26.11.2013, 11:45 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Какая собака? вы можете нормально объяснить как это сделать?
 
Ответить
СообщениеКакая собака? вы можете нормально объяснить как это сделать?

Автор - Timsan
Дата добавления - 26.11.2013 в 11:45
KuklP Дата: Вторник, 26.11.2013, 11:57 | Сообщение № 19
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Timsan, надо себя нормально вести на форуме. Вы не отвечаете на вопросы(см. пост №11), выкладываете ЛЕВЫЙ пример, с другой структурой данных. А раз так, значит уверены, что сможете изменить предложенное решение под свою структуру. Являетесь на форум через неделю - не работает. С такими заявлениями на форум гадалок. Я Вам написал макрос, подсказал где взять пример для нескольких столбцов - что еще надо, куда еще нормальней? Мне не настолько нечего делать, чтоб по нескольку раз переписывать программу из-за Вашей халатности и пофигизма. Впрочем подскажу куда. Раз ничего не знаю, вникать не хочу, хочу готовое, это сюда:
http://www.excelworld.ru/forum/6
Но и там понадобится пример с реальной структурой и расположением данных.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеTimsan, надо себя нормально вести на форуме. Вы не отвечаете на вопросы(см. пост №11), выкладываете ЛЕВЫЙ пример, с другой структурой данных. А раз так, значит уверены, что сможете изменить предложенное решение под свою структуру. Являетесь на форум через неделю - не работает. С такими заявлениями на форум гадалок. Я Вам написал макрос, подсказал где взять пример для нескольких столбцов - что еще надо, куда еще нормальней? Мне не настолько нечего делать, чтоб по нескольку раз переписывать программу из-за Вашей халатности и пофигизма. Впрочем подскажу куда. Раз ничего не знаю, вникать не хочу, хочу готовое, это сюда:
http://www.excelworld.ru/forum/6
Но и там понадобится пример с реальной структурой и расположением данных.

Автор - KuklP
Дата добавления - 26.11.2013 в 11:57
Hugo Дата: Вторник, 26.11.2013, 12:06 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
У Вас есть код для одного столбца.
Вам нужно сделать чтоб код работал на четыре столбца.
И что, никаких мыслей? :)
Т.к. в данном случае использован механизм, который работает именно с одним столбцом - то первая мысль и будет правильной: выполнить код 4 раза, меняя столбец.
Сама реализация - дело второстепенное, можно тупо 4 раза выполнить 4 похожих кода, можно в цикле менять диапазон через offset или перебором массива с перечнем диапазонов, или...
Нужно смотреть конкретно по месту, по задаче.
Подсказал?

P.S. Timsan, Вам тут никто ничем не обязан. Так что сбавьте пожалуйста обороты... Можно ведь иначе высказаться?


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеУ Вас есть код для одного столбца.
Вам нужно сделать чтоб код работал на четыре столбца.
И что, никаких мыслей? :)
Т.к. в данном случае использован механизм, который работает именно с одним столбцом - то первая мысль и будет правильной: выполнить код 4 раза, меняя столбец.
Сама реализация - дело второстепенное, можно тупо 4 раза выполнить 4 похожих кода, можно в цикле менять диапазон через offset или перебором массива с перечнем диапазонов, или...
Нужно смотреть конкретно по месту, по задаче.
Подсказал?

P.S. Timsan, Вам тут никто ничем не обязан. Так что сбавьте пожалуйста обороты... Можно ведь иначе высказаться?

Автор - Hugo
Дата добавления - 26.11.2013 в 12:06
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос преобразования ячейки текста в число (Формулы)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!