powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Проверка в ячейке формула или нет.
7 сообщений из 7, страница 1 из 1
Excel. Проверка в ячейке формула или нет.
    #32681224
wMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как проверить ячейку, чтобы если это формула, то читалась бы сама формула, если значение, то само значение.
...
Рейтинг: 0 / 0
Excel. Проверка в ячейке формула или нет.
    #32681255
МаксимВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в VBA не силен, но VB проверка выглядела бы так:
Код: plaintext
1.
2.
3.
4.
If Mid$(str1,  1 ,  1 ) = Chr( 61 ) Then
     ' поле с формулой 
Else
     ' поле со значением 
End If
...
Рейтинг: 0 / 0
Excel. Проверка в ячейке формула или нет.
    #32681267
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не всегда наличие знака равенства - признак формулы
Код: plaintext
1.
    If Range("C3").FormulaR1C1 <> Range("C3").Value Then        m = Range("C3").FormulaR1C1 \'это формула    Else        m = Range("C3").Value \'это значение    End If
Как отформатирован этот код?
...
Рейтинг: 0 / 0
Excel. Проверка в ячейке формула или нет.
    #32681764
wMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот спасибо.
По поводу знака равенства я тоже сомневался, а вот вариант с расчетом формулы это самое оно.
...
Рейтинг: 0 / 0
Excel. Проверка в ячейке формула или нет.
    #32682269
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Excel. Проверка в ячейке формула или нет.
    #32682508
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andres 1А зачем лишняя проверка? Вроде же Range.FormulaR1C1 возвращает значение, если формулы нет.
Дык, мухи отдельно, котлеты отдельно.
Если не нужно присваивать формулы и значения разным переменным, то замечание правильное.
...
Рейтинг: 0 / 0
Excel. Проверка в ячейке формула или нет.
    #32683433
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то вас не туда понесло:
Код: 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
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Проверка в ячейке формула или нет.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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