Как задать значение ячейки в excel

ЯЧЕЙКА Функция возвращает сведения о форматировании, расположении или содержимом ячейки. Например, если перед выполнением вычислений с ячейкой необходимо удостовериться в том, что она содержит числовое значение, а не текст, можно использовать следующую формулу:

= Если (ЯЧЕЙКа ("тип"; a1) = "v"; a1 * 2; 0)

Эта формула вычисляет произведение A1*2, только если в ячейке A1 содержится числовое значение, и возвращает значение 0, если в ячейке A1 содержится текст или она пустая.

Синтаксис

Аргументы функции ЯЧЕЙКА описаны ниже.

Текстовое значение, задающее тип сведений о ячейке при возвращении. В приведенном ниже списке указаны возможные значения аргумента "тип_сведений" и соответствующие результаты.

Ячейка, сведения о которой требуется получить. Если параметр опущен, возвращается информация, указанная в аргументе info_type, для последней измененной ячейки. Если аргумент ссылки указывает на диапазон ячеек, функция ЯЧЕЙКА возвращает сведения только для левой верхней ячейки диапазона.

значения info_type

В следующем списке описаны текстовые значения, которые можно использовать для аргумента info_type. Эти значения должны быть введены в функцию ЯЧЕЙКИ с кавычками ("").

Ссылка на первую ячейку в аргументе "ссылка" в виде текстовой строки.

Номер столбца ячейки в аргументе "ссылка".

1, если форматированием ячейки предусмотрено изменение цвета для отрицательных значений; во всех остальных случаях — 0 (ноль).

Примечание: Это значение не поддерживается в Excel Online, Excel Mobile и Excel Starter.

Значение левой верхней ячейки в ссылке; не формула.

Имя файла (включая полный путь), содержащего ссылку, в виде текстовой строки. Если лист, содержащий ссылку, еще не был сохранен, возвращается пустая строка ("").

Примечание: Это значение не поддерживается в Excel Online, Excel Mobile и Excel Starter.

Текстовое значение, соответствующее числовому формату ячейки. Значения для различных форматов показаны ниже в таблице. Если ячейка изменяет цвет при выводе отрицательных значений, в конце текстового значения добавляется "-". Если положительные или все числа отображаются в круглых скобках, в конце текстового значения добавляется "()".

Примечание: Это значение не поддерживается в Excel Online, Excel Mobile и Excel Starter.

1, если форматированием ячейки предусмотрено отображение положительных или всех чисел в круглых скобках; во всех остальных случаях — 0.

Примечание: Это значение не поддерживается в Excel Online, Excel Mobile и Excel Starter.

Текстовое значение, соответствующее префиксу метки ячейки. Одиночная кавычка (‘) соответствует тексту, выровненному влево, двойная кавычка (") — тексту, выровненному вправо, знак крышки (^) — тексту, выровненному по центру, обратная косая черта () — тексту, распределенному по всей ширине ячейки, а пустой текст ("") — любому другому содержимому ячейки.

Примечание: Это значение не поддерживается в Excel Online, Excel Mobile и Excel Starter.

Читайте также:  Горячие клавиши переход между вкладками

0, если ячейка разблокирована, и 1, если ячейка заблокирована.

Примечание: Это значение не поддерживается в Excel Online, Excel Mobile и Excel Starter.

Номер строки ячейки в аргументе "ссылка".

Текстовое значение, соответствующее типу данных в ячейке. Значение "b" соответствует пустой ячейке, "l" — текстовой константе в ячейке, "v" — любому другому содержимому.

Возвращает массив с двумя элементами.

Первый элемент в массиве — это ширина столбца ячейки, округленная до целого числа. Единица измерения равна ширине одного знака для шрифта стандартного размера.

Второй элемент массива — это логическое значение, равно TRUE, если ширина столбца является значением по умолчанию или FALSE, если ширина была явно задана пользователем.

Примечание: Это значение не поддерживается в Excel Online, Excel Mobile и Excel Starter.

Коды форматов функции ЯЧЕЙКА

В приведенном ниже списке описаны текстовые значения, возвращаемые функцией ЯЧЕЙКА, если в качестве аргумента "тип_сведений" указано значение "формат", а аргумент ссылки указывает на ячейку, отформатированную с использованием встроенного числового формата.

Формат Microsoft Excel

Значение, возвращаемое функцией ЯЧЕЙКА

Иногда бывает необходимо с помощью формул узнать о какой-либо ячейке подробную информацию и параметры, чтобы использовать это в расчетах. Например, выяснить число или текст в ячейке или какой числовой формат в ней установлен. Сделать это можно, используя функцию ЯЧЕЙКА (CELL) .

Синтаксис у функции следующий:

=ЯЧЕЙКА( Параметр ; Адрес )

где Адрес — это, понятное дело, ссылка на нужную ячейку, а вот Параметр — это кодовое слово, определяющее какую именно информацию о ячейке мы хотим получить. У этого аргумента несколько возможных значений:

Давайте рассмотрим пару трюков с применением этой функции на практике.

Например, можно получить имя текущего листа формулой, используя функцию ЯЧЕЙКА с параметром "имяфайла" и извлекающей все символы правее закрывающей квадратной скобки:

Также можно проверить тип данных в ячейке (параметр "тип") и выводить сообщение об ошибке вместо вычислений, если введен текст или ячейка пуста:

Или подсветить условным форматированием все незащищенные ячейки в заданном диапазоне:

Обращение к ячейке на листе Excel из кода VBA. Запись информации в ячейку. Чтение информации из ячейки. Очистка значения ячейки. Метод ClearContents объекта Range.

Обращение к ячейке

Допустим, у нас есть два открытых файла: «Книга1» и «Книга2», причем, файл «Книга1» активен и в нем находится исполняемый код VBA.

В общем случае при обращении к ячейке неактивной рабочей книги «Книга2» из кода файла «Книга1» прописывается полный путь:

Удобнее обращаться к ячейке через свойство рабочего листа Cells(номер строки, номер столбца), так как вместо номеров строк и столбцов можно использовать переменные. Обратите внимание, что при обращении к любой рабочей книге, она должна быть открыта, иначе произойдет ошибка. Закрытую книгу перед обращением к ней необходимо открыть.

Читайте также:  Приложение для прогулок по москве

Теперь предположим, что у нас в активной книге «Книга1» активны «Лист1» и ячейка на нем «A1». Тогда обращение к ячейке «A1» можно записать следующим образом:

Точно также можно обращаться и к другим ячейкам активного рабочего листа, кроме обращения ActiveCell, так как активной может быть только одна ячейка, в нашем примере — это ячейка "A1".

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

Имя ярлыка может совпадать с основным именем листа. Увидеть эти имена можно в окне редактора VBA в проводнике проекта. Без скобок отображается основное имя листа, в скобках — имя ярлыка.

Кроме того к ячейке на рабочем листе можно обращаться по ее индексу (порядковому номеру), который считается по расположению ячейки на листе слева-направо и сверху-вниз. Например, индекс ячеек в первой строке равен номеру столбца. Индекс ячеек во второй строке равен количеству ячеек в первой строке (которое равно общему количеству столбцов на листе — зависит от версии Excel) плюс номер столбца. Индекс ячеек в третьей строке равен количеству ячеек в двух первых строках плюс номер столбца. И так далее. Для примера, Cells(4) та же ячейка, что и Cells(1, 4). Используется такое обозначение редко, тем более, что у разных версий Excel может быть разным количество столбцов и строк на рабочем листе.

Запись информации в ячейку

Содержание ячейки определяется ее свойством «Value», которое в VBA Excel является свойством по умолчанию и его можно явно не указывать. Записывается информация в ячейку при помощи оператора присваивания «=»:

Вместе с числами и текстом можно использовать переменные. Примеры здесь и ниже приведены для активного листа. Для неактивных листов дополнительно необходимо указывать имя листа, как в разделе «Обращение к ячейке».

Чтение информации из ячейки

Считать информацию из ячейки в переменную можно также при помощи оператора присваивания «=»:

Точно также можно обмениваться информацией между ячейками:

Очистка значения ячейки

Очищается ячейка от значения с помощью метода ClearContents. Кроме того, можно присвоить ячейке значение нуля или пустой строки:

VBA Excel. Ячейки (обращение, запись, чтение, очистка) : 63 комментария

Книга состоит из 3-х Листов
Лист2 — рабочий

надо на Лист3 в cells (2, 6) вывести второе наибольшее значение из Range ("F4:D12") Лист1
на формулах это будет так :
F2=НАИБОЛЬШИЙ(Лист1! F4:D12;2)

спасибо за ответ
все работает

Здравствуйте, как записать число в ячейку, если есть OptionButton.
То есть 4 варианта ответа, при выборе правильного в ячейку записывается 1, если нет то 0.

Привет, Руслан!
Допустим, правильный ответ соответствует выбору OptionButton3, тогда

Добрый день!
как узнать номер страницы ( которая будет отпечатана) для ячейки?

Читайте также:  Vaio care rescue mode

Добрый день, Александр!
Если я правильно понял вопрос, имя листа вы можете узнать в окне редактора VBA в проводнике проекта, который обычно расположен слева.
Без скобок отображается основное имя листа, которое используется так: Лист1.Cells(1, 1) = 33 .
В скобках отображается имя ярлыка, которое используется так: Sheets("Имя ярлыка").Cells(2, 1) = 22 .

Добрый день!
Можно ли реализовать следующий алгоритм: Ячейка, допустим N=A+B+C+. +(N-1). Если сумма ячейки N

Привет, Илья!
Эта задача в подавляющем большинстве случаев не имеет решения из-за редко выполнимого условия: «пока N не станет равным X». Она всегда будет иметь решение только при условии: «пока N не станет больше или равным X». Если второй вариант интересует, напишите.

Евгений, доброе утро!
Да, этот вариант тоже подходит! 🙂

Доброе утро, Илья!
Чтобы пример был рабочим, заменим в формуле N=A+B+C+. +(N-1) условные обозначения ячеек переменными:
N на n,
A на a,
B+C+. на y,
ячейку для сравнения X на x, тогда

Добрый день, Евгений.
Давно ковырял VBA, сейчас со скрипом пытаюсь вспомнить.
Вопрос такой: С помощью ВПР делаю поиск некой позиции. Цена может быть в евро или в рублях. Для этого отдельная ячейка (Рубли или евро там тоже ставятся ВПР из "прайса").Пытаюсь написать коротенькую функцию, что если в указанной ячейке (С5) значение Евро, то значение ячейки С7 будет равно: цена в евро (ячейка С4) умножить на курс (ячейка С11). Иначе (то есть не не Евро) значение ячейки С7 присваиваем значение ячейки С4.
Вот что нагромодил))))):

Когда вставляю функцию в ячейку, то после ConV открывается автоматом скобка (зачем. ) а потом ругается на имя файла.
Понимаю что туплю, но не хочу заново лопатить весь VBA.
Если не трудно, подскажите правильный путь

Привет, Константин!
Функции должно присваиваться возвращаемое значение, текст ("Евро") в коде функции заключается в прямые кавычки:
код подсказки удален, так как оказался ошибочным

Пока не помогло.
Сейчас выглядит так:
код с ошибочной подсказкой удален

Может в скобках задать тип данных надо?

Адрес ячейки, в которую записывается результат в вашем примере, надо заменить на имя функции:

Сообщите о результатах. Тесты показали, что работает, но обновляется значение в ячейке с функцией только после вставки в нее курсора и нажатия клавиши Enter.

Не знаю, решит ли это ваши задачи, но я предложил бы следующую полностью рабочую функцию:

Вставляете в мастере функций начальные ячейки, ячейку kurs делаете абсолютной и функцию можно копировать протягиванием.

Добрый день, Евгений!
Спасибо, все работает. И первый вариант но с Enter, и второй без него.

Евгений, Вам по работе VBA вопросы задавать можно?