Домашняя страница 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
Репутация: 2749 ±
Замечаний: ±

Excel 2016
выделить на листе ячейки, содержащие, скажем, значение "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]


Ю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
Кривенько, зато своё. Выделяем область, задаём число и готово.
[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: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
сделать их активными

Ну, тогда, наверное, так[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]



С уважением,
Алексей
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
еще вариантик
[vba]
Код
Sub ertert()
On Error Resume Next
With ActiveSheet.UsedRange
     .Replace 10, True, xlWhole
     .SpecialCells(2, 4).Select
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениееще вариантик
[vba]
Код
Sub ertert()
On Error Resume Next
With ActiveSheet.UsedRange
     .Replace 10, True, 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
Только если как учебник, то не надо ЧАСТЬ констант заменять их числовыми значениями и использовать сокращённую запись.
Ну, что-то типа так написАть:[vba]
Код
Sub ertert()
    On Error Resume Next
    With ActiveSheet.UsedRange
       .Replace What:=10, Replacement:=True, LookAt:=xlWhole
       .SpecialCells(xlCellTypeConstants, xlLogical).Select
    End With
End Sub
[/vba]



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

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

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

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