Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Проверка в ячейке формула или нет. / 7 сообщений из 7, страница 1 из 1
06.09.2004, 12:43
    #32681224
wMaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Проверка в ячейке формула или нет.
Как проверить ячейку, чтобы если это формула, то читалась бы сама формула, если значение, то само значение.
...
Рейтинг: 0 / 0
06.09.2004, 12:58
    #32681255
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Проверка в ячейке формула или нет.
Я в VBA не силен, но VB проверка выглядела бы так:
Код: plaintext
1.
2.
3.
4.
If Mid$(str1,  1 ,  1 ) = Chr( 61 ) Then
     ' поле с формулой 
Else
     ' поле со значением 
End If
...
Рейтинг: 0 / 0
06.09.2004, 13:03
    #32681267
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Проверка в ячейке формула или нет.
не всегда наличие знака равенства - признак формулы
Код: plaintext
1.
    If Range("C3").FormulaR1C1 <> Range("C3").Value Then        m = Range("C3").FormulaR1C1 \'это формула    Else        m = Range("C3").Value \'это значение    End If
Как отформатирован этот код?
...
Рейтинг: 0 / 0
06.09.2004, 16:13
    #32681764
wMaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Проверка в ячейке формула или нет.
Вот спасибо.
По поводу знака равенства я тоже сомневался, а вот вариант с расчетом формулы это самое оно.
...
Рейтинг: 0 / 0
06.09.2004, 21:20
    #32682269
Andres 1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Проверка в ячейке формула или нет.
marvanне всегда наличие знака равенства - признак формулы
Код: plaintext
1.
2.
3.
4.
5.
6.
    If Range("C3").FormulaR1C1 <> Range("C3").Value Then
        m = Range("C3").FormulaR1C1 \'это формула
    Else
        m = Range("C3").Value \'это значение
    End If

Как отформатирован этот код?

А зачем лишняя проверка? Вроде же Range.FormulaR1C1 возвращает значение, если формулы нет. Тогда весь этот код сводится к:
Код: plaintext
\nm = Range("C3").FormulaR1C1\n
...
Рейтинг: 0 / 0
07.09.2004, 09:41
    #32682508
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Проверка в ячейке формула или нет.
Andres 1А зачем лишняя проверка? Вроде же Range.FormulaR1C1 возвращает значение, если формулы нет.
Дык, мухи отдельно, котлеты отдельно.
Если не нужно присваивать формулы и значения разным переменным, то замечание правильное.
...
Рейтинг: 0 / 0
07.09.2004, 14:44
    #32683433
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Проверка в ячейке формула или нет.
Чего-то вас не туда понесло:
Код: plaintext
1.
2.
3.
4.
If Range("C3").HasFormula Then
   Debug.Print Range("C3").FormulaR1C1 
Else
   Debug.Print Range("C3").Value
End If 
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Проверка в ячейке формула или нет. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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