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

Вход

Регистрация

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

 

= Мир MS Excel/Замена значений только у видимых ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Замена значений только у видимых ячеек (Формулы/Formulas)
Замена значений только у видимых ячеек
kudim94 Дата: Понедельник, 14.11.2016, 10:44 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем привет! Нужна часть кода vba для замены значений только видимых ячеек ( в определенном столбце таблицы ). Пусть, например, есть таблица, в которой некоторые строки скрыты ( после фильтрации или вручную, не важно ). Как в примере.
Как изменить значения на другие. Например, полностью заменить содержание столбца D на слово "замена", чтобы при этом скрытые значения в столбце остались прежними. Спасибо!
К сообщению приложен файл: primer.xlsm (9.5 Kb)
 
Ответить
СообщениеВсем привет! Нужна часть кода vba для замены значений только видимых ячеек ( в определенном столбце таблицы ). Пусть, например, есть таблица, в которой некоторые строки скрыты ( после фильтрации или вручную, не важно ). Как в примере.
Как изменить значения на другие. Например, полностью заменить содержание столбца D на слово "замена", чтобы при этом скрытые значения в столбце остались прежними. Спасибо!

Автор - kudim94
Дата добавления - 14.11.2016 в 10:44
SLAVICK Дата: Понедельник, 14.11.2016, 11:07 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вариант1 (замена):
[vba]
Код
Sub d()
ActiveSheet.UsedRange.Columns("D:D").SpecialCells(xlCellTypeVisible).Replace What:="*", Replacement:="замена"
End Subb
[/vba]Изменил первый код - забыл SpecialCells

Вариант2(Значения):
[vba]
Код
Sub dd()
ActiveSheet.UsedRange.Columns("D:D").SpecialCells(xlCellTypeVisible) = "Замена"
End Sub
[/vba]
К сообщению приложен файл: 6206271-1-.xlsm (20.8 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеВариант1 (замена):
[vba]
Код
Sub d()
ActiveSheet.UsedRange.Columns("D:D").SpecialCells(xlCellTypeVisible).Replace What:="*", Replacement:="замена"
End Subb
[/vba]Изменил первый код - забыл SpecialCells

Вариант2(Значения):
[vba]
Код
Sub dd()
ActiveSheet.UsedRange.Columns("D:D").SpecialCells(xlCellTypeVisible) = "Замена"
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 14.11.2016 в 11:07
kudim94 Дата: Понедельник, 14.11.2016, 11:22 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, Спасибо! кнопка dd работает как нужно. Подскажите, как сделать так, чтобы при наличии заголовка у таблицы, этот заголовок не изменялся, если не сложно! Пример в приложении
К сообщению приложен файл: 1234235.xlsm (19.3 Kb)


Сообщение отредактировал kudim94 - Понедельник, 14.11.2016, 11:23
 
Ответить
СообщениеSLAVICK, Спасибо! кнопка dd работает как нужно. Подскажите, как сделать так, чтобы при наличии заголовка у таблицы, этот заголовок не изменялся, если не сложно! Пример в приложении

Автор - kudim94
Дата добавления - 14.11.2016 в 11:22
Wasilich Дата: Понедельник, 14.11.2016, 11:53 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Так попробуйте. Только эта тема для ветки "Вопросы по VBA"
[vba]
Код
Sub d()
ActiveSheet.Range("C4:C32").SpecialCells(xlCellTypeVisible).Replace What:="*", Replacement:="замена"
End Sub
Sub dd()
ActiveSheet.Range("E4:E32").SpecialCells(xlCellTypeVisible) = "Замена"
End Sub
[/vba]Только столбец - С и Е замените на D.
[offtop]Потому как, если здесь написать сочетание знаков - (двоеточие+D) начинаются глюки в тексте из-за того, что это сочетание = смайлик :D [/offtop]


Сообщение отредактировал Wasilich - Понедельник, 14.11.2016, 12:34
 
Ответить
СообщениеТак попробуйте. Только эта тема для ветки "Вопросы по VBA"
[vba]
Код
Sub d()
ActiveSheet.Range("C4:C32").SpecialCells(xlCellTypeVisible).Replace What:="*", Replacement:="замена"
End Sub
Sub dd()
ActiveSheet.Range("E4:E32").SpecialCells(xlCellTypeVisible) = "Замена"
End Sub
[/vba]Только столбец - С и Е замените на D.
[offtop]Потому как, если здесь написать сочетание знаков - (двоеточие+D) начинаются глюки в тексте из-за того, что это сочетание = смайлик :D [/offtop]

Автор - Wasilich
Дата добавления - 14.11.2016 в 11:53
kudim94 Дата: Понедельник, 14.11.2016, 12:00 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Wasilich, Спасибо! Прошу прощения!
 
Ответить
СообщениеWasilich, Спасибо! Прошу прощения!

Автор - kudim94
Дата добавления - 14.11.2016 в 12:00
SLAVICK Дата: Понедельник, 14.11.2016, 12:27 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
чтобы при наличии заголовка у таблицы, этот заголовок не изменялся, если не сложно!

Можно такого монстра:
[vba]
Код
Sub dd()
ActiveSheet.UsedRange.Range("D2:D" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible) = "Замена"
End Sub
[/vba]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
чтобы при наличии заголовка у таблицы, этот заголовок не изменялся, если не сложно!

Можно такого монстра:
[vba]
Код
Sub dd()
ActiveSheet.UsedRange.Range("D2:D" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible) = "Замена"
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 14.11.2016 в 12:27
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Замена значений только у видимых ячеек (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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