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

Вход

Регистрация

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

 

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

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

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

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

2007,2010,2013,2016
Вариант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(21Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеВариант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
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

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


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

Автор - kudim94
Дата добавления - 14.11.2016 в 11:22
Wasilich Дата: Понедельник, 14.11.2016, 11:53 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 855
Репутация: 220 ±
Замечаний: 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
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

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

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

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

Можно такого монстра:
[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 из 11
Поиск:

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