Страница: 1 |
Страница: 1 |
Вопрос: Excel, Cлово с англ-го должно писаться по русски
Добавлено: 31.10.06 19:56
Автор вопроса: Suley-man
Помогите закончить, не врублюсь как его запустить. Не силен я в программировании. Нужно что бы работал на листе "INFO". Ставлю в модуль, он не работает. Напишите если можно полностью. please!
russA1=""
dlina = Len( A1 )
'Сначала обрабатываем самые "длинные" буквы:
i = 1
do while i<= dlina
r = ""
s = lcase$(Mid$( A1, i, 2 ))
Select case True
case s = "ch": r = "ч"
case s = "sh": r = "ш"
case s = "zg": r = "ж"
' и так далее
End Select
'Проверю, малоли буква большая была:
s = Mid$( A1, i, 2 )
if ucase$(left$(s,1))=left$(s,1) then r=ucase$(r)
russA1 = russA1 + r
i=i+1
loop
i = 1
do while i<= dlina
r = ""
s = lcase$(Mid$( A1, i, 1 ))
Select case True
case s = "a": r = "а"
case s = "b": r = "б"
case s = "c": r = "ц"
case s = "d": r = "д"
' и так далее
End Select
'Проверю, малоли буква большая была:
s = Mid$( A1, i, 1 )
if ucase$(left$(s,1))=left$(s,1) then r=ucase$(r)
russA1 = russA1 + r
i=i+1
loop
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
ZoomerSD
ICQ: 148640473
Вопросов: 135
Ответов: 270
Профиль | | #1
Добавлено: 03.11.06 10:14
Вопрос такой, тебе нужно чтобы это событие происходило когда меняеться значение в ячейке, я так понимаю?
Номер ответа: 2
Автор ответа:
Suley-man
Вопросов: 1
Ответов: 1
Профиль | | #2
Добавлено: 03.11.06 18:37
Да, спасибо, уже нашел что искал, вот если кому интересно:
Dim b9 As String
russB9 = ""
b9 = Range("B9".Value
dlina = Len(b9)
i = 1
Do While i <= dlina
r = ""
uc = False
s = Mid$(b9, i, 2)
If UCase$(Left$(s, 1)) = Left$(s, 1) Then uc = True
s = LCase$(s)
Select Case True
Case s = "ch": r = "ч": i = i + 2
Case s = "sh": r = "ш": i = i + 2
Case s = "zh": r = "ж": i = i + 2
Case s = "ts": r = "ц": i = i + 2
Case s = "ya": r = "я": i = i + 2
Case s = "yo": r = "ё": i = i + 2
Case s = "yu": r = "ю": i = i + 2
Case s = "ja": r = "я": i = i + 2
Case s = "jo": r = "ё": i = i + 2
Case s = "ju": r = "ю": i = i + 2
Case s = "je": r = "e": i = i + 2
Case Else
s = LCase$(Mid$(b9, i, 1))
Select Case True
Case s = "a": r = "а": i = i + 1
Case s = "b": r = "б": i = i + 1
Case s = "c": r = "к": i = i + 1
Case s = "d": r = "д": i = i + 1
Case s = "e": r = "е": i = i + 1
Case s = "f": r = "ф": i = i + 1
Case s = "g": r = "г": i = i + 1
Case s = "h": r = "х": i = i + 1
Case s = "i": r = "и": i = i + 1
Case s = "j": r = "й": i = i + 1
Case s = "k": r = "к": i = i + 1
Case s = "l": r = "л": i = i + 1
Case s = "m": r = "м": i = i + 1
Case s = "n": r = "н": i = i + 1
Case s = "o": r = "о": i = i + 1
Case s = "p": r = "п": i = i + 1
Case s = "q": r = "к": i = i + 1
Case s = "r": r = "р": i = i + 1
Case s = "s": r = "с": i = i + 1
Case s = "t": r = "т": i = i + 1
Case s = "u": r = "у": i = i + 1
Case s = "v": r = "в": i = i + 1
Case s = "w": r = "в": i = i + 1
Case s = "x": r = "д": i = i + 1
Case s = "y": r = "й": i = i + 1
Case s = "z": r = "з": i = i + 1
Case s = " ": r = " ": i = i + 1
Case Else: r = s: i = i + 1
End Select
End Select
If uc = True Then r = UCase$(r)
russB9 = russB9 + r
Loop
Range("d9".Value = russB9
End Sub
Номер ответа: 3
Автор ответа:
Василий
Вопросов: 8
Ответов: 27
Профиль | | #3
Добавлено: 03.11.06 22:50
Вот спасибо. А то все за деньги.))