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

Вход

Регистрация

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

 

= Мир MS Excel/Разделить английские и русские буквы - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Разделить английские и русские буквы
0mega Дата: Пятница, 28.01.2011, 22:09 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 34 ±
Замечаний: 0% ±

Доброго времени суток.
Office 2003
Sub no

дано:
смешанный (англо-руский) текс
ingрусский
хочу отделить кириллицу от латиницы
ing русский

своего ума хватило на :
=ПОИСК(КОДСИМВ(">127");B4)
но Excel со мной не согласен

 
Ответить
СообщениеДоброго времени суток.
Office 2003
Sub no

дано:
смешанный (англо-руский) текс
ingрусский
хочу отделить кириллицу от латиницы
ing русский

своего ума хватило на :
=ПОИСК(КОДСИМВ(">127");B4)
но Excel со мной не согласен


Автор - 0mega
Дата добавления - 28.01.2011 в 22:09
RAN Дата: Пятница, 28.01.2011, 23:07 | Сообщение № 2
Группа: Гости
ЮДФ
[vba]
Код
Function КИР_ЛАТ(СЛОВО$) As String
Dim i As Long, strTmp$, FirstS, NextS$
strTmp = Left(СЛОВО, 1)
On Error Resume Next
For i = 1 To Len(СЛОВО)
FirstS = Mid(СЛОВО, i, 1)
NextS = Mid(СЛОВО, i + 1, 1)
Select Case Asc(FirstS)
Case 65 To 90, 97 To 122
Select Case Asc(NextS)
Case 65 To 90, 97 To 122
strTmp = strTmp & NextS
Case Else
strTmp = strTmp & " " & NextS
End Select
Case 192 To 255, 168, 184
Select Case Asc(NextS)
Case 192 To 255, 168, 184
strTmp = strTmp & NextS
Case 65 To 90, 97 To 122
strTmp = strTmp & " " & NextS
Case Else
strTmp = strTmp & " " & NextS
End Select
Case Else
strTmp = strTmp & " " & NextS
End Select
Next i
КИР_ЛАТ = strTmp
End Function
[/vba]
 
Ответить
СообщениеЮДФ
[vba]
Код
Function КИР_ЛАТ(СЛОВО$) As String
Dim i As Long, strTmp$, FirstS, NextS$
strTmp = Left(СЛОВО, 1)
On Error Resume Next
For i = 1 To Len(СЛОВО)
FirstS = Mid(СЛОВО, i, 1)
NextS = Mid(СЛОВО, i + 1, 1)
Select Case Asc(FirstS)
Case 65 To 90, 97 To 122
Select Case Asc(NextS)
Case 65 To 90, 97 To 122
strTmp = strTmp & NextS
Case Else
strTmp = strTmp & " " & NextS
End Select
Case 192 To 255, 168, 184
Select Case Asc(NextS)
Case 192 To 255, 168, 184
strTmp = strTmp & NextS
Case 65 To 90, 97 To 122
strTmp = strTmp & " " & NextS
Case Else
strTmp = strTmp & " " & NextS
End Select
Case Else
strTmp = strTmp & " " & NextS
End Select
Next i
КИР_ЛАТ = strTmp
End Function
[/vba]

Автор - RAN
Дата добавления - 28.01.2011 в 23:07
RAN Дата: Пятница, 28.01.2011, 23:24 | Сообщение № 3
Группа: Гости
20 и 21 строки лишние, случайно остались
Case 65 To 90, 97 To 122
strTmp = strTmp & " " & NextS
 
Ответить
Сообщение20 и 21 строки лишние, случайно остались
Case 65 To 90, 97 To 122
strTmp = strTmp & " " & NextS

Автор - RAN
Дата добавления - 28.01.2011 в 23:24
0mega Дата: Суббота, 29.01.2011, 11:10 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 34 ±
Замечаний: 0% ±

RAN,
благодарю Вас за уделенное время
К сожалению, для меня это высший пилотаж.
Мне надо чтобы самый первый знак был "=" или "+"
 
Ответить
СообщениеRAN,
благодарю Вас за уделенное время
К сожалению, для меня это высший пилотаж.
Мне надо чтобы самый первый знак был "=" или "+"

