Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 25.04.2017
Сообщений: 7
Excel

Как получить значение из ячейки с формулой

22.03.2019, 08:09. Показов 5934. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, форумчане. Очень нужна Ваша помощь.
В последней колонке таблицы , номер которой я сохраняю в переменной ILastColOs, содержится формула ВПР.
В зависимости от полученного значения, я заполняю каждую строчку в соседнем столбце следующим образом

Visual Basic
1
2
3
4
5
6
7
8
9
10
   For rw = 2 To ILastRowOs
     If (.Cells(rw, ILastColOs).Value = "Опережающая поставка") Then
                  .Cells(rw, NColNF2Os).Value = "4.5 Опережающая поставка"
              Else
                   If (.Cells(rw, NColKatZapOs).Value = "NV") Or (.Cells(rw, NColKatZapOs).Value = "NL") Then .Cells(rw, NColNF2Os).Value = "3.1 НВИ/НЛИ"
                      If (.Cells(rw, NColKatZapOs).Value = "VS") Then .Cells(rw, NColNF2Os).Value = "3.2 Втор. сырье"
                      If (.Cells(rw, NColKatZapOs).Value = "FS") Then .Cells(rw, NColNF2Os).Value = "4.3 ТЗБП"
                      If (.Cells(rw, NColKatZapOs).Value = "GO") Then .Cells(rw, NColNF2Os).Value = "4.1 ГОиЧС"
     End If
Next
Но на значение в стоке 3
PureBasic
1
 .Cells(rw, ILastColOs).Value
выходит сообщение об ошибке "type mismatch"
Запинается в строках, где значение #Н/Д, т.е. ошибка - "Не найдено". Если удалить ручками, то работает. Но мне нужно, чтобы формула оставалась. Что делать?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2019, 08:09
Ответы с готовыми решениями:

Получить значение ячейки, зная, что у другой ячейки в этой строке - максимальное значение
Да, может заголовок не очень, но я не знаю как лучше вкратце описать проблему. В общем, у меня есть результаты тестирования, которые...

Как получить значение ячейки?
Всем привет. Вроде бы просто, но никак не могу понять. Соединил базу через ADOConnect. К нему подключил DataSource и ADOQuery. Написал...

Как получить значение ячейки?
Есть запрос. Нужно получить значение ячейки path определенного id. В ней хранится путь. Как правильно написать запрос $result =...

4
3946 / 2339 / 790
Регистрация: 02.11.2012
Сообщений: 6,214
22.03.2019, 08:58
как вариант с начало проверить на ошибку IsError(...)
1
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
22.03.2019, 09:30
СмелаяЛюбовь, а посмотреть чему равно в этот момент rw и какое значение в ячейке с этим rw?

Добавлено через 8 минут
или перед строкой 3 поставить ещё одну проверку If vartype(.Cells(rw, ILastColOs))=vbString Then
1
0 / 0 / 0
Регистрация: 25.04.2017
Сообщений: 7
25.03.2019, 06:49  [ТС]
Я добавила к формуле функцию ЕСЛИОШИБКА, в которой, в случае ошибки, выводится текстом - "не найдено". Теперь проверка условия в программе работает. Спасибо всем за помощь.
Мне, в принципе, все предложенные варианты понравились. (С) "Я еще не волшебник, я только учусь." Поэкспериментирую еще и как Вы предложили.
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
25.03.2019, 08:27
Лучший ответ Сообщение было отмечено СмелаяЛюбовь как решение

Решение

Ещё один вариант избежать проблемы, если в ячейках могут быть значения ошибок

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
For rw = 2 To ILastRowOs
    If CStr(.Cells(rw, ILastColOs)) = "Опережающая поставка" Then
       .Cells(rw, NColNF2Os) = "4.5 Опережающая поставка"
    Else
        Select Case CStr(.Cells(rw, NColKatZapOs))
            Case "NV", "NL": .Cells(rw, NColNF2Os) = "3.1 НВИ/НЛИ"
            Case "VS":       .Cells(rw, NColNF2Os) = "3.2 Втор. сырье"
            Case "FS":       .Cells(rw, NColNF2Os) = "4.3 ТЗБП"
            Case "GO":        Cells(rw, NColNF2Os) = "4.1 ГОиЧС"
        End Select
    End If
Next
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2019, 08:27
Помогаю со студенческими работами здесь

Как получить значение ячейки DataGrid
Есть DataGrid <DataGrid AutoGenerateColumns="False" Name="dataGrid1" VerticalAlignment="Stretch" IsReadOnly="True"...

Как получить значение ячейки таблицы
Есть таблица Employee в которой есть столбец Salary. Подскажите пожалуйста, как можно присвоить переменной значения этого столбца.

Как можно получить значение ячейки DataGridveiw
есть перемена string name; как можно получит значение поле имя из DataGridveiw при нажатие

Как получить значение изменённой ячейки DataGridView?
Вот и весь вопрос. А если подкинете пример с datasource Update буду очень очень благодарен.

Как из С++ получить значение ячейки в файле Excel
хотелось бы наиболее простым способом получить значение из открытого файла в Excel значение в заданной ячейке.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru