Упростить процедуру копирования ячеек
mkotik
Дата: Понедельник, 17.09.2018, 17:44 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Добрый день, Уважаемые Знатоки! В VBA - не силен, прошу не кидать "тапками"... Наткнулся на такую процедуру в большом листинге. Посмотрел - идет простейшее копирование ячеек и вставка значений в другие ячейки. Как бы это упростить без вреда? [vba]Код
Sub Значение_приобретения() Range("AM9").Select Selection.Copy Range("AK9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ... Range("AK33").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AM34").Select Application.CutCopyMode = False Selection.Copy Range("AK34").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
[/vba] Ячейки идут по порядку Заранее благодарен
Добрый день, Уважаемые Знатоки! В VBA - не силен, прошу не кидать "тапками"... Наткнулся на такую процедуру в большом листинге. Посмотрел - идет простейшее копирование ячеек и вставка значений в другие ячейки. Как бы это упростить без вреда? [vba]Код
Sub Значение_приобретения() Range("AM9").Select Selection.Copy Range("AK9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ... Range("AK33").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AM34").Select Application.CutCopyMode = False Selection.Copy Range("AK34").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
[/vba] Ячейки идут по порядку Заранее благодарен mkotik
Сообщение отредактировал mkotik - Понедельник, 17.09.2018, 17:45
Ответить
Сообщение Добрый день, Уважаемые Знатоки! В VBA - не силен, прошу не кидать "тапками"... Наткнулся на такую процедуру в большом листинге. Посмотрел - идет простейшее копирование ячеек и вставка значений в другие ячейки. Как бы это упростить без вреда? [vba]Код
Sub Значение_приобретения() Range("AM9").Select Selection.Copy Range("AK9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ... Range("AK33").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AM34").Select Application.CutCopyMode = False Selection.Copy Range("AK34").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
[/vba] Ячейки идут по порядку Заранее благодарен Автор - mkotik Дата добавления - 17.09.2018 в 17:44
Pelena
Дата: Понедельник, 17.09.2018, 18:11 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация:
4660
±
Замечаний:
±
Excel 365 & Mac Excel
Насколько я понимаю, вот это [vba]Код
Range("AM9").Select Selection.Copy Range("AK9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
[/vba] можно заменить на [vba]Код
Range("AK9")=Range("AM9").Value
[/vba]
Насколько я понимаю, вот это [vba]Код
Range("AM9").Select Selection.Copy Range("AK9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
[/vba] можно заменить на [vba]Код
Range("AK9")=Range("AM9").Value
[/vba] Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Насколько я понимаю, вот это [vba]Код
Range("AM9").Select Selection.Copy Range("AK9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
[/vba] можно заменить на [vba]Код
Range("AK9")=Range("AM9").Value
[/vba] Автор - Pelena Дата добавления - 17.09.2018 в 18:11
mkotik
Дата: Понедельник, 17.09.2018, 18:57 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Pelena , спасибо за оперативность! А как правильно вставить цикл? Действия однотипные? Или попытаться .xls вставить?
Pelena , спасибо за оперативность! А как правильно вставить цикл? Действия однотипные? Или попытаться .xls вставить?mkotik
Ответить
Сообщение Pelena , спасибо за оперативность! А как правильно вставить цикл? Действия однотипные? Или попытаться .xls вставить?Автор - mkotik Дата добавления - 17.09.2018 в 18:57
_Boroda_
Дата: Понедельник, 17.09.2018, 19:08 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация:
6667
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Какой цикл? Если ячейки идут подряд, то цикл не нужен, можно сразу вот так [vba]Код
Range("AK9:AK34")=Range("AK9:AK34").Value
[/vba] А вообще - положите сюда файл и словами поясните что откуда куда по какому условию нужно
Какой цикл? Если ячейки идут подряд, то цикл не нужен, можно сразу вот так [vba]Код
Range("AK9:AK34")=Range("AK9:AK34").Value
[/vba] А вообще - положите сюда файл и словами поясните что откуда куда по какому условию нужно _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Какой цикл? Если ячейки идут подряд, то цикл не нужен, можно сразу вот так [vba]Код
Range("AK9:AK34")=Range("AK9:AK34").Value
[/vba] А вообще - положите сюда файл и словами поясните что откуда куда по какому условию нужно Автор - _Boroda_ Дата добавления - 17.09.2018 в 19:08
mkotik
Дата: Понедельник, 17.09.2018, 19:31 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
_Boroda_, спасибо, проверю ночью!
_Boroda_, спасибо, проверю ночью! mkotik
Ответить
Сообщение _Boroda_, спасибо, проверю ночью! Автор - mkotik Дата добавления - 17.09.2018 в 19:31
mkotik
Дата: Понедельник, 17.09.2018, 21:04 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Прикладываю файл
Ответить
Сообщение Прикладываю файл Автор - mkotik Дата добавления - 17.09.2018 в 21:04
_Boroda_
Дата: Понедельник, 17.09.2018, 22:17 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация:
6667
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
см. пост 4. только диапазон поменять [vba]Код
Range("AK9:AK34") = Range("AM9:AM34").Value
[/vba] Или с произвольным количеством строк [vba]Код
Sub rr() r0_ = 9 r1_ = Range("AM" & Rows.Count).End(3).Row Cells(r0_, "AK").Resize(r1_ - r0_ + 1) = Cells(r0_, "AM").Resize(r1_ - r0_ + 1).Value End Sub
[/vba]
см. пост 4. только диапазон поменять [vba]Код
Range("AK9:AK34") = Range("AM9:AM34").Value
[/vba] Или с произвольным количеством строк [vba]Код
Sub rr() r0_ = 9 r1_ = Range("AM" & Rows.Count).End(3).Row Cells(r0_, "AK").Resize(r1_ - r0_ + 1) = Cells(r0_, "AM").Resize(r1_ - r0_ + 1).Value End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение см. пост 4. только диапазон поменять [vba]Код
Range("AK9:AK34") = Range("AM9:AM34").Value
[/vba] Или с произвольным количеством строк [vba]Код
Sub rr() r0_ = 9 r1_ = Range("AM" & Rows.Count).End(3).Row Cells(r0_, "AK").Resize(r1_ - r0_ + 1) = Cells(r0_, "AM").Resize(r1_ - r0_ + 1).Value End Sub
[/vba] Автор - _Boroda_ Дата добавления - 17.09.2018 в 22:17
mkotik
Дата: Понедельник, 17.09.2018, 23:46 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
_Boroda_, спасибо за участие! Выдаёт ошибку 13 Файл приложил
_Boroda_, спасибо за участие! Выдаёт ошибку 13 Файл приложил mkotik
Ответить
Сообщение _Boroda_, спасибо за участие! Выдаёт ошибку 13 Файл приложил Автор - mkotik Дата добавления - 17.09.2018 в 23:46
_Boroda_
Дата: Вторник, 18.09.2018, 00:48 |
Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация:
6667
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Дык хто ж знал, что у Вас там еще события листа обрабатываются? Вот так сделайте [vba]Код
Sub Значение_Приобретения() Application.EnableEvents = 0 Range("AK9:AK34") = Range("AM9:AM34").Value Application.EnableEvents = 1 End Sub
[/vba]
Дык хто ж знал, что у Вас там еще события листа обрабатываются? Вот так сделайте [vba]Код
Sub Значение_Приобретения() Application.EnableEvents = 0 Range("AK9:AK34") = Range("AM9:AM34").Value Application.EnableEvents = 1 End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Дык хто ж знал, что у Вас там еще события листа обрабатываются? Вот так сделайте [vba]Код
Sub Значение_Приобретения() Application.EnableEvents = 0 Range("AK9:AK34") = Range("AM9:AM34").Value Application.EnableEvents = 1 End Sub
[/vba] Автор - _Boroda_ Дата добавления - 18.09.2018 в 00:48
mkotik
Дата: Вторник, 18.09.2018, 01:07 |
Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Спасибо, всё работает!
Ответить
Сообщение Спасибо, всё работает! Автор - mkotik Дата добавления - 18.09.2018 в 01:07
mkotik
Дата: Вторник, 18.09.2018, 01:43 |
Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Формула работает, значения меняются, но "выключилась" обработка событий... Подробности описал в файле
Формула работает, значения меняются, но "выключилась" обработка событий... Подробности описал в файле mkotik
Ответить
Сообщение Формула работает, значения меняются, но "выключилась" обработка событий... Подробности описал в файле Автор - mkotik Дата добавления - 18.09.2018 в 01:43
_Boroda_
Дата: Вторник, 18.09.2018, 09:23 |
Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация:
6667
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Не, так дело не пойдет. Ваш вопрос про копирование плавно перетек в вопрос об изменении прозрачности автофигур в зависимости от числовых значений. Это уже совсем другой вопрос, поэтому здесь его обсуждать не нужно. Создайте отдельную тему, назовите примерно так: "Изменение прозрачности автофигур в зависимости от чисел", файл этот же приложите. А ответ уже готов
Не, так дело не пойдет. Ваш вопрос про копирование плавно перетек в вопрос об изменении прозрачности автофигур в зависимости от числовых значений. Это уже совсем другой вопрос, поэтому здесь его обсуждать не нужно. Создайте отдельную тему, назовите примерно так: "Изменение прозрачности автофигур в зависимости от чисел", файл этот же приложите. А ответ уже готов _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Не, так дело не пойдет. Ваш вопрос про копирование плавно перетек в вопрос об изменении прозрачности автофигур в зависимости от числовых значений. Это уже совсем другой вопрос, поэтому здесь его обсуждать не нужно. Создайте отдельную тему, назовите примерно так: "Изменение прозрачности автофигур в зависимости от чисел", файл этот же приложите. А ответ уже готов Автор - _Boroda_ Дата добавления - 18.09.2018 в 09:23