Показать полную графическую версию : макрос для автоматического копирования и обновления строк Excel 2011 (Mac)
Добрый день,
я настояший новичок, что касается Visual Basic программирования. Буду рада любой помощи!
Задача:
> лист "Sheet1" содержит А14:М160 данные
> эти данные должны автоматически копироваться в лист "Sheet2" начиная с А30
> т.е. если в листе "Sheet1" начиная с А14 добавляются или удаляются строки или изменяются данные, то данные / строки в листе "Sheet2" актуализируются автоматически (начиная с А30)
> новые столбцы в листе "Sheet1" не предусмотрены
> строки в листе "Sheet1" могут перемещатся (Copy/Paste)
> если возможно добавить в лист "Sheet2" кнопку "данные актуализировать", то тоже было бы замечательно
СПАСИБО заранее за помощ!
jugansarr
07-08-2013, 17:46
tata_85,
Кто и как заносит данные в Sheet1?
Вы заносите эти данные? или ваша задача "актуализировать Sheet2? , а данные в Sheet1 заносятся (меняются) кем то другим
Нажмите Alt+F11, запустите редактор VBA, двойным щелчком щелкните по "Лист1"
Скопируйте и вставьте в поле справа такой код:
Private Sub Worksheet_Change(ByVal Target As Range)
Me.[A14:M160].Copy Sheets(2).[A30]
End Sub
Теперь после изменения данных в любой ячейке в "Лист1" вашего диапазона те же данные будут появляться в "Лист2" начиная с "А30".
Скопируйте и вставьте в поле справа такой код:
Private Sub Worksheet_Change(ByVal Target As Range)
Me.[А14:М160].Copy Sheets(2).[A30]
End Sub»
okshef, это такой синтаксис в новых версиях VBA Office'а?
Он и в старых был приемлем
Нашел. Из встроенной справки:
Excel Developer Reference
How to: Refer to Cells by Using Shortcut Notation
You can use either the A1 reference style or a named range within brackets as a shortcut for the Range property. You do not have to type the word "Range" or use quotation marks, as shown in the following examples.
Sub ClearRange()
Worksheets("Sheet1").[A1:B5].ClearContents
End Sub
Sub SetValue()
[MyRange].Value = 30
End Sub
Нашел. Из встроенной справки: »
Я выяснил, почему предыдущий код (http://forum.oszone.net/post-2198151.html#post2198151) вызывал у меня ошибку времени исполнения: там использована кириллица в адресах при задании диапазона ;). Очевидно, как автор, не думая, написала (http://forum.oszone.net/post-2197899.html#post2197899) кириллицу в адресе, так она и попала к Вам в неизменном виде методом копирования.
Это я из сообщения ТС скопировал.
Пост поправил.
Кстати, я совсем не уверен, что код запустится в Office для Mac... Нужно, чтобы автор проверил.
Это я из сообщения ТС скопировал. »
Ну, я так и понял, подняв глаза повыше. Я позже дополнил своё сообщение.
спасибо огромное!!!! всё гениальное и правдо просто :-)
код отлично работает и в Мас!
Цель такова, что в лист 1 команда задаёт свою оценку, сколько дляться отдельные задания для создания веб-страницы.
В лист 2 начальник проекта может вносить корректировки (потому что конкуренты дешевле и т.д.) и делать финальное/ую предложение/ цену. Но команда работает по изначалной оценки. Хотим создать такую таблицу, что бы было более прозрачно, почему проекты экономически эффективны или нет...
На лист 1 после окончания внесения данных хотим дополнительно наложить защиту паролем.
Может есть ещё возможность оптически выделять в листе 2 изменённые числа?
СПАСИБО!
tata_85, рано радуетесь. Каждый раз после изменения в листе 1 все правки начальника будут исчезать...
jugansarr
09-08-2013, 16:03
okshef,
Можно добавить отдельную колонку "справа" в Sheet1 с пометкой "правка начальника - не изменять!!!!" Пусть он в ней галочки ставит - что обновлять а что не трогать.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC