Здравствуйте! как доработать макросы мои, чтобы при переносе строки с одного листа на другой переносись только значения (без формул) и при условии, что в столбце "Е" на листе МГО значение равно или больше 100. Если при значении меньше 100 нужно, чтобы выпадало сообщение текстовое
Здравствуйте! как доработать макросы мои, чтобы при переносе строки с одного листа на другой переносись только значения (без формул) и при условии, что в столбце "Е" на листе МГО значение равно или больше 100. Если при значении меньше 100 нужно, чтобы выпадало сообщение текстовоеovechkin1973
'=====Перенос строки на лист архив===== Private Sub cmd_perenos_mgo_Click() Dim iRow iRow = ActiveCell.Row If Cells(iRow, 5) >= 100 Then Selection.EntireRow.Cut Selection.EntireRow.Cut (Sheets("архив").Range("A" & (getrowCounts("архив", "A", 1) + 1))) Selection.Delete Else MsgBox "Задача пока не выполнена" End If End Sub
[/vba]
P.S. Только выделять нужно не ячейку, как у Вас в комментарии написано, а строку, иначе ячейка вместе со столбцом вырезается
Здравствуйте! Попробуйте так:
[vba]
Код
'=====Перенос строки на лист архив===== Private Sub cmd_perenos_mgo_Click() Dim iRow iRow = ActiveCell.Row If Cells(iRow, 5) >= 100 Then Selection.EntireRow.Cut Selection.EntireRow.Cut (Sheets("архив").Range("A" & (getrowCounts("архив", "A", 1) + 1))) Selection.Delete Else MsgBox "Задача пока не выполнена" End If End Sub
[/vba]
P.S. Только выделять нужно не ячейку, как у Вас в комментарии написано, а строку, иначе ячейка вместе со столбцом вырезается _Igor_61
Сообщение отредактировал _Igor_61 - Пятница, 10.11.2017, 22:12
_Igor_61, спасибо за помощь, но не вышло то, что хотел. У меня на листе МГО в первом столбце формула для автоматической нумерации и она тоже переноситься на другой лист.. Мне этого не надо, потому как нарушается нумерация и на листе Архив переноситься только та строка, которую перенес первой, остальные просто удаляются с листа МГО.. По условию проверки значения 100 работает.
_Igor_61, спасибо за помощь, но не вышло то, что хотел. У меня на листе МГО в первом столбце формула для автоматической нумерации и она тоже переноситься на другой лист.. Мне этого не надо, потому как нарушается нумерация и на листе Архив переноситься только та строка, которую перенес первой, остальные просто удаляются с листа МГО.. По условию проверки значения 100 работает.ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
Попробовал с другой стороны зайти. Почему-то на листе "Архив" проставлялась нумерация до 2000 строки, и строки с листа МГО поэтому переносились далеко вниз. Не стал с этим разбираться, сделал в отдельном модуле другой макрос, вроде работает. Но все равно непонятки какие-то творятся - на листе "Архив" 2-я строка не удаляется. Может, это как-то с каким-то макросом в модуле листа "МГО" связано, может еще с чем - не знаю. Формат ячеек для дат не стал делать - это совсем другой вопрос, к этой задаче не относящийся.
Попробовал с другой стороны зайти. Почему-то на листе "Архив" проставлялась нумерация до 2000 строки, и строки с листа МГО поэтому переносились далеко вниз. Не стал с этим разбираться, сделал в отдельном модуле другой макрос, вроде работает. Но все равно непонятки какие-то творятся - на листе "Архив" 2-я строка не удаляется. Может, это как-то с каким-то макросом в модуле листа "МГО" связано, может еще с чем - не знаю. Формат ячеек для дат не стал делать - это совсем другой вопрос, к этой задаче не относящийся._Igor_61
Почему-то на листе "Архив" проставлялась нумерация до 2000 строки, и строки с листа МГО поэтому переносились далеко вниз.
Это похоже было из-за того, что на листе Архив как таблица было форматирование и как раз на 2000 строк.. я лист удалил и новый сделал.. все работает. Перенес макрос на лист и он начал работать по другому.. он не на лист Архив данные переносит, а на том же листе МГО в нижнюю строку переносит данные. Не могу понять почему так. А перенес на лист макрос по причине того, что кнопки в оригинальном файле применяю из АктивX и в модуле почему то они не работают
Почему-то на листе "Архив" проставлялась нумерация до 2000 строки, и строки с листа МГО поэтому переносились далеко вниз.
Это похоже было из-за того, что на листе Архив как таблица было форматирование и как раз на 2000 строк.. я лист удалил и новый сделал.. все работает. Перенес макрос на лист и он начал работать по другому.. он не на лист Архив данные переносит, а на том же листе МГО в нижнюю строку переносит данные. Не могу понять почему так. А перенес на лист макрос по причине того, что кнопки в оригинальном файле применяю из АктивX и в модуле почему то они не работаютovechkin1973
Ну да, я и назначил макрос на простую кнопку, т.к. с АктивХ плохо знаком, так же как и в VBA далеко не ас, по этой же причине сделал макрос в отдельном модуле, а не в модуле листа (по-моему, так надежней и безопасней, фиг его знает, что там кому на листе делать захочется) Видимо и переносит на этот же лист потому, что в модуле листа а не в отдельном, наверное еще что-то там нужно указывать в коде (не смотрел, если честно, т.к. вариант из сообщения 4 вроде работает, зачем лишние эксперименты производить). Может, гуру если захотят, посмотрят и укажут на места с косяками. Вообще-то так думаю: если макрос нормально работает в своем модуле - зачем его перетаскивать в другое место? Важен ведь результат, а не то, где макрос находится - в основном модуле или в модуле листа. Хотя, может и ошибаюсь - я ведь не профи в программировании, только учусь
Ну да, я и назначил макрос на простую кнопку, т.к. с АктивХ плохо знаком, так же как и в VBA далеко не ас, по этой же причине сделал макрос в отдельном модуле, а не в модуле листа (по-моему, так надежней и безопасней, фиг его знает, что там кому на листе делать захочется) Видимо и переносит на этот же лист потому, что в модуле листа а не в отдельном, наверное еще что-то там нужно указывать в коде (не смотрел, если честно, т.к. вариант из сообщения 4 вроде работает, зачем лишние эксперименты производить). Может, гуру если захотят, посмотрят и укажут на места с косяками. Вообще-то так думаю: если макрос нормально работает в своем модуле - зачем его перетаскивать в другое место? Важен ведь результат, а не то, где макрос находится - в основном модуле или в модуле листа. Хотя, может и ошибаюсь - я ведь не профи в программировании, только учусь _Igor_61
Хотя, может и ошибаюсь - я ведь не профи в программировании, только учусь
Вот и пообщались - человек, который чему то немного научился и я Простые кнопки не люблю по той причине, что работаю с файлами на разный компах и почему то они иногда меняют свой размер и местоположение. Кнопки из АктивX такой болячкой не страдают. А для профи надо уже другую тему создавать. Это другой вопрос уже. Спасибо за помощь!
Хотя, может и ошибаюсь - я ведь не профи в программировании, только учусь
Вот и пообщались - человек, который чему то немного научился и я Простые кнопки не люблю по той причине, что работаю с файлами на разный компах и почему то они иногда меняют свой размер и местоположение. Кнопки из АктивX такой болячкой не страдают. А для профи надо уже другую тему создавать. Это другой вопрос уже. Спасибо за помощь!ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
Сообщение отредактировал ovechkin1973 - Воскресенье, 12.11.2017, 19:39