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

 

= Мир MS Excel/Выделение нескольких ячеек - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Выделение нескольких ячеек
Krep_Kospit Дата: Понедельник, 05.05.2014, 22:32 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток.
Подскажите, пожалуйста, как можно через макрос выделить на листе ячейки, содержащие, скажем, значение "10"? Range выделяет только сплошной областью... С VBA разбираться начал недавно, больше по встроенной справке... Не смог понять, как должна выглядеть вышеуказанная команда.
Если подобное уже спрашивали - прошу прощения, не нашёл через поиск.
 
Ответить
СообщениеДоброго времени суток.
Подскажите, пожалуйста, как можно через макрос выделить на листе ячейки, содержащие, скажем, значение "10"? Range выделяет только сплошной областью... С VBA разбираться начал недавно, больше по встроенной справке... Не смог понять, как должна выглядеть вышеуказанная команда.
Если подобное уже спрашивали - прошу прощения, не нашёл через поиск.

Автор - Krep_Kospit
Дата добавления - 05.05.2014 в 22:32
Serge_007 Дата: Понедельник, 05.05.2014, 22:51 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2750 ±
Замечаний: ±

Excel 2016
выделить на листе ячейки, содержащие, скажем, значение "10"?
Как надо выделить?

Sub Krep_Kospit()
    Dim Cells As Range
        For Each Cells In Range("a1:d5")
        If Cells = 10 Then Cells.Interior.Color = 65536
    Next Cells
End Sub



ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
выделить на листе ячейки, содержащие, скажем, значение "10"?
Как надо выделить?
[vba]
Sub Krep_Kospit()      Dim Cells As Range          For Each Cells In Range("a1:d5")          If Cells = 10 Then Cells.Interior.Color = 65536      Next Cells End Sub
[/vba]

Автор - Serge_007
Дата добавления - 05.05.2014 в 22:51
wild_pig Дата: Понедельник, 05.05.2014, 23:43 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 518
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Кривенько, зато своё. Выделяем область, задаём число и готово.

Sub Макрос1()
    ib = InputBox("Введите число для выделения")
    For Each c In Selection
        If c.Value = CDbl(ib) Then
            rg = rg & c.Address & ", "
        End If
    Next
    rg = Left(rg, Len(rg) - 2)
    Range(rg).Select
End Sub



Сообщение отредактировал wild_pig - Понедельник, 05.05.2014, 23:44
 
Ответить
СообщениеКривенько, зато своё. Выделяем область, задаём число и готово.
[vba]
Sub Макрос1()       ib = InputBox("Введите число для выделения")       For Each c In Selection           If c.Value = CDbl(ib) Then               rg = rg & c.Address & ", "           End If       Next       rg = Left(rg, Len(rg) - 2)       Range(rg).Select End Sub
[/vba]

Автор - wild_pig
Дата добавления - 05.05.2014 в 23:43
Krep_Kospit Дата: Вторник, 06.05.2014, 06:04 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
"Как надо выделить? "

сделать их активными, чтобы потом разом произвести удаление ячеек или строк, их содержащих.
 
Ответить
Сообщение"Как надо выделить? "

сделать их активными, чтобы потом разом произвести удаление ячеек или строк, их содержащих.

Автор - Krep_Kospit
Дата добавления - 06.05.2014 в 06:04
Alex_ST Дата: Вторник, 06.05.2014, 09:20 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
сделать их активными

Ну, тогда, наверное, так

Sub Select_10() 'выделить в выбранном диапазоне ячейки со значением 10
    Dim rSel As Range, rCell As Range
    For Each rCell In ActiveWindow.RangeSelection
        If rCell = 10 Then
        If rSel Is Nothing Then
            Set rSel = rCell
        Else
            Set rSel = Union(rSel, rCell)
        End If
        End If
    Next rCell
    rSel.Select
End Sub




С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 06.05.2014, 09:49
 
Ответить
Сообщение
сделать их активными

Ну, тогда, наверное, так[vba]
Sub Select_10() 'выделить в выбранном диапазоне ячейки со значением 10      Dim rSel As Range, rCell As Range      For Each rCell In ActiveWindow.RangeSelection         If rCell = 10 Then            If rSel Is Nothing Then               Set rSel = rCell            Else               Set rSel = Union(rSel, rCell)            End If         End If      Next rCell      rSel.Select End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 06.05.2014 в 09:20
nilem Дата: Вторник, 06.05.2014, 10:40 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
еще вариантик

Sub ertert()
On Error Resume Next
With ActiveSheet.UsedRange
    .Replace 10, True, xlWhole
    .SpecialCells(2, 4).Select
End With
End Sub



Яндекс.Деньги 4100159601573
 
Ответить
Сообщениееще вариантик
[vba]
Sub ertert() On Error Resume Next With ActiveSheet.UsedRange      .Replace 10; Тrue; xlWhole      .SpecialCells(2; 4).Select End With End Sub
[/vba]

Автор - nilem
Дата добавления - 06.05.2014 в 10:40
Alex_ST Дата: Вторник, 06.05.2014, 11:42 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Ну, Коля, так не честно…
А вдруг Krep_Kospit, захочет прежде чем удалять ячейки полюбоваться на их содержимое на предмет выяснения "а стоит ли удалять"?
А ты сразу заменять... Уж тогда сразу и удалял бы не глядя.

Хотя в учебных целях пример хорош hands
Только если как учебник, то не надо ЧАСТЬ констант заменять их числовыми значениями и использовать сокращённую запись.
Ну, что-то типа так написАть:

Sub ertert()
    On Error Resume Next
    With ActiveSheet.UsedRange
    .Replace What:=10, Replacement:=True, LookAt:=xlWhole
    .SpecialCells(xlCellTypeConstants, xlLogical).Select
    End With
End Sub




С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНу, Коля, так не честно…
А вдруг Krep_Kospit, захочет прежде чем удалять ячейки полюбоваться на их содержимое на предмет выяснения "а стоит ли удалять"?
А ты сразу заменять... Уж тогда сразу и удалял бы не глядя.

Хотя в учебных целях пример хорош hands
Только если как учебник, то не надо ЧАСТЬ констант заменять их числовыми значениями и использовать сокращённую запись.
Ну, что-то типа так написАть:[vba]
Sub ertert()     On Error Resume Next     With ActiveSheet.UsedRange        .Replace What:=10; Replacement:=Тrue; LookAt:=xlWhole        .SpecialCells(xlCellTypeConstants; xlLogical).Select     End With End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 06.05.2014 в 11:42
  • Страница 1 из 1
  • 1
Поиск:

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