Активация ячейки, вниз по столбцу, не равной текущей
chist3000
Дата: Среда, 27.03.2019, 13:59 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Здравствуйте форумчане. Прошу помощи в написании макроса. Исходные данные: большой список отсортированных повторяющихся данный, записанных в один столбец. Задача макроса: активация ниже стоящей первой ячейки, не равной текущей.
Здравствуйте форумчане. Прошу помощи в написании макроса. Исходные данные: большой список отсортированных повторяющихся данный, записанных в один столбец. Задача макроса: активация ниже стоящей первой ячейки, не равной текущей. chist3000
К сообщению приложен файл:
__.xls
(28.0 Kb)
Ответить
Сообщение Здравствуйте форумчане. Прошу помощи в написании макроса. Исходные данные: большой список отсортированных повторяющихся данный, записанных в один столбец. Задача макроса: активация ниже стоящей первой ячейки, не равной текущей. Автор - chist3000 Дата добавления - 27.03.2019 в 13:59
skais
Дата: Среда, 27.03.2019, 14:22 |
Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация:
29
±
Замечаний:
20% ±
Excel 2010
[vba]Код
For i = ActiveCell.Row + 1 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B") <> ActiveCell Then Cells(i, "B").Select Exit For End If Next
[/vba]
[vba]Код
For i = ActiveCell.Row + 1 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B") <> ActiveCell Then Cells(i, "B").Select Exit For End If Next
[/vba] skais
Сообщение отредактировал skais - Среда, 27.03.2019, 14:23
Ответить
Сообщение [vba]Код
For i = ActiveCell.Row + 1 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B") <> ActiveCell Then Cells(i, "B").Select Exit For End If Next
[/vba] Автор - skais Дата добавления - 27.03.2019 в 14:22
_Boroda_
Дата: Среда, 27.03.2019, 14:30 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Такой вариант. Без перебора ячеек на листе [vba]Код
Sub tt() With Selection(1) z_ = .Value If IsEmpty(z_) Then Exit Sub n_ = Cells(Rows.Count, .Column).End(3).Row - .Row + 1 If n_ <= 0 Then Exit Sub ar = .Offset(1).Resize(n_) For i = 1 To n_ If ar(i, 1) <> z_ Then .Offset(i).Select Exit For End If Next i End With End Sub
[/vba] Или по-простому [vba]Код
Sub ee() Do a = a + 1 Loop While Selection = Selection.Offset(a) Selection.Offset(a).Select End Sub
[/vba]
Такой вариант. Без перебора ячеек на листе [vba]Код
Sub tt() With Selection(1) z_ = .Value If IsEmpty(z_) Then Exit Sub n_ = Cells(Rows.Count, .Column).End(3).Row - .Row + 1 If n_ <= 0 Then Exit Sub ar = .Offset(1).Resize(n_) For i = 1 To n_ If ar(i, 1) <> z_ Then .Offset(i).Select Exit For End If Next i End With End Sub
[/vba] Или по-простому [vba]Код
Sub ee() Do a = a + 1 Loop While Selection = Selection.Offset(a) Selection.Offset(a).Select End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Такой вариант. Без перебора ячеек на листе [vba]Код
Sub tt() With Selection(1) z_ = .Value If IsEmpty(z_) Then Exit Sub n_ = Cells(Rows.Count, .Column).End(3).Row - .Row + 1 If n_ <= 0 Then Exit Sub ar = .Offset(1).Resize(n_) For i = 1 To n_ If ar(i, 1) <> z_ Then .Offset(i).Select Exit For End If Next i End With End Sub
[/vba] Или по-простому [vba]Код
Sub ee() Do a = a + 1 Loop While Selection = Selection.Offset(a) Selection.Offset(a).Select End Sub
[/vba] Автор - _Boroda_ Дата добавления - 27.03.2019 в 14:30
chist3000
Дата: Среда, 27.03.2019, 14:48 |
Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Skais, не разобрался чего не хватает в вашем макросе, что бы он заработал.
Skais, не разобрался чего не хватает в вашем макросе, что бы он заработал. chist3000
Ответить
Сообщение Skais, не разобрался чего не хватает в вашем макросе, что бы он заработал. Автор - chist3000 Дата добавления - 27.03.2019 в 14:48
chist3000
Дата: Среда, 27.03.2019, 14:49 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Boroda, спасибо большое Ваш макрос работает!!!
Boroda, спасибо большое Ваш макрос работает!!! chist3000
Ответить
Сообщение Boroda, спасибо большое Ваш макрос работает!!! Автор - chist3000 Дата добавления - 27.03.2019 в 14:49
skais
Дата: Среда, 27.03.2019, 14:49 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация:
29
±
Замечаний:
20% ±
Excel 2010
Вот Вам пример.
Ответить
Сообщение Вот Вам пример. Автор - skais Дата добавления - 27.03.2019 в 14:49
chist3000
Дата: Среда, 27.03.2019, 14:56 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Boroda, первый вариант лучше. Он не выдает ошибку, если текущая ячейка пуста и данные ниже закончились.
Boroda, первый вариант лучше. Он не выдает ошибку, если текущая ячейка пуста и данные ниже закончились. chist3000
Ответить
Сообщение Boroda, первый вариант лучше. Он не выдает ошибку, если текущая ячейка пуста и данные ниже закончились. Автор - chist3000 Дата добавления - 27.03.2019 в 14:56
_Boroda_
Дата: Среда, 27.03.2019, 15:04 |
Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Boroda, первый вариант лучше
Я знаю. И не только тем, что Вы перечислили Но он больше и страшнее
Boroda, первый вариант лучше
Я знаю. И не только тем, что Вы перечислили Но он больше и страшнее _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Boroda, первый вариант лучше
Я знаю. И не только тем, что Вы перечислили Но он больше и страшнее Автор - _Boroda_ Дата добавления - 27.03.2019 в 15:04
chist3000
Дата: Среда, 27.03.2019, 15:07 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Skais, видимо в первый раз я что-то сделал не так. Прошу прощения. Макрос рабочий. Спасибо.
Skais, видимо в первый раз я что-то сделал не так. Прошу прощения. Макрос рабочий. Спасибо. chist3000
Ответить
Сообщение Skais, видимо в первый раз я что-то сделал не так. Прошу прощения. Макрос рабочий. Спасибо. Автор - chist3000 Дата добавления - 27.03.2019 в 15:07
chist3000
Дата: Среда, 27.03.2019, 15:08 |
Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Проблема решена. Можно закрыть тему. Всем огромное спасибо.
Проблема решена. Можно закрыть тему. Всем огромное спасибо. chist3000
Ответить
Сообщение Проблема решена. Можно закрыть тему. Всем огромное спасибо. Автор - chist3000 Дата добавления - 27.03.2019 в 15:08