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

Вход

Регистрация

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

 

= Мир MS Excel/При добавлении строк на лист в макросе поменять диапазон - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При добавлении строк на лист в макросе поменять диапазон (Макросы/Sub)
При добавлении строк на лист в макросе поменять диапазон
Garik007 Дата: Среда, 26.04.2017, 12:34 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день, не силен в макросах, нужна помощь.
В ячейке М10 прописана формула, которая в зависимости от условий выводит результат.
В ячейку E10 должен быть скопирован только этот результат, а не сама формула. Вариант прописать в ячейке E10=M10 не устраивает, т.к. появляются зависимые ячейки, кроме того, пользователи постоянно портят формулы.
Прописал такое условие:
[vba]
Код
Range("E10") = Range("M10")
[/vba]
Можно ли сделать чтобы при добавлении или удалении строк и столбцов на лист автоматически менялся диапазон и в макросе?
и еще, если прописать условие
[vba]
Код
Range("E10:E24") = Range("M10:M24")
[/vba]
то ничего не происходит, приходится прописывать по порядку E10,E11,E12 и т.д., есть ли варианты сразу указать нужный диапазон.
При необходимости могу выложить файл пример.
 
Ответить
СообщениеДобрый день, не силен в макросах, нужна помощь.
В ячейке М10 прописана формула, которая в зависимости от условий выводит результат.
В ячейку E10 должен быть скопирован только этот результат, а не сама формула. Вариант прописать в ячейке E10=M10 не устраивает, т.к. появляются зависимые ячейки, кроме того, пользователи постоянно портят формулы.
Прописал такое условие:
[vba]
Код
Range("E10") = Range("M10")
[/vba]
Можно ли сделать чтобы при добавлении или удалении строк и столбцов на лист автоматически менялся диапазон и в макросе?
и еще, если прописать условие
[vba]
Код
Range("E10:E24") = Range("M10:M24")
[/vba]
то ничего не происходит, приходится прописывать по порядку E10,E11,E12 и т.д., есть ли варианты сразу указать нужный диапазон.
При необходимости могу выложить файл пример.

Автор - Garik007
Дата добавления - 26.04.2017 в 12:34
Manyasha Дата: Среда, 26.04.2017, 12:43 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1990
Репутация: 819 ±
Замечаний: 0% ±

Excel 2010, 2016
Garik007, так пойдет?
в модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lr&
    lr = Cells(Rows.Count, "m").End(xlUp).Row
    Range("E10:E" & lr) = Range("M10:M" & lr).Value
End Sub
[/vba]


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеGarik007, так пойдет?
в модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lr&
    lr = Cells(Rows.Count, "m").End(xlUp).Row
    Range("E10:E" & lr) = Range("M10:M" & lr).Value
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 26.04.2017 в 12:43
Garik007 Дата: Среда, 26.04.2017, 13:00 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Manyasha, да спасибо, то что нужно, если правильно понял, то в
[vba]
Код
Range("E10:E" & lr)
[/vba]
прописывается E10:E24 и т.п.
 
Ответить
СообщениеManyasha, да спасибо, то что нужно, если правильно понял, то в
[vba]
Код
Range("E10:E" & lr)
[/vba]
прописывается E10:E24 и т.п.

Автор - Garik007
Дата добавления - 26.04.2017 в 13:00
Garik007 Дата: Среда, 26.04.2017, 13:02 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А можно ли как-то реализовать
при добавлении или удалении строк и столбцов на листе автоматически менялся диапазон и в макросе?
 
Ответить
СообщениеА можно ли как-то реализовать
при добавлении или удалении строк и столбцов на листе автоматически менялся диапазон и в макросе?

Автор - Garik007
Дата добавления - 26.04.2017 в 13:02
_Boroda_ Дата: Среда, 26.04.2017, 13:06 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11508
Репутация: 4735 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
при добавлении или удалении строк и столбцов на лист автоматически менялся диапазон и в макросе?

Довольно простой способ - дать диапазонам имена (посмотреть можно, нажав на листе Контрл F3) и в макросе написать примерно вот так
[vba]
Код
Sub tt()
    [Д2_] = [Д1_].Value
End Sub
[/vba]
К сообщению приложен файл: 816786.xlsm(16Kb)


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

Довольно простой способ - дать диапазонам имена (посмотреть можно, нажав на листе Контрл F3) и в макросе написать примерно вот так
[vba]
Код
Sub tt()
    [Д2_] = [Д1_].Value
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 26.04.2017 в 13:06
Manyasha Дата: Среда, 26.04.2017, 13:06 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 1990
Репутация: 819 ±
Замечаний: 0% ±

Excel 2010, 2016
Garik007, код
в модуль листа

Если не получается, показывайте в файле.

UPD
строк и столбцов

Поняла. Тогда, вариант Александра (_Boroda_) используйте.


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804


Сообщение отредактировал Manyasha - Среда, 26.04.2017, 13:09
 
Ответить
СообщениеGarik007, код
в модуль листа

Если не получается, показывайте в файле.

UPD
строк и столбцов

Поняла. Тогда, вариант Александра (_Boroda_) используйте.

Автор - Manyasha
Дата добавления - 26.04.2017 в 13:06
Garik007 Дата: Среда, 26.04.2017, 13:23 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, спасибо, то что нужно, все гениальное просто.
 
Ответить
Сообщение_Boroda_, спасибо, то что нужно, все гениальное просто.

Автор - Garik007
Дата добавления - 26.04.2017 в 13:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При добавлении строк на лист в макросе поменять диапазон (Макросы/Sub)
Страница 1 из 11
Поиск:

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