Страницы: 1
RSS
Как присвоить переменной текстовое значение, полученное макросом?
 
Для перевода формул на английский (для дальнейшего использования их в макросе)  использую нижеприведённый код. Кстати, очень удобный «Справочник». Не получается присвоить переменной текстовое значение (сам перевод), получается только результат вычисления. Подскажите, пожалуйста,- как это сделать?  
- - -  
Sub ShowFormulaEng()  
Dim WWW As String  
MsgBox Selection.Formula  
WWW = ‘???  
End Sub
 
по-моему естественно так и продолжить:     www = Selection.Formula
Живи и дай жить..
 
Слэн, я так и делаю, но получаю результат., а хочется (сильно) текст.
 
странно это..
Живи и дай жить..
 
Слэн, глянь файл, пожалуйста.
 
Юр, на сколько я знаю, любой текст со знаком равно на первом месте - это формула для Excel. Это правило, по которому Excel распознаёт обычный текст от формулы.  
 
Тут, на сколько я понимаю 2 выхода  
1) либо убирать равно и вводить перевод в ячейку  
2) либо подставлять апостроф перед формулой, чтобы формула воспринималась как текст  
 
Sub ShowFormulaEng()  
   Dim WWW As String  
   [B2].Select
   MsgBox Selection.Formula  
   WWW = Selection.Formula  
   [A1] = "'" & WWW
End Sub
 
Павел, спасибо! И как это я не додумался сцепить с апострофом. Обидно...
 
Вот ещё небольшой пример для понимания  
 
Текстовой переменной присваивается текст со знаком равно спереди  
 
Sub Test()  
Dim S As String  
   S = "=SUM(A2:A10)"  
   [A1] = S
End Sub  
 
после того, как мы введём этот текст в ячейку А1 - он уже не будет простым текстом - сам Excel переконвертирует ваш текст в формулу и сразу выдаст результат.  
 
Заметьте, что у меня Excel русский, а текст (SUM) я ввожу по-английски. Но в ячейке я уже вижу русское СУММ
 
Да - разобрался. Спасибо ещё раз.
Страницы: 1
Читают тему
Наверх