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

Вход

Регистрация

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

 

= Мир MS Excel/Перевод текста в число - Мир MS Excel

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

2010
Здравствуйте.
А есть ли какой-нибудь макрос, чтобы переводил письменную форму числа обратно в текст?
 
Ответить
СообщениеЗдравствуйте.
А есть ли какой-нибудь макрос, чтобы переводил письменную форму числа обратно в текст?

Автор - AnRusik
Дата добавления - 06.06.2013 в 12:49
Serge_007 Дата: Четверг, 06.06.2013, 19:21 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Что такое письменная форму числа и почему число надо перевести обратно в текст, если это число?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЧто такое письменная форму числа и почему число надо перевести обратно в текст, если это число?

Автор - Serge_007
Дата добавления - 06.06.2013 в 19:21
DJ_Marker_MC Дата: Пятница, 07.06.2013, 01:24 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
кстати вопрос интересный и я буквально сегодня пытался найти ответ, еще до созданной темы... Хотя суть вопроса описана не верно, а вот название всё таки AnRusik подобрал правильное...
Меня вот что интересует... Иногда попадаются файлы в которых числа представлены как текстовые значения, чтобы их преобразовать в числовые достаточно выделить диапазон с данными "числами" и на во всплывшей менюшке возле курсора (знак восклицания) нажать преобразовать в число.
Что интересно то данное телодвижение не возможно записать макрорекордером, точнее возможно, но модуль выходит пустой...
Собственно возникает сам вопрос, как это действие записать в код, чтоб в дальнейшем повесить на кнопку?
 
Ответить
Сообщениекстати вопрос интересный и я буквально сегодня пытался найти ответ, еще до созданной темы... Хотя суть вопроса описана не верно, а вот название всё таки AnRusik подобрал правильное...
Меня вот что интересует... Иногда попадаются файлы в которых числа представлены как текстовые значения, чтобы их преобразовать в числовые достаточно выделить диапазон с данными "числами" и на во всплывшей менюшке возле курсора (знак восклицания) нажать преобразовать в число.
Что интересно то данное телодвижение не возможно записать макрорекордером, точнее возможно, но модуль выходит пустой...
Собственно возникает сам вопрос, как это действие записать в код, чтоб в дальнейшем повесить на кнопку?

Автор - DJ_Marker_MC
Дата добавления - 07.06.2013 в 01:24
KuklP Дата: Пятница, 07.06.2013, 06:40 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Есть много способов такого преобразования, каждый для своего случая. Вот пара:
[vba]
Код
Sub StrToNum()
      Cells.Replace ".", ".", 2
      Cells.Replace Chr(160), "", 2
End Sub
[/vba]

[vba]
Код
Public Sub w1C_convert()     
      With Selection
          .Replace "'", "": .Replace ".", Mid(1 / 2, 2, 1)
          .TextToColumns: .NumberFormat = "0.00"
      End With
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЕсть много способов такого преобразования, каждый для своего случая. Вот пара:
[vba]
Код
Sub StrToNum()
      Cells.Replace ".", ".", 2
      Cells.Replace Chr(160), "", 2
End Sub
[/vba]

[vba]
Код
Public Sub w1C_convert()     
      With Selection
          .Replace "'", "": .Replace ".", Mid(1 / 2, 2, 1)
          .TextToColumns: .NumberFormat = "0.00"
      End With
End Sub
[/vba]

Автор - KuklP
Дата добавления - 07.06.2013 в 06:40
Hugo Дата: Пятница, 07.06.2013, 11:22 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3253
Репутация: 707 ±
Замечаний: 0% ±

2019
Или "текст по столбцам - готово" этому столбцу.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеИли "текст по столбцам - готово" этому столбцу.

Автор - Hugo
Дата добавления - 07.06.2013 в 11:22
KuklP Дата: Пятница, 07.06.2013, 18:56 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Игорь, вопрос был:
Цитата (DJ_Marker_MC)
как это действие записать в код, чтоб в дальнейшем повесить на кнопку?

в моем ответе твой способ:
Цитата (KuklP)
 .TextToColumns

tongue biggrin


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеИгорь, вопрос был:
Цитата (DJ_Marker_MC)
как это действие записать в код, чтоб в дальнейшем повесить на кнопку?

в моем ответе твой способ:
Цитата (KuklP)
 .TextToColumns

tongue biggrin

Автор - KuklP
Дата добавления - 07.06.2013 в 18:56
Hugo Дата: Пятница, 07.06.2013, 20:35 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3253
Репутация: 707 ±
Замечаний: 0% ±

2019
Сергей, привет.
Не заметил sad
Ну пусть моё предложение будет для ручного использования. В общем оно так и задумывалось smile


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеСергей, привет.
Не заметил sad
Ну пусть моё предложение будет для ручного использования. В общем оно так и задумывалось smile

Автор - Hugo
Дата добавления - 07.06.2013 в 20:35
RAN Дата: Пятница, 07.06.2013, 21:31 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Ээээ, господа, товарищи, братья...
Дискуссион, конечно, изрядный.
Нл, может кому не влом растолковать изречение
Цитата (AnRusik)
А есть ли какой-нибудь макрос, чтобы переводил письменную форму числа обратно в текст?

А то контора пишет...


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЭэээ, господа, товарищи, братья...
Дискуссион, конечно, изрядный.
Нл, может кому не влом растолковать изречение
Цитата (AnRusik)
А есть ли какой-нибудь макрос, чтобы переводил письменную форму числа обратно в текст?

А то контора пишет...

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

2003-2010
Андрюх, а оно нам надо? Мы о своем, о девичьем. biggrin ТС ляпнул какую-то фигню и свалил. Еще об этом переживать...


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеАндрюх, а оно нам надо? Мы о своем, о девичьем. biggrin ТС ляпнул какую-то фигню и свалил. Еще об этом переживать...

Автор - KuklP
Дата добавления - 07.06.2013 в 21:37
DJ_Marker_MC Дата: Пятница, 07.06.2013, 21:43 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Цитата (Hugo)
Ну пусть моё предложение будет для ручного использования


в целом оно конечно отвечает на суть вопроса, но если сделать так:
выделить ячейки и сделать формат текстовый
вбить туда числа (соответственно они будут как текст)
потом всё это дело выделить и нажать на ТЕКСТ ПО СТОЛБЦАМ - ГОТОВО

то да... они реально становятся числами, но если мы, после два этоо, раза щелкаем в любую из этих ячеек и нажимаем энтер, то значение вновь становится текстовым... А вот второй макрос KuklP - Public Sub w1C_convert() похоже действительно справился с вопросом...

Что касается вопроса автора, то мне кажется он ошибся, почему то мне кажется, что вопрос такой:
А есть ли какой-нибудь макрос, чтобы переводил письменную форму числа обратно в ЧИСЛО?

Другими словами если есть надпись в ячейке "Семь" то на выходе хочет получить "7" - сдается мне что вопрос именно в этом.


Сообщение отредактировал DJ_Marker_MC - Пятница, 07.06.2013, 21:44
 
Ответить
Сообщение
Цитата (Hugo)
Ну пусть моё предложение будет для ручного использования


в целом оно конечно отвечает на суть вопроса, но если сделать так:
выделить ячейки и сделать формат текстовый
вбить туда числа (соответственно они будут как текст)
потом всё это дело выделить и нажать на ТЕКСТ ПО СТОЛБЦАМ - ГОТОВО

то да... они реально становятся числами, но если мы, после два этоо, раза щелкаем в любую из этих ячеек и нажимаем энтер, то значение вновь становится текстовым... А вот второй макрос KuklP - Public Sub w1C_convert() похоже действительно справился с вопросом...

Что касается вопроса автора, то мне кажется он ошибся, почему то мне кажется, что вопрос такой:
А есть ли какой-нибудь макрос, чтобы переводил письменную форму числа обратно в ЧИСЛО?

Другими словами если есть надпись в ячейке "Семь" то на выходе хочет получить "7" - сдается мне что вопрос именно в этом.

Автор - DJ_Marker_MC
Дата добавления - 07.06.2013 в 21:43
Hugo Дата: Пятница, 07.06.2013, 22:29 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3253
Репутация: 707 ±
Замечаний: 0% ±

2019
Ну в общем с форматом так и есть, его тоже вручную нужно поменять.
Но я вот именно с таким косяком (чтоб был текстовый формат) кажется не сталкивался. Обычно формат общий, а числа забиты как текст.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНу в общем с форматом так и есть, его тоже вручную нужно поменять.
Но я вот именно с таким косяком (чтоб был текстовый формат) кажется не сталкивался. Обычно формат общий, а числа забиты как текст.

Автор - Hugo
Дата добавления - 07.06.2013 в 22:29
anvg Дата: Суббота, 08.06.2013, 13:33 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Вариант, протестируйте, пожалуйста.
Подключить библиотеки: Microsoft Scripting Runtime, Microsoft VBScript Regular Expressions


Сообщение отредактировал anvg - Суббота, 08.06.2013, 13:34
 
Ответить
СообщениеВариант, протестируйте, пожалуйста.
Подключить библиотеки: Microsoft Scripting Runtime, Microsoft VBScript Regular Expressions

Автор - anvg
Дата добавления - 08.06.2013 в 13:33
AndreTM Дата: Суббота, 08.06.2013, 18:35 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Мой вариант. Тоже потестируйте, пожалуйста.


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеМой вариант. Тоже потестируйте, пожалуйста.

Автор - AndreTM
Дата добавления - 08.06.2013 в 18:35
DJ_Marker_MC Дата: Суббота, 08.06.2013, 21:37 | Сообщение № 14
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
AndreTM, а до скольких считать должно? Ради интереса поТЫЦал... всё вроде гуд... но не распознало "Тысяча" хотя распознаёт "Восемь тысяч". Ну и миллион тоже не по зубам коду оказался)))
 
Ответить
СообщениеAndreTM, а до скольких считать должно? Ради интереса поТЫЦал... всё вроде гуд... но не распознало "Тысяча" хотя распознаёт "Восемь тысяч". Ну и миллион тоже не по зубам коду оказался)))

Автор - DJ_Marker_MC
Дата добавления - 08.06.2013 в 21:37
AndreTM Дата: Суббота, 08.06.2013, 21:51 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Цитата (DJ_Marker_MC)
не распознало "Тысяча"
Именование "Число прописью" предполагает, что перед квалификатором порядка всегда присутствует число: "Одна тысяча рублей".


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Цитата (DJ_Marker_MC)
не распознало "Тысяча"
Именование "Число прописью" предполагает, что перед квалификатором порядка всегда присутствует число: "Одна тысяча рублей".

Автор - AndreTM
Дата добавления - 08.06.2013 в 21:51
RAN Дата: Суббота, 08.06.2013, 23:02 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Чем то мне эта тема напоминает Партийно Политическую Работу
По... По.. Разошлись


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЧем то мне эта тема напоминает Партийно Политическую Работу
По... По.. Разошлись

Автор - RAN
Дата добавления - 08.06.2013 в 23:02
MCH Дата: Среда, 12.06.2013, 09:00 | Сообщение № 17
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

мой код для данной задачи, два варианта:

выкладывался здесь http://www.planetaexcel.ru/forum....D=27094
 
Ответить
Сообщениемой код для данной задачи, два варианта:

выкладывался здесь http://www.planetaexcel.ru/forum....D=27094

Автор - MCH
Дата добавления - 12.06.2013 в 09:00
MCH Дата: Среда, 12.06.2013, 09:25 | Сообщение № 18
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Цитата (AndreTM)
Мой вариант. Тоже потестируйте, пожалуйста.

один миллион = 1000
восемь миллиардов четыре тысячи триста семьдесят восемь = 8004378
сто сорок семь миллиардов двадцать два миллиона = 147022000
два миллиарда пятнадцать тысяч пятьсот = 2015500
Три миллиарда = 3000
К сообщению приложен файл: post_238026.xls (65.5 Kb)
 
Ответить
Сообщение
Цитата (AndreTM)
Мой вариант. Тоже потестируйте, пожалуйста.

один миллион = 1000
восемь миллиардов четыре тысячи триста семьдесят восемь = 8004378
сто сорок семь миллиардов двадцать два миллиона = 147022000
два миллиарда пятнадцать тысяч пятьсот = 2015500
Три миллиарда = 3000

Автор - MCH
Дата добавления - 12.06.2013 в 09:25
nerv Дата: Среда, 12.06.2013, 10:54 | Сообщение № 19
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

мне как-то тоже аналогичная задача попадалась. Только она была чуть сложнее - текст с числами прописью. Найти числа и преобразовать (в т.ч. дробные). Вытаскивать пришлось самописной регуляркой, а преобразованием занималась функция MCH (насколько помню) smile


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
Сообщениемне как-то тоже аналогичная задача попадалась. Только она была чуть сложнее - текст с числами прописью. Найти числа и преобразовать (в т.ч. дробные). Вытаскивать пришлось самописной регуляркой, а преобразованием занималась функция MCH (насколько помню) smile

Автор - nerv
Дата добавления - 12.06.2013 в 10:54
AndreTM Дата: Среда, 12.06.2013, 15:06 | Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Цитата (MCH)
один миллион = 1000 ...
Это я тогда поторопился - ведь записывал же явные степени 1000, а затем что-то переклинило... Так что теперь я решил избавиться от второго массива, изменил порядок суммирования - и сошлось smile


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Среда, 12.06.2013, 15:08
 
Ответить
Сообщение
Цитата (MCH)
один миллион = 1000 ...
Это я тогда поторопился - ведь записывал же явные степени 1000, а затем что-то переклинило... Так что теперь я решил избавиться от второго массива, изменил порядок суммирования - и сошлось smile

Автор - AndreTM
Дата добавления - 12.06.2013 в 15:06
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перевод текста в число (Макросы Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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