Автор - 0mega
Дата добавления - 29.01.2011 в 11:10
Serge_007 Дата: Суббота, 29.01.2011, 12:13 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Если всегда сначала идут английские буквы, а потом русские (не вперемежку!), то подойдёт такой вариант (см. вложение).
К сообщению приложен файл: separate_letter.xls (24.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЕсли всегда сначала идут английские буквы, а потом русские (не вперемежку!), то подойдёт такой вариант (см. вложение).

Автор - Serge_007
Дата добавления - 29.01.2011 в 12:13
RAN Дата: Суббота, 29.01.2011, 12:19 | Сообщение № 6
Группа: Гости
Оно и будет "=КИР_ЛАТ"
Функция, определенная пользователем.
 
Ответить
СообщениеОно и будет "=КИР_ЛАТ"
Функция, определенная пользователем.

Автор - RAN
Дата добавления - 29.01.2011 в 12:19
Alex_ST Дата: Суббота, 29.01.2011, 22:36 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Я для выделения плодов трудов "умельцев", которые мешают в тексте латиницу и кириллицу, написал макрос, выделяющий такие буквы разным цветом:Sub [vba]
Код
Color_RUS_LAT()   ' Выделяет русские символы в Selection ЗЕЛЁНЫМ, латинские - КРАСНЫМ
      If TypeName(Selection) <> "Range" Then Exit Sub
      Dim iCell As Range, rRange As Range, i%, ASCII%, iColor%
      On Error GoTo eXXit
      Set rRange = Intersect(Selection, ActiveSheet.UsedRange)
      If rRange Is Nothing Then Exit Sub
      Application.ScreenUpdating = False
      For Each iCell In rRange
          For i = 1 To Len(iCell)
              ASCII = Asc(Mid(iCell, i, 1))
              If (ASCII >= 192 And ASCII <= 255) Then iColor = 10   'цвет символов РУС
              If (ASCII >= 65 And ASCII <= 90) Or (ASCII >= 97 And ASCII <= 122) Then iColor = 3   'цвет символов LAT
              iCell.Characters(Start:=i, Length:=1).Font.ColorIndex = iColor
          Next i
      Next iCell
      rRange.Select
      Application.ScreenUpdating = True
eXXit:     End Sub
[/vba]При желании из него легко можно и ЮДФ-ку сделать. Хотя ЗАЧЕМ?
Я этот макрос у себя в Персонал положил, а пункт-кнопочку для его вызова в меню "Сервис" засунул с капчей "Выделить цветом РУС-LAT" и регулярно пользуюсь.
Очень помогает обрабатывать-объединять чужие таблицы, полученные из разных источников.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЯ для выделения плодов трудов "умельцев", которые мешают в тексте латиницу и кириллицу, написал макрос, выделяющий такие буквы разным цветом:Sub [vba]
Код
Color_RUS_LAT()   ' Выделяет русские символы в Selection ЗЕЛЁНЫМ, латинские - КРАСНЫМ
      If TypeName(Selection) <> "Range" Then Exit Sub
      Dim iCell As Range, rRange As Range, i%, ASCII%, iColor%
      On Error GoTo eXXit
      Set rRange = Intersect(Selection, ActiveSheet.UsedRange)
      If rRange Is Nothing Then Exit Sub
      Application.ScreenUpdating = False
      For Each iCell In rRange
          For i = 1 To Len(iCell)
              ASCII = Asc(Mid(iCell, i, 1))
              If (ASCII >= 192 And ASCII <= 255) Then iColor = 10   'цвет символов РУС
              If (ASCII >= 65 And ASCII <= 90) Or (ASCII >= 97 And ASCII <= 122) Then iColor = 3   'цвет символов LAT
              iCell.Characters(Start:=i, Length:=1).Font.ColorIndex = iColor
          Next i
      Next iCell
      rRange.Select
      Application.ScreenUpdating = True
eXXit:     End Sub
[/vba]При желании из него легко можно и ЮДФ-ку сделать. Хотя ЗАЧЕМ?
Я этот макрос у себя в Персонал положил, а пункт-кнопочку для его вызова в меню "Сервис" засунул с капчей "Выделить цветом РУС-LAT" и регулярно пользуюсь.
Очень помогает обрабатывать-объединять чужие таблицы, полученные из разных источников.

Автор - Alex_ST
Дата добавления - 29.01.2011 в 22:36
Serge_007 Дата: Суббота, 29.01.2011, 22:40 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Такой макрос можно и в "Готовые решения" положить.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеТакой макрос можно и в "Готовые решения" положить.

Автор - Serge_007
Дата добавления - 29.01.2011 в 22:40
Alex_ST Дата: Суббота, 29.01.2011, 22:43 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (Serge_007)
Такой макрос можно и в "Готовые решения" положить.

Ну, если ты так считаешь...
Ладно, сделаю.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Суббота, 29.01.2011, 23:01
 
Ответить
Сообщение
Quote (Serge_007)
Такой макрос можно и в "Готовые решения" положить.

Ну, если ты так считаешь...
Ладно, сделаю.

Автор - Alex_ST
Дата добавления - 29.01.2011 в 22:43
Serge_007 Дата: Суббота, 29.01.2011, 22:44 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Alex_ST)
Ну, если ты так считаешь...

