Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2015, 15:53   #1
FiataliS
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 56
Печаль Редкие ячейки

Добрый день, товарищи программеры.

В общем столкнулся с такой задачей:

для того чтобы VBA смог работать со стракой выделенной ячейки нужно написать
x = ActiveCell.Row

и др. манипуляции

Если это у нас диапазон ячеек
x = ActiveCell.Row
Y = Selection.Row + Selection.Rows.Count - 1

А как же быть если ячейки выделены через Ctrl как бы через одну. Как прописать в VBA чтобы он вернул номер(а) строки? Их же может быть некоторое множество...
Изображения
Тип файла: jpg file.jpg (76.6 Кб, 86 просмотров)
Знаю как, не знаю что и с чем.
FiataliS вне форума Ответить с цитированием
Старый 25.11.2015, 16:02   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Если выделено не более одной ячейки в одной строке (они могут быть в разных столбцах), то таким циклом:
Код:
Dim c As Range, x
For Each c In Selection.Cells
  x = c.Row
  Debug.Print x 'например
Next
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 25.11.2015, 17:03   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

...более 1 ячейки в строке
Код:
Dim c As Range, x, y

For Each c In Selection.Cells
  x = c.Row
  If x <> y Then
    Debug.Print x 'например
    y = x
   End If
Next
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.11.2015, 19:20   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Aleksandr H., попробуйте перед запуском макроса выполнить такую команду в Immediate
Код:
range("a1:a3,b2:b4").Select
Уникальные строки лучше выделять с помощью коллекции/словаря.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 26.11.2015, 01:38   #5
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Код:
    Dim R As Range
    For Each R In Application.Intersect(Columns(1), Selection.EntireRow)
        Debug.Print R.Row
    Next
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 26.11.2015, 09:42   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Казанский, да, косяк.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редкие встречи и общение с девушкой dimos90 Свободное общение 33 08.01.2015 11:24
Редактирование ячейки и перенос значения ячейки через форму на другой лис Susven Microsoft Office Excel 2 11.06.2013 09:18
Исключение из общей суммы ячейки на основании данных ячейки из другой строки Natalia07 Помощь студентам 2 06.03.2013 17:16
поиск последней заполненной ячейки, которая находится выше ячейки с формулой Akmal-Sharipov Microsoft Office Excel 3 11.01.2011 13:27
Как разделить число и текст в одной ячейки на две ячейки. neboskreb Microsoft Office Excel 2 15.04.2008 19:39