Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / снять русификацию в формулах русифицированного Excel 2003 / 10 сообщений из 10, страница 1 из 1
22.12.2009, 16:22
    #36380311
AnarME
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
Можно ли в русифицированном Excel 2003 формулы набирать на английском языке? Есть ли какая-нибудь утилита для этого (или dll-ка)?
...
Рейтинг: 0 / 0
22.12.2009, 17:03
    #36380479
vikttur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
Можно :)
Включаете макрорекодер и пишете в ячейке формулу. Например, ВПР получается так:
ActiveCell.FormulaR1C1 = "=VLOOKUP(2,R[-2]C[-14]:R[7]C[-13],2,0)"
...
Рейтинг: 0 / 0
23.12.2009, 05:27
    #36381202
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
AnarME,

http://www.sql.ru/forum/actualthread.aspx?tid=529288&hl=%ef%e5%f0%e5%e2%ee%e4%f7%e8%ea+%f4%ee%f0%ec%f3%eb#5341531
...
Рейтинг: 0 / 0
23.12.2009, 10:45
    #36381525
m
m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
2 Сергей06
Интересная надстройка. Спасибо. Но она больше как информационная, верно?
Тоесть я также затрачу время на копирование из диалогового окна надстройки плюс если формула подбирается вообще не удобно работать. Всего лишь мое мнение.
Интересно, можно ли где то переключить что бы сразу вводить в ячейку на английском...
...
Рейтинг: 0 / 0
23.12.2009, 12:09
    #36381792
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
в окне immediate пишем
activecell.Formula = "=sum(G1:G14)-match(I1,H:H,0)+if(J1="""",2,6)" , кавычки обязательно удваиваем

Можно функцию пользовательскую сделать

Код: plaintext
1.
2.
3.
Public Function myFunc(str As Variant)
 myFunc = Evaluate(str)
End Function

тогда запись в ячейку имеет след вид
=myFunc("sum(G1:G14)-match(I1,H:H,0)+if(J1="""",2,6)")

Опять же кавычки удваиваем, если не хочется удваивать, то меняем функцию
Код: plaintext
1.
2.
Public Function myFunc(str As Variant)
 myFunc = Evaluate(Replace(str, """", """"""))
End Function

Все варианты плохи тем что теряется возможность растягивать формулы, ссылаться на ячейки как при написании обычных формул и т.д., т.к. мы везде используем текстовую строку.
Попробовал чтобы записать можно было, получилось не очень, но выкладываю для размышления :)

пользовательская функция
Код: plaintext
1.
2.
3.
4.
5.
6.
Public Function myFunc2(i, x, y)
On Error Resume Next
Dim str As String
str = Mid(Cells(x, y).Formula,  16 , InStr( 1 , Cells(x, y).Formula, "ROW()") -  15  -  3 )
Debug.Print str
 myFunc2 = Evaluate("" & str & "")
End Function
запись в ячейку (УЖОС), причем знаки припенания (разделители аргументов) как русской локали.
=myFunc2(ЕОШ(sum(G1:G14)-match(I1;H:H;0)+if(J1="";2;6));СТРОКА();СТОЛБЕЦ())


Буду благодарен если кто напомнит как в пользовательской функции сослаться на ячейку в которой она записана, помню что можно, но не помню как, тогда бы запись функции хоть чуть полегче стала бы.
...
Рейтинг: 0 / 0
23.12.2009, 12:10
    #36381798
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
в последней функции мусора много
Код: plaintext
1.
2.
3.
4.
Public Function myFunc2(i, x, y)
Dim str As String
str = Mid(Cells(x, y).Formula,  16 , InStr( 1 , Cells(x, y).Formula, "ROW()") -  15  -  3 )
 myFunc2 = Evaluate("" & str & "")
End Function
...
Рейтинг: 0 / 0
23.12.2009, 12:45
    #36381894
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
Deggasad
Буду благодарен если кто напомнит как в пользовательской функции сослаться на ячейку в которой она записана, помню что можно, но не помню как, тогда бы запись функции хоть чуть полегче стала бы.
Код: plaintext
1.
2.
Public Function test$()
test = Application.Caller.Address( 0 ,  0 )
End Function
...
Рейтинг: 0 / 0
23.12.2009, 12:45
    #36381896
M
M
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
Посмотрите ещё вот:
http://www.sql.ru/forum/actualthread.aspx?tid=453842&hl=1049
...
Рейтинг: 0 / 0
23.12.2009, 13:06
    #36381971
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
qwrqwr
Код: plaintext
1.
2.
Public Function test$()
test = Application.Caller.Address( 0 ,  0 )
End Function

Спасибо
Тады вторая функция меняется в лучшую сторону

Код: plaintext
1.
2.
3.
4.
5.
6.
Public Function myFunc2(i)
Dim str1 As String, str2 As String
str1 = Application.Caller.Formula
str2 = Mid(str1,  16 , Len(str1) -  15  -  2 )
myFunc2 = Evaluate("" & str2 & "")
End Function
Использование в ячейке

=myFunc2(ЕОШ(sum(G1:G14)-match(I1;H:H;0)+if(J1="";2;6)))
...
Рейтинг: 0 / 0
23.12.2009, 13:14
    #36382005
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
снять русификацию в формулах русифицированного Excel 2003
Кавычки - конечно лишние
Deggasad
Код: plaintext
1.
2.
3.
4.
5.
Public Function myFunc2(i)
Dim str1 As String, str2 As String
str1 = Application.Caller.Formula
str2 = Mid(str1,  16 , Len(str1) -  15  -  2 )
myFunc2 = Evaluate(str2)
End Function
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / снять русификацию в формулах русифицированного Excel 2003 / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]