Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Активация ячейки, вниз по столбцу, не равной текущей - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Активация ячейки, вниз по столбцу, не равной текущей (Макросы/Sub)
Активация ячейки, вниз по столбцу, не равной текущей
chist3000 Дата: Среда, 27.03.2019, 13:59 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте форумчане.
Прошу помощи в написании макроса.
Исходные данные: большой список отсортированных повторяющихся данный, записанных в один столбец.
Задача макроса: активация ниже стоящей первой ячейки, не равной текущей.
К сообщению приложен файл: __.xls(28.0 Kb)
 
Ответить
СообщениеЗдравствуйте форумчане.
Прошу помощи в написании макроса.
Исходные данные: большой список отсортированных повторяющихся данный, записанных в один столбец.
Задача макроса: активация ниже стоящей первой ячейки, не равной текущей.

Автор - chist3000
Дата добавления - 27.03.2019 в 13:59
skais Дата: Среда, 27.03.2019, 14:22 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 157
Репутация: 18 ±
Замечаний: 60% ±

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]


Сообщение отредактировал 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
Группа: Модераторы
Ранг: Местный житель
Сообщений: 14864
Репутация: 5881 ±
Замечаний: 0% ±

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]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
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
Дата добавления - 27.03.2019 в 14:48
chist3000 Дата: Среда, 27.03.2019, 14:49 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Boroda, спасибо большое Ваш макрос работает!!!
 
Ответить
СообщениеBoroda, спасибо большое Ваш макрос работает!!!

Автор - chist3000
Дата добавления - 27.03.2019 в 14:49
skais Дата: Среда, 27.03.2019, 14:49 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 157
Репутация: 18 ±
Замечаний: 60% ±

Excel 2010
Вот Вам пример.
К сообщению приложен файл: 2334965.xls(36.5 Kb)
 
Ответить
СообщениеВот Вам пример.

Автор - skais
Дата добавления - 27.03.2019 в 14:49
chist3000 Дата: Среда, 27.03.2019, 14:56 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Boroda, первый вариант лучше. Он не выдает ошибку, если текущая ячейка пуста и данные ниже закончились.
 
Ответить
СообщениеBoroda, первый вариант лучше. Он не выдает ошибку, если текущая ячейка пуста и данные ниже закончились.

Автор - chist3000
Дата добавления - 27.03.2019 в 14:56
_Boroda_ Дата: Среда, 27.03.2019, 15:04 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 14864
Репутация: 5881 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Boroda, первый вариант лучше

Я знаю. И не только тем, что Вы перечислили
Но он больше и страшнее :D


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Boroda, первый вариант лучше

Я знаю. И не только тем, что Вы перечислили
Но он больше и страшнее :D

Автор - _Boroda_
Дата добавления - 27.03.2019 в 15:04
chist3000 Дата: Среда, 27.03.2019, 15:07 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Skais, видимо в первый раз я что-то сделал не так. Прошу прощения.
Макрос рабочий. Спасибо.
 
Ответить
СообщениеSkais, видимо в первый раз я что-то сделал не так. Прошу прощения.
Макрос рабочий. Спасибо.

Автор - chist3000
Дата добавления - 27.03.2019 в 15:07
chist3000 Дата: Среда, 27.03.2019, 15:08 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Проблема решена. Можно закрыть тему. Всем огромное спасибо.
 
Ответить
СообщениеПроблема решена. Можно закрыть тему. Всем огромное спасибо.

Автор - chist3000
Дата добавления - 27.03.2019 в 15:08
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Активация ячейки, вниз по столбцу, не равной текущей (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!