Как присвоить значение ячейки в excel
Перейти к содержимому

Как присвоить значение ячейки в excel

  • автор:

Как присвоить значение ячейки в excel

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

ЯЧЕЙКА (функция ЯЧЕЙКА)

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel для телефонов с Android Еще. Меньше

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

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

Примечание: Формулы, использующие CELL, имеют языковые значения аргументов и будут возвращать ошибки при вычислении с использованием другой версии Excel. Например, если создать формулу, содержащую CELL, при использовании чешской версии Excel эта формула вернет ошибку, если книга открыта с использованием французской версии. Если важно, чтобы другие пользователи открывали книгу с помощью версий Excel на разных языках, попробуйте использовать альтернативные функции или разрешить другим пользователям сохранять локальные копии, в которых они пересматривают аргументы CELL в соответствии с их языком.

Синтаксис

ЯЧЕЙКА(тип_сведений;[ссылка])

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

Тип_сведений

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

Ячейка, сведения о которой требуется получить.

Если этот параметр опущен, сведения, указанные в аргументе info_type, возвращаются для ячейки, выбранной во время вычисления. Если аргумент ссылки является диапазоном ячеек, функция CELL возвращает сведения для активной ячейки в выбранном диапазоне.

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

  • В режиме автоматического вычисления при изменении ячейки пользователем вычисление может быть активировано до или после выполнения выбора в зависимости от платформы, используемой для Excel. Например, Excel для Windows в настоящее время активирует вычисление перед изменением выделения, ноExcel в Интернете активирует его после этого.
  • При Co-Authoring с другим пользователем, который вносит изменения, эта функция будет сообщать о вашей активной ячейке, а не о редакторе.
  • Любой пересчет, например нажатие клавиши F9, приведет к тому, что функция вернет новый результат, даже если изменение ячейки не было выполнено.

значения info_type

В следующем списке описаны текстовые значения, которые можно использовать для аргумента info_type. Эти значения должны быть введены в функции CELL с кавычками (» «).

Тип_сведений

Возвращаемое значение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Формат Microsoft Excel

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

Чтение и запись значения ячейки в VBA

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

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

Прежде чем читать или записывать значение в ячейке, нужно определиться с тем, как можно указать какая именно ячейка нам необходима.

Полный путь к ячейке A1 в Книге1 на Листе1 можно записать двумя вариантами:

  • С помощью Range
  • С помощью Cells

Пример 1: Обратиться к ячейке A3 находящейся в Книге1 на Листе1

Workbooks("Книга1.xls").Sheets("Лист1").Range("A3") ' Обратиться к ячейке A3 Workbooks("Книга1.xls").Sheets("Лист1").Cells(3, 1) ' Обратиться к ячейке в 3-й строке и 1-й колонке (A3)

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

Пример 2: Обратиться к ячейке A1 в текущей книге на активном листе

Range("A1") Cells(1, 1)

Если всё же путь к книге или листу необходим, но не хочется его писать при каждом обращении к ячейкам, можно использовать конструкцию With End With. При этом, обращаясь к ячейкам, необходимо использовать в начале «.» (точку).

Пример 3: Обратиться к ячейке A1 и B1 в Книге1 на Листе2.

With Workbooks("Книга1").Sheets("Лист2") ' Вывести значение ячейки A1, которая находится на Листе2 MsgBox .Range("A1") ' Вывести значение ячейки B1, которая находится на Листе2 MsgBox .Range("B1") End With

Так же, можно обратиться и к активной (выбранной в данный момент времени) ячейке.

Пример 4: Обратиться к активной ячейке на Листе3 текущей книги.

Application.ActiveCell ' полная запись ActiveCell ' краткая запись

Чтение значения из ячейки

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

  • Value2 — базовое значение ячейки, т.е. как оно хранится в самом Excel-е. В связи с чем, например, дата будет прочтена как число от 1 до 2958466, а время будет прочитано как дробное число. Value2 — самый быстрый способ чтения значения, т.к. не происходит никаких преобразований.
  • Value — значение ячейки, приведенное к типу ячейки. Если ячейка хранит дату, будет приведено к типу Date. Если ячейка отформатирована как валюта, будет преобразована к типу Currency (в связи с чем, знаки с 5-го и далее будут усечены).
  • Text — визуальное отображение значения ячейки. Например, если ячейка, содержит дату в виде «число месяц прописью год», то Text (в отличие от Value и Value2) именно в таком виде и вернет значение. Использовать Text нужно осторожно, т.к., если, например, значение не входит в ячейку и отображается в виде «#####» то Text вернет вам не само значение, а эти самые «решетки».

По-умолчанию, если при обращении к ячейке не указывать способ чтения значения, то используется способ Value.

Пример 5: В ячейке A1 активного листа находится дата 01.03.2018. Для ячейки выбран формат «14 марта 2001 г.». Необходимо прочитать значение ячейки всеми перечисленными выше способами и отобразить в диалоговом окне.

MsgBox Cells(1, 1) ' выведет 01.03.2018 MsgBox Cells(1, 1).Value ' выведет 01.03.2018 MsgBox Cells(1, 1).Value2 ' выведет 43160 MsgBox Cells(1, 1).Text ' выведет 01 марта 2018 г. Dim d As Date d = Cells(1, 1).Value2 ' числовое представление даты преобразуется в тип Date MsgBox d ' выведет 01.03.2018

Пример 6: В ячейке С1 активного листа находится значение 123,456789. Для ячейки выбран формат «Денежный» с 3 десятичными знаками. Необходимо прочитать значение ячейки всеми перечисленными выше способами и отобразить в диалоговом окне.

MsgBox Range("C1") ' выведет 123,4568 MsgBox Range("C1").Value ' выведет 123,4568 MsgBox Range("C1").Value2 ' выведет 123,456789 MsgBox Range("C1").Text ' выведет 123,457р. Dim c As Currency c = Range("C1").Value2 ' значение преобразуется в тип Currency MsgBox c ' выведет 123,4568 Dim d As Double d = Range("C1").Value2 ' значение преобразуется в тип Double MsgBox d ' выведет 123,456789

При присвоении значения переменной или элементу массива, необходимо учитывать тип переменной. Например, если оператором Dim задан тип Integer, а в ячейке находится текст, при выполнении произойдет ошибка «Type mismatch». Как определить тип значения в ячейке, рассказано в следующей статье.

Пример 7: В ячейке B1 активного листа находится текст. Прочитать значение ячейки в переменную.

Dim s As String Dim i As Integer s = Range("B1").Value2 ' успех i = Range("B1").Value2 ' ошибка

Таким образом, разница между Text, Value и Value2 в способе получения значения. Очевидно, что Value2 наиболее предпочтителен, но при преобразовании даты в текст (например, чтобы показать значение пользователю), нужно использовать функцию Format.

Запись значения в ячейку

Осуществить запись значения в ячейку можно 2 способами: с помощью Value и Value2. Использование Text для записи значения не возможно, т.к. это свойство только для чтения.

Пример 8: Записать в ячейку A1 активного листа значение 123,45

Range("A1") = 123.45 Range("A1").Value = 123.45 Range("A1").Value2 = 123.45

Все три строки запишут в A1 одно и то же значение.

Пример 9: Записать в ячейку A2 активного листа дату 1 марта 2018 года

Cells(2, 1) = #3/1/2018# Cells(2, 1).Value = #3/1/2018# Cells(2, 1).Value2 = #3/1/2018#

В данном примере тоже запишется одно и то же значение в ячейку A2 активного листа.

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

Как присвоить имя значению Excel

Имена в Excel удобно использовать для содержимого диапазонов ячеек, к которым часто приходиться обращаться из формул. В случаи изменения этих диапазонов, вместо того чтобы переформатировать все формулы, достаточно лишь изменить значение в имени. Ниже приведем конкретный пример.

Пример присвоения имени в Excel

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

Прайс товаров.

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

Присвоим наценке имя и пока установим ее значение на уровне 10%, а потом будем изменять. Чтобы присвоить значению имя делаем следующее:

  1. Выберите инструмент: «Формулы»-«Определенные имена»-«Присвоить имя».
  2. Введите имя «Наценка1», а в поле «Диапазон» просто значение 10% так как указано на рисунке. При необходимости выберите область распространения имени (на конкретный лист или на целую книгу). И нажмите ОК. Присвоить имя.
  3. Теперь нам нужно применить наше имя «Наценка1» в формулах.

Наценка1.

При создании имен следует учитывать несколько простых правил:

  1. Имя должно начинаться с буквы или знака нижнего подчеркивания. Нельзя чтобы в имени первым символом было число или спецсимвол.
  2. Начиная со второго символа можно использовать: буквы, цифры, точки и знаки нижнего подчеркивания. Другие символы запрещено использовать (даже пробел).
  3. Нельзя использовать пробелы.

Теперь мы без проблем можем изменять наценку, а формулы будут автоматически пересчитывать результат вычисления. Например, увеличим нашу наценку на 2%:

Диспетчер имен.

  1. Выберите инструмент «Формулы»-«Диспетчер имен».
  2. В диалоговом окне выберите «Наценка1» и нажмите на кнопку «Изменить». В поле «Диапазон» введите новое значение 12% (или 0,12). И нажмите ОК. После нажатия все формулы с именем «Наценка1» автоматически выполнять пересчет и выдадут новые результаты.

Примечание. Если формулы не пересчитаны значит у Вас в настройках Excel включена опция ручного пересчета формул («Формулы»-«Параметры вычислений»-«Вручную»), в таком случаи новые цены мы получим после нажатия на клавишу F9.

Преимущества имен в Excel

При запуске программы нам сразу доступны для нашего взгляда: ячейки, листы, строки, столбцы, кнопки инструментов и много других элементов, только не имена. Чтобы их использовать до них нужно обираться лишь с помощью соответствующих инструментов. Большинство пользователей так и не решаться использовать, а вместо этого ищут решения более сложными путями. Очень жаль, ведь с помощью имен можно изящно решать большинство задач в Excel.

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

  • Создать таблицу
  • Форматирование
  • Функции Excel
  • Формулы и диапазоны
  • Фильтр и сортировка
  • Диаграммы и графики
  • Сводные таблицы
  • Печать документов
  • Базы данных и XML
  • Возможности Excel
  • Настройки параметры
  • Уроки Excel
  • Макросы VBA
  • Скачать примеры

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *