Обращение к ячейке
Все известные мне способы обращения к ячейке в VBA Excel.
Обращение к ячейке по адресу
Обращение к ячейке "C5" на активном листе:
Обращение к активной (выбранной) ячейке на активном листе:
Обращение к ячейке "C5" на неактивном листе книги с кодом:
Имя ярлыка может совпадать с основным именем листа. Увидеть эти имена можно в окне редактора VBA в проводнике проекта. Без скобок отображается основное имя листа, в скобках – имя ярлыка.
Обращение к ячейке "C5" на листе "Лист2" другой открытой книги из книги с кодом:
Удобно обращаться к ячейке через свойство рабочего листа Cells(№ строки, № столбца), так как вместо номеров строк и столбцов можно использовать переменные.
#VBA #ExcelVBA #ОбращениеКЯчейке #Range #Cells
Все известные мне способы обращения к ячейке в VBA Excel.
Обращение к ячейке по адресу
Обращение к ячейке "C5" на активном листе:
Range("C5")
Cells(5, 3)
Cells(5, "C")
[C5]Обращение к активной (выбранной) ячейке на активном листе:
ActiveCell
Обращение к ячейке "C5" на неактивном листе книги с кодом:
'по основному имени листа
Лист2.Range("C5")
Лист2.Cells(5, 3)
Лист2.Cells(5, "C")
Лист2.[C5]
'по имени ярлыка
Sheets("Имя ярлыка").Range("C5")
Sheets("Имя ярлыка").Cells(5, 3)
Sheets("Имя ярлыка").Cells(5, "C")
Sheets("Имя ярлыка").[C5]
Имя ярлыка может совпадать с основным именем листа. Увидеть эти имена можно в окне редактора VBA в проводнике проекта. Без скобок отображается основное имя листа, в скобках – имя ярлыка.
Обращение к ячейке "C5" на листе "Лист2" другой открытой книги из книги с кодом:
Workbooks("Книга2.xlsm").Sheets("Лист2").Range("C5")
Workbooks("Книга2.xlsm").Sheets("Лист2").Cells(5, 3)
Workbooks("Книга2.xlsm").Sheets("Лист2").Cells(5, "C")
Workbooks("Книга2.xlsm").Sheets("Лист2").[C5]Удобно обращаться к ячейке через свойство рабочего листа Cells(№ строки, № столбца), так как вместо номеров строк и столбцов можно использовать переменные.
#VBA #ExcelVBA #ОбращениеКЯчейке #Range #Cells
Запись, чтение, очистка
Запись информации в ячейку
Содержание ячейки определяется ее свойством "Value", которое в VBA Excel является свойством по умолчанию и его можно явно не указывать. Записывается информация в ячейку при помощи оператора присваивания "=":
Вместе с числами и текстом можно использовать переменные. Примеры здесь и ниже приведены для активного листа. Для неактивных листов дополнительно необходимо указывать имя листа.
Чтение информации из ячейки
Считать информацию из ячейки в переменную можно также при помощи оператора присваивания "=":
Точно также можно обмениваться информацией между ячейками:
Очистка значения ячейки
Очищается ячейка от значения с помощью метода ClearContents. Кроме того, можно присвоить ячейке значение нуля, пустой строки или Empty:
#Запись #Чтение #Очистка #Range #Cells
Запись информации в ячейку
Содержание ячейки определяется ее свойством "Value", которое в VBA Excel является свойством по умолчанию и его можно явно не указывать. Записывается информация в ячейку при помощи оператора присваивания "=":
Cells(2, 4).Value = 15
Cells(2, 4) = 15
Range("A1") = "Этот текст записываем в ячейку"
ActiveCell = 28 + 10*36
Вместе с числами и текстом можно использовать переменные. Примеры здесь и ниже приведены для активного листа. Для неактивных листов дополнительно необходимо указывать имя листа.
Чтение информации из ячейки
Считать информацию из ячейки в переменную можно также при помощи оператора присваивания "=":
Sub Test()
Dim a1 As Integer, a2 As Integer, a3 As Integer
Range("A3") = 6
Cells(2, 5) = 15
a1 = Range("A3")
a2 = Cells(2, 5)
a3 = a1 * a2
MsgBox a3
End Sub
Точно также можно обмениваться информацией между ячейками:
Cells(2, 2) = Range("A4")Очистка значения ячейки
Очищается ячейка от значения с помощью метода ClearContents. Кроме того, можно присвоить ячейке значение нуля, пустой строки или Empty:
Cells(10, 2).ClearContents
Range("D23") = 0
ActiveCell = ""
Cells(5, "D") = Empty
#Запись #Чтение #Очистка #Range #Cells
👍1
🔥 Свойство Cells объекта Range
Свойство Range.Cells позволяет обращаться к отдельным ячейкам в пределах указанного диапазона. Это свойство удобно для работы с диапазонами, где нужно манипулировать ячейками по строкам и столбцам.
📌 Примеры:
1️⃣ Ссылка на ячейку в первой строке и втором столбце диапазона A1:D5:
🔹 Установит значение "Hello" в ячейку B1, так как это первая строка и второй столбец в указанном диапазоне.
2️⃣ Получить значение из ячейки в пятой строке и третьем столбце диапазона A1:D10:
🔹 Печатает значение ячейки, находящейся в строке 5 и столбце 3 в диапазоне A1:D10.
3️⃣ Изменить значение в ячейке на пересечении последней строки и последнего столбца диапазона:
🔹 Установит значение "Последняя ячейка" в ячейку, которая находится в правом нижнем углу диапазона.
💡 Важно:
✔️ Cells индексирует ячейки с 1 (единицы), как строки и столбцы, так что Cells(1,1) ссылается на ячейку в верхнем левом углу диапазона.
#VBA #ExcelVBA #Range #Cells
Свойство Range.Cells позволяет обращаться к отдельным ячейкам в пределах указанного диапазона. Это свойство удобно для работы с диапазонами, где нужно манипулировать ячейками по строкам и столбцам.
📌 Примеры:
1️⃣ Ссылка на ячейку в первой строке и втором столбце диапазона A1:D5:
Range("A1:D5").Cells(1, 2).Value = "Hello" 🔹 Установит значение "Hello" в ячейку B1, так как это первая строка и второй столбец в указанном диапазоне.
2️⃣ Получить значение из ячейки в пятой строке и третьем столбце диапазона A1:D10:
Dim value As Variant
value = Range("A1:D10").Cells(5, 3).Value
MsgBox value
🔹 Печатает значение ячейки, находящейся в строке 5 и столбце 3 в диапазоне A1:D10.
3️⃣ Изменить значение в ячейке на пересечении последней строки и последнего столбца диапазона:
Range("A1:D5").Cells(Range("A1:D5").Rows.Count, Range("A1:D5").Columns.Count).Value = "Последняя ячейка" 🔹 Установит значение "Последняя ячейка" в ячейку, которая находится в правом нижнем углу диапазона.
💡 Важно:
✔️ Cells индексирует ячейки с 1 (единицы), как строки и столбцы, так что Cells(1,1) ссылается на ячейку в верхнем левом углу диапазона.
#VBA #ExcelVBA #Range #Cells