А ты нет?
Это же готовое решение, (причём красивое) даже напильник не нужен smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
Ну, если ты так считаешь...

А ты нет?
Это же готовое решение, (причём красивое) даже напильник не нужен smile

Автор - Serge_007
Дата добавления - 29.01.2011 в 22:44
Alex_ST Дата: Суббота, 29.01.2011, 22:54 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Серёга, ну ты же знаешь, что я всё, что делаю, стараюсь дополировать до доступного для моего уровня идеала.
Спасибо за плюс в репутацию.

Создал в "Готовых решениях" топик Макрос "Color_RUS_LAT"




С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Суббота, 29.01.2011, 23:02
 
Ответить
СообщениеСерёга, ну ты же знаешь, что я всё, что делаю, стараюсь дополировать до доступного для моего уровня идеала.
Спасибо за плюс в репутацию.

Создал в "Готовых решениях" топик Макрос "Color_RUS_LAT"


Автор - Alex_ST
Дата добавления - 29.01.2011 в 22:54
Serge_007 Дата: Суббота, 29.01.2011, 22:57 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Alex_ST)
я всё, что делаю стараюсь дополировать до доступного для моего уровня идеала

Эх, все-бы так...

Quote (Alex_ST)
В "Решениях" топик создал.



ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
я всё, что делаю стараюсь дополировать до доступного для моего уровня идеала

Эх, все-бы так...

Quote (Alex_ST)
В "Решениях" топик создал.


Автор - Serge_007
Дата добавления - 29.01.2011 в 22:57
RAN Дата: Суббота, 29.01.2011, 23:04 | Сообщение № 13
Группа: Гости
Да что же вы букву "ё" так не любите? surprised
 
Ответить
СообщениеДа что же вы букву "ё" так не любите? surprised

Автор - RAN
Дата добавления - 29.01.2011 в 23:04
Serge_007 Дата: Суббота, 29.01.2011, 23:12 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (RAN)
то же вы букву "ё" так не любите?

А её никто не любит. Это искусственная буква, придуманная конкретным человеком (Гоголем, по-моему).
Эта буква - изгой русского языка, единственная буква, которая не используется в официальных документах (например в думе или правительстве).
А ещё её не используют в официальных названиях например станций метро. поэтому в Москве есть пошло-порнографическая станция "Щелковская", а не прилично-понятная "Щёлковская".


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (RAN)
то же вы букву "ё" так не любите?

А её никто не любит. Это искусственная буква, придуманная конкретным человеком (Гоголем, по-моему).
Эта буква - изгой русского языка, единственная буква, которая не используется в официальных документах (например в думе или правительстве).
А ещё её не используют в официальных названиях например станций метро. поэтому в Москве есть пошло-порнографическая станция "Щелковская", а не прилично-понятная "Щёлковская".

Автор - Serge_007
Дата добавления - 29.01.2011 в 23:12
0mega Дата: Воскресенье, 30.01.2011, 22:07 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 34 ±
Замечаний: 0% ±

Quote (Serge_007)
Если всегда сначала идут английские буквы, а потом русские (не вперемежку!), то подойдёт такой вариант (см. вложение).

Сергей, спасибо
Именно так я и хотел .
Для полного счастья мне надо изменить формулу так , чтобы...
=ЛЕВСИМВ(D4;МИН(ЕСЛИ(ЕСЛИ(ЕОШ(КОДСИМВ(ПСТР(D4;СТРОКА(1:99);1)));100;КОДСИМВ(ПСТР(D4;СТРОКА(1:99);1)))>191;СТРОКА(1:99)))-1)
значение >191 заменить на <123

ЗЫ
у меня компьютер старенький , он до стольки считать не умеет

 
Ответить
Сообщение
Quote (Serge_007)
Если всегда сначала идут английские буквы, а потом русские (не вперемежку!), то подойдёт такой вариант (см. вложение).

Сергей, спасибо
Именно так я и хотел .
Для полного счастья мне надо изменить формулу так , чтобы...
=ЛЕВСИМВ(D4;МИН(ЕСЛИ(ЕСЛИ(ЕОШ(КОДСИМВ(ПСТР(D4;СТРОКА(1:99);1)));100;КОДСИМВ(ПСТР(D4;СТРОКА(1:99);1)))>191;СТРОКА(1:99)))-1)
значение >191 заменить на <123

ЗЫ
у меня компьютер старенький , он до стольки считать не умеет


Автор - 0mega
Дата добавления - 30.01.2011 в 22:07
Serge_007 Дата: Воскресенье, 30.01.2011, 22:16 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (0mega)
значение >191 заменить на <123

Что мешает?
И главное: ЗАЧЕМ?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (0mega)
значение >191 заменить на <123

Что мешает?
И главное: ЗАЧЕМ?

Автор - Serge_007
Дата добавления - 30.01.2011 в 22:16
0mega Дата: Понедельник, 31.01.2011, 16:48 | Сообщение № 17
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 34 ±
Замечаний: 0% ±

Quote (Serge_007)
Что мешает?
И главное: ЗАЧЕМ?

подробное описание с картинками на почте
 
Ответить
Сообщение
Quote (Serge_007)
Что мешает?
И главное: ЗАЧЕМ?

подробное описание с картинками на почте

Автор - 0mega
Дата добавления - 31.01.2011 в 16:48
Serge_007 Дата: Понедельник, 31.01.2011, 20:06 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (0mega)
подробное описание с картинками на почте

0mega, так не делается. Что за неуважение к остальным?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (0mega)
подробное описание с картинками на почте

0mega, так не делается. Что за неуважение к остальным?

Автор - Serge_007
Дата добавления - 31.01.2011 в 20:06
0mega Дата: Понедельник, 31.01.2011, 20:52 | Сообщение № 19
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 34 ±
Замечаний: 0% ±

Quote (Serge_007)
подробное описание с картинками на почте

0mega, так не делается.


только одна картинка В ZIP-e весит 750 (!)


Quote (Serge_007)
Что за неуважение к остальным?

Наоборот... Из-за уважения к форумчанам и форуму не хочу сюда грузить никому не нужный мусор.
Ваша формула будет прекрасно работать у любого юзера этого форума .
А то, что моя машина умеет считать только до 123 - так это только моя головная боль и никому это не интересно
К сообщению приложен файл: 9407832.png (42.1 Kb)


Сообщение отредактировал 0mega - Понедельник, 31.01.2011, 20:53
 
Ответить
Сообщение
Quote (Serge_007)
подробное описание с картинками на почте

0mega, так не делается.


только одна картинка В ZIP-e весит 750 (!)


Quote (Serge_007)
Что за неуважение к остальным?

Наоборот... Из-за уважения к форумчанам и форуму не хочу сюда грузить никому не нужный мусор.
Ваша формула будет прекрасно работать у любого юзера этого форума .
А то, что моя машина умеет считать только до 123 - так это только моя головная боль и никому это не интересно

Автор - 0mega
Дата добавления - 31.01.2011 в 20:52
Serge_007 Дата: Понедельник, 31.01.2011, 21:23 | Сообщение № 20
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (0mega)
олько одна картинка В ZIP-e весит 750

А то что я всё-равно не могу посмотреть вложение такого размера с работы (ограничение как и на этом формуме и на планете в 100 Кб)?
И есть формат gif. Да и вообще зачем столько картинок?

Quote (0mega)
не хочу сюда грузить никому не нужный мусор

Т.е. мне его грузить можно?

Quote (0mega)
о, что моя машина умеет считать только до 123

Как раз вот это, я думаю, интересно многим.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (0mega)
олько одна картинка В ZIP-e весит 750

А то что я всё-равно не могу посмотреть вложение такого размера с работы (ограничение как и на этом формуме и на планете в 100 Кб)?
И есть формат gif. Да и вообще зачем столько картинок?

Quote (0mega)
не хочу сюда грузить никому не нужный мусор

Т.е. мне его грузить можно?

Quote (0mega)
о, что моя машина умеет считать только до 123

Как раз вот это, я думаю, интересно многим.

Автор - Serge_007
Дата добавления - 31.01.2011 в 21:23
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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