Визначення активних складових книги
Номер активної рядки
Практично всі активні елементи визначаються за допомогою такого слова - Active. ктор записується перед визначенням активного елементу. Таким чином, номер активної рядки можна обчислити таким чином:
Sub Stroka () s = ActiveCell.Row MsgBox "Активна рядок під номером" s, vbInformation, "Активна рядок" End Sub
Номер активного стовпця
Аналогічно визначенню рядки стовпець визначається за таким же принципом, тільки в кінці додається не рядок, а стовпець:
Sub Stolbec () s = ActiveCell.Column MsgBox "Активна стовпець під номером" s, vbInformation, "Активний стовпець" End Sub
Визначаємо номер останнього заповненого рядка
Stroka = ActiveSheet.Cells.Find (What: = "*", SearchDirection: = xlPrevious, _ SearchOrder: = xlByRows) .Row
Stroka = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
Визначаємо номер останнього заповненого стовпці
Stolbec = ActiveSheet.Cells.Find (What: = "*", SearchDirection: = xlPrevious, _ SearchOrder: = xlByRows) .Column
Stolbec = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1
Визначаємо активний осередок
Виходячи з вище записаних виразів тепер можна сміливо визначити координати активної комірки. Те-є визначаємо активну рядок, активний стовпець і отримуємо координати активної комірки. Виглядати це буде так:
Sub yacheika () sk = ActiveCell.Row st = ActiveCell.Column MsgBox "Активна комірка має координати Cells (" sk "," st ")", _ VbInformation, "активне вічко" End Sub
Але такий запис може не влаштувати деяких, тому що в ній присутні $, тобто абсолютне значення, а не відносне. Але і це можна поправити. Долари заберуться, якщо записати код так:
У дужках оператора Address вказано яке саме значення має бути відносним, а яке абсолютним. Якщо Address (0,0), то і рядок і стовпець записані відносними (перший нуль відповідає за рядок, другий нуль - це стовпець). Якщо в рядку поставити замість нуля одиницю, то рядок буде абсолютним значенням, а стовпець відносним. Причому значення такі ключові слова рівнозначні:
Address (1, 0) = Address (True, False)