Сложен макрос
„Писането на макроси не е трудно, трудно е да се пишат красиви макроси“
за дизайн на електронни таблици
Доста обичайно е да копирате данни от един работен лист в друг. Нека използваме макрос, за да автоматизираме този процес.
Синхронизиране на два листа в Excel файл
Нека отворим файла на Excel и стартираме записа на макроса, копираме всяка клетка от листSheet1в листSheet2.
Сега нека отворим кода за редактиране:Услуга-Макро-Макроси ...където трябва да се появи прозорец със записаните от вас макроси. Маркирайте макроса за редактиране и натиснетеРедактиране
По принцип ни интересуват секции с имена Модул 1 и т.н. Тези модули съхраняват VBA код. Най-отгоре има името на VBA проекта (в скоби името на Excel файла), имаме го (Макроси 2. xls). Кликнете върху този модулМодул 1.
VBA кодът трябва да се появи пред вас, нека го разберем:
Sub Macro2 ()Sub statement е началото на програмата, казваме на VBA, че искаме да създадем нещо. Macro2 е името на нашия макрос, той може да бъде преименуван.
Диапазон („G 2“). ИзберетеИзбираме клетка G 2 на активния лист.
Избор. КопиранеКопирайте тази избрана клетка в паметта на компютъра (в клипборда).
Листове ("Лист1") . ИзберетеНамерете и изберете листЛист1
Диапазон (“H10”). ИзберетеНа избрания листЛист1изберете клеткаH10
Активен лист. ПоставянеВ избрания листЛист1поставете данните от буфера в клеткаH10.
End SubКазваме на VBA, че искаме да прекратим програмата.
Ето как компютърът записа нашите действия във VBA код. защотоЛист, от който да се копират данните, не е посочен (посочена е само клеткаG 2), VBA ще копира клеткаG 2от всеки лист, вЛист 1в клеткаH 10.
Естествено, този код може да бъде правилно редактиран и променен според вашите желания.
Синхронизиране на два Excel файла .
Като пример, копирайте на вашия твърд диск и отворете (едновременно) два файла:
(Този пример е във файлМакроси 2.xlsвМодул 2)
Sub Bridge ()’ Начало на програмата Bridge
‘ Макрос за отдалечен достъп
Windows ("Test.xls"). Активирайте ' Изберете файла, от който ще копираме клетката
Листове ("Лист1"). Изберете ' Изберете лист в този файл
' Диапазон ("A 1"). Изберете ' Можем да изберем конкретна клетка. Ако заключите ред, клетката, която първоначално е избрана на листа, ще бъде избрана.
селекция. Копиране ’ Копирайте клетката
Windows ("Макроси 2.xls"). Активирайте ' Изберете файла, в който ще копираме предварително копираната клетка
Листове ("Лист 2"). Изберете ' Изберете лист в този файл
' Диапазон ("A 1"). Изберете ’ Изберете фиксирана клетка, която ще бъде постоянна за вмъкване. Ако заключите ред, клетката, която първоначално е избрана на листа, ще бъде избрана.
ActiveSheet.Paste' Поставете стойността
End Sub' Приключваме програмата
Същността на тази програма е следната: ние сме от отворен файл Test . xls копира избраната клетка на лист 1 в макроси 2. xls в лист 2
След като запишете този макрос, не забравяйте да му дадете клавишна комбинация, за да го стартирате:
ИзберетеПараметри …и въведете буквата за комбинацията (в нашия случай това еq).
Сега, когато натиснете клавишната комбинацияCtrl + q, имаме от файла Test . xls, избраната клетка се копира във файлаMacros 2. xls(разбира се, тези файлове трябва да са отворени и работните листове трябва да са ясно дефинирани).
Можете да украсите вашата програма. Копирайте произволно изображение във файлаМакроси 2.xls(в примера вече има бутон) и като изберете това изображение с десния бутон на мишката, изберете опциятаПрисвояване на макрос ...След това ще се отвори списък с макроси - изберете един от тях. Сега, като щракнете върху ценния бутон, автоматично ще стартирате този макрос. Естествено, с този бутон можете да извършвате различни манипулации: да правите надписи, да рисувате, да разтягате и т.н.