Обратиться к ячейке по номеру в разорванном (несвязанном) диапазоне - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день! Есть обычный несвязанный диапазон
Листинг программы
  1. Range(“A1:A3,A6:A9")
и я хочу выделить в нем 4 ячейку, пишу код:
Листинг программы
  1. Range("A1:A3,A6:A9").Item(4).Select
и в итоге машина выделяет мне ячейку А4, а должна по логике выделить А6. Что я делаю не так? Как это можно решить без использования циклов. Заранее спасибо!

Решение задачи: «Обратиться к ячейке по номеру в разорванном (несвязанном) диапазоне»

textual
Листинг программы
  1. Function MyItem(MyRange, ByVal ItemNum)
  2.     Dim singleArea As Range
  3.     For Each singleArea In MyRange.Areas
  4.         If ItemNum <= singleArea.Cells.Count Then
  5.             Set MyItem = singleArea.item(ItemNum)
  6.             Exit For
  7.         Else
  8.             ItemNum = ItemNum - singleArea.Cells.Count
  9.         End If
  10.     Next
  11. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы