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

Вход

Регистрация

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

 

= Мир MS Excel/Обработать VBA корректно строку с содержанием м² - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обработать VBA корректно строку с содержанием м² (Макросы/Sub)
Обработать VBA корректно строку с содержанием м²
VBAbeginer Дата: Пятница, 12.02.2016, 09:17 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Как обработать VBA корректно строку с содержанием м² (степень в верхнем регистре), VBA меняет цифру в верхнем регистре степени в символ вопросительного знака (?), при проходе макросом символ ? обрабатывает не только степень, но и любые другие символы.
Задача: требуется найти в строке м² по маске.
 
Ответить
СообщениеКак обработать VBA корректно строку с содержанием м² (степень в верхнем регистре), VBA меняет цифру в верхнем регистре степени в символ вопросительного знака (?), при проходе макросом символ ? обрабатывает не только степень, но и любые другие символы.
Задача: требуется найти в строке м² по маске.

Автор - VBAbeginer
Дата добавления - 12.02.2016 в 09:17
Kuzmich Дата: Пятница, 12.02.2016, 11:07 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 308
Репутация: 57 ±
Замечаний: 0% ±

Excel 2003
Цитата
найти в строке м²

Используйте цикл по символам в ячейке, например в А1, и условие
[vba]
Код
  For i = 1 To Len(Cells(1, 1))
    If Cells(1, 1).Characters(i, 1).Font.Superscript = True Then
[/vba]
дальше сами.
 
Ответить
Сообщение
Цитата
найти в строке м²

Используйте цикл по символам в ячейке, например в А1, и условие
[vba]
Код
  For i = 1 To Len(Cells(1, 1))
    If Cells(1, 1).Characters(i, 1).Font.Superscript = True Then
[/vba]
дальше сами.

Автор - Kuzmich
Дата добавления - 12.02.2016 в 11:07
SLAVICK Дата: Пятница, 12.02.2016, 11:57 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2007
Репутация: 674 ±
Замечаний: 0% ±

2007,2010,2013,2016
VBA меняет цифру в верхнем регистре степени в символ вопросительного знака (?)

Докажите.
Значит Вы неправильно обрабатываете данные.
Вот функции, которые корректно возвращают код символа, а потом из кода сам символ:
[vba]
Код
Function AscChrW_t(s$)
AscChrW_t = AscW(s)
End Function
[/vba]
[vba]
Код
Function ChrW_t(Optional i# = -32768)
If i > 65535 Or i < -32768 Then ChrW_t = "Error": Exit Function
ChrW_t = ChrW(i)
End Function
[/vba]
требуется найти в строке м² по маске

Пример использования (и поиска) в файле.
К сообщению приложен файл: 4554.xlsm(19Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
VBA меняет цифру в верхнем регистре степени в символ вопросительного знака (?)

Докажите.
Значит Вы неправильно обрабатываете данные.
Вот функции, которые корректно возвращают код символа, а потом из кода сам символ:
[vba]
Код
Function AscChrW_t(s$)
AscChrW_t = AscW(s)
End Function
[/vba]
[vba]
Код
Function ChrW_t(Optional i# = -32768)
If i > 65535 Or i < -32768 Then ChrW_t = "Error": Exit Function
ChrW_t = ChrW(i)
End Function
[/vba]
требуется найти в строке м² по маске

Пример использования (и поиска) в файле.

Автор - SLAVICK
Дата добавления - 12.02.2016 в 11:57
Wasilich Дата: Пятница, 12.02.2016, 11:59 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1195
Репутация: 316 ±
Замечаний: 0% ±

2003
А я вот подумал, если написать просто м2 неужели кто то не поймет? :)
 
Ответить
СообщениеА я вот подумал, если написать просто м2 неужели кто то не поймет? :)

Автор - Wasilich
Дата добавления - 12.02.2016 в 11:59
Roman777 Дата: Пятница, 12.02.2016, 12:03 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 783
Репутация: 88 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
У меня лично возникло ощущение, что это в формуле пытаются найти символ, которая идёт по "вставить-формулу". Я вродебы макро-рекордером как-то пытался это всё записать... там и получались "????"...


Много чего не знаю!!!!
 
Ответить
СообщениеУ меня лично возникло ощущение, что это в формуле пытаются найти символ, которая идёт по "вставить-формулу". Я вродебы макро-рекордером как-то пытался это всё записать... там и получались "????"...

Автор - Roman777
Дата добавления - 12.02.2016 в 12:03
VBAbeginer Дата: Пятница, 12.02.2016, 13:52 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А я вот подумал, если написать просто м2 неужели кто то не поймет?

м2 корректно отрабатывает, но не текст м² через поиск в строке не отрабатывается
есть массив Array("м2", "м?", "м. кв.", "кв. м.", "кв. м", и т. д., вариантов много
[moder]А Вам не кажется, что пора уже к реальному файлу и макросу перейти?


Сообщение отредактировал _Boroda_ - Пятница, 12.02.2016, 13:54
 
Ответить
Сообщение
А я вот подумал, если написать просто м2 неужели кто то не поймет?

м2 корректно отрабатывает, но не текст м² через поиск в строке не отрабатывается
есть массив Array("м2", "м?", "м. кв.", "кв. м.", "кв. м", и т. д., вариантов много
[moder]А Вам не кажется, что пора уже к реальному файлу и макросу перейти?

Автор - VBAbeginer
Дата добавления - 12.02.2016 в 13:52
VBAbeginer Дата: Пятница, 12.02.2016, 13:55 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
при попытке вставить маску "м²" для поиска в строке в VBA, цифра 2 в степени меняется на знак вопроса, текст "м²" в строке не находится
 
Ответить
Сообщениепри попытке вставить маску "м²" для поиска в строке в VBA, цифра 2 в степени меняется на знак вопроса, текст "м²" в строке не находится

Автор - VBAbeginer
Дата добавления - 12.02.2016 в 13:55
SLAVICK Дата: Пятница, 12.02.2016, 14:02 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2007
Репутация: 674 ±
Замечаний: 0% ±

2007,2010,2013,2016
попытке вставить маску "м²"

Значит Вы неправильно обрабатываете данные.
Вот функции, которые корректно возвращают код символа, а потом из кода сам символ:

И еще:
текст "м²" в строке не находится

Пример использования (и поиска) в файле.

Вы мой пример смотрели?
Мы говорим ниочем. Пока не будет реального примера с конкретным вопросом - Вы не получите конкретного ответа.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
попытке вставить маску "м²"

Значит Вы неправильно обрабатываете данные.
Вот функции, которые корректно возвращают код символа, а потом из кода сам символ:

И еще:
текст "м²" в строке не находится

Пример использования (и поиска) в файле.

Вы мой пример смотрели?
Мы говорим ниочем. Пока не будет реального примера с конкретным вопросом - Вы не получите конкретного ответа.

Автор - SLAVICK
Дата добавления - 12.02.2016 в 14:02
VBAbeginer Дата: Пятница, 12.02.2016, 14:10 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
пример
К сообщению приложен файл: 3400429.xlsm(16Kb)
 
Ответить
Сообщениепример

Автор - VBAbeginer
Дата добавления - 12.02.2016 в 14:10
SLAVICK Дата: Пятница, 12.02.2016, 14:14 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2007
Репутация: 674 ±
Замечаний: 0% ±

2007,2010,2013,2016
Оно?:
[vba]
Код
impArray = Array("м2", "м?", "м" & ChrW(178), "м. кв.", "кв. м.", "кв. м", "кв.", "кв м", "квм", "метра", "метров", "квадратов")
[/vba]
К сообщению приложен файл: 4688514.xlsm(16Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеОно?:
[vba]
Код
impArray = Array("м2", "м?", "м" & ChrW(178), "м. кв.", "кв. м.", "кв. м", "кв.", "кв м", "квм", "метра", "метров", "квадратов")
[/vba]

Автор - SLAVICK
Дата добавления - 12.02.2016 в 14:14
VBAbeginer Дата: Пятница, 12.02.2016, 14:31 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
ДА, отлично отрабатывает.
Спасибо большое всем кто откликнулся!
 
Ответить
СообщениеДА, отлично отрабатывает.
Спасибо большое всем кто откликнулся!

Автор - VBAbeginer
Дата добавления - 12.02.2016 в 14:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обработать VBA корректно строку с содержанием м² (Макросы/Sub)
Страница 1 из 11
Поиск:

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