КомпьютерлерБағдарламалық қамтамасыз ету

VBA Excel: типтік оқу бағдарламалары. Excel макростар

Бірнеше адам танымал Microsoft Excel өнімнің алғашқы нұсқасы 1985 жылы пайда болды деп білемін. Содан бері ол бірнеше модификациялау және бүкіл әлем бойынша миллиондаған пайдаланушыларының сұранысын ұшырады. Алайда тек осы электрондық кестенің сәл мүмкіндіктерімен, көптеген жұмыс, тіпті олар Excel бағдарламалау мүмкіндігі үшін өмір жеңілдету еді қалай білмеймін.

VBA қандай

Excel бағдарламалау бастапқыда Майкрософт ең танымал электрондық салынды қолдану бағдарламалау тілінде арналған Visual Basic арқылы жүзеге асырылады.

Оның еңбегі үшін сарапшылар даму салыстырмалы жеңілдігі атрибут. Тәжірибе көрсетіп отырғандай, VBA, кәсіби бағдарламалау дағдыларын жоқ, тіпті пайдаланушыларға негіздерін меңгеруге болады. VBA үшін мүмкіндіктері Office қолданбалы ортада сценарий орындалуын қамтиды.

Бағдарламаның кемшілігі түрлі нұсқаларын үйлесімділігі байланысты проблемалар болып табылады. Олар бағдарламаның VBA коды өнімнің жаңа нұсқасы, бірақ ескі бірінде бар функционалдық жатады фактісі себеп болып жатады. бөтен келбетін өзгерту үшін үлкен кемшілігі және код шамадан тыс жоғары ашықтығы, сондай-ақ бар. Алайда, Microsoft Office және IBM Lotus Symphony пайдаланушылар, оны көру үшін шифрлау енгізу коды мен құпия сөз баптауын қолдануға мүмкіндік береді.

Объектілері, жинақтар, қасиеттері, әдістері мен

Ол сізге VBA ортада жұмыс істеуге бара кім түсіну қажет, осы ұғымдар болып табылады. Біріншіден, сіз нысан болып табылады түсіну керек. Excel, бұл актіде парағының, кітап, ал ұяшық ауқымының ретінде. Бұл нысандар арнайы иерархиясын, яғни бар бір-біріне бағынады.

Олардың арасында бас қолдану, тиісті Excel бағдарламасы өзі болып табылады. Жұмыс кітаптарын, жұмыс парақтары, және ауқымы ерді. Мысалы, белгілі бір парағында A1 ұяшығына сілтеме жасау ескере иерархиясын отырып, жол көрсетуі керек.

«Жинау,» жазу берілген сол сыныптағы объектілерін осы тобы, ChartObjects тұжырымдамасы қатысты. Оның элементтері, сондай-ақ объектiлер болып табылады.

Келесі нәрсе - қасиеттері. Олар кез-келген объектінің қажетті ерекшелігі болып табылады. Мысалы, диапазоны үшін - мән немесе Формула табылады.

Әдістері - Сіз жасауға келеді деп көрсету командасы болып табылады. VBA кодын жазғанда оларды нысан тұрғыдан бөлінуі үшін. кейінірек көрсетілгендей болады «Excel» пайдалану бағдарламалау кезде Мысалы, өте жиі Ұяшықтар (1,1) .Select пәрмені. Ол координаттары бар ұяшықты таңдау қажет дегенді білдіреді яғни, (1,1) A1.

Алайда, ол жиі Selection.ClearContents пайдаланылады. Оны жүзеге асыру Таңдалған ұяшық мазмұнын тазалау болып табылады.

Қалай бастау үшін

Ең алдымен, сіз файлды құру және оны сақтап, атауын тағайындауға және макростары қосылған кітап Excel «түрін таңдау үшін келеді».

Содан кейін, «Alt» негізгі және «F11» комбинациясын пайдалануға жеткілікті VB қолдану, өтіңіз. келесі:

  • Терезенің жоғарғы жағында мәзір жолағында келесі Excel белгішесіне белгішесін нұқыңыз;
  • Mudule команданы Таңдалған;
  • дискеттер отырып белгішесін басу сақтауға;
  • жазу, дейді, код құрылым.

Ол келесідей көрінеді:

Sub бағдарламасы ()

«Біздің коды

End Sub

желісі «Біздің коды» түрлі түсті (жасыл) түспен болады екенін ескеріңіз. Осы апострофы себебі, қандай мынадай Пікір екенін көрсетеді жолдың, басында жеткізіледі.

Енді сіз кез келген кодын жазу және (үлгісі бағдарламаларды қараңыз. Т.б.) өзі үшін VBA Excel жаңа құралын жасауға болады. Әрине, Visual Basic негіздерімен таныс кім, ол әлдеқайда оңай болады. Алайда, тіпті сол сіз өте тез ыңғайлы алуға мүмкіндігі болуы келсе, жоқ, кім.

Excel макростар

Осы аты артында қолдану тілі үшін Visual Basic жазылған бағдарламаларды жасырады. Осылайша, Excel үшін бағдарламалау - қалаған кодына макросты жасау болып табылады. Бұл мүмкіндігі бар, Microsoft электрондық кесте белгілі бір пайдаланушының талаптарына бейімдеу, өзін-өзі дамытады. Макростарды жазу үшін модульдерді жасау қалай қаралады отырып, ол VBA Excel бағдарламасының нақты мысалдар жалғастыру мүмкін. Ең негізгі кодтары бар бастау үшін ең жақсы, бұл болып табылады.

МЫСАЛ 1

Тапсырма: бір ұяшықтың мазмұнын мәнді көшіріңіз, содан кейін басқа жазу болады бағдарламасын жазу.

Осыған:

  • қойындысы «Көру» ашу;
  • белгішесі «макростар» жылжыту;
  • «Record Macro» үшін сілкіп;
  • ашылды нысанын толтыру.

Қарапайымдылық үшін, «Macro атауы» «Makros1» қалдыру және «Төте жол пернесі» салынғанын жылы, мысалы, HH (осы сіз мысал бағдарламасы «Ctrl + H» Блиц командасы болады іске қосуға болады дегенді білдіреді). Enter пернесін басыңыз.

Енді сіз Макросты жазуды бастады деп, басқа бір ұяшық мазмұнын құрайды. бастапқы белгішесі дегенге қайта келу. «Record Macro» батырмасын басыңыз. Бұл іс-шара қосымшаларын аяқталуын толады.

келесі:

  • қайтадан жолдың «Макростар» көшу;
  • тізімге «Macro 1» таңдалған;
  • «Іске қосу» (шығарыла сол акциясы басталады пернелер тіркесімдері «Ctrl + сс») түймешігін басыңыз.

Нәтижесінде, макросты жазу кезінде орындалды іс-қимыл.

Бұл код ұқсайды қалай көруге мағынасы. Бұл әрекетті орындау үшін, кері жолына «макростарын» барып «Өңдеу» немесе «Enter» батырмасын басыңыз. Нәтижесінде, олар VBA ортада өздерін таба. Шын мәнінде, коды өзі желілері макро Makros1 Sub () және End Sub арасында орналасқан.

көшіру жүзеге асырылған кезде, мысалы, ұяшыққа С1 ұяшығына A1 бастап, кодын жолдарының бірі диапазоны ( «С1») сияқты көрінеді. таңдаңыз. аударма, ол «Range (» С1 «) сияқты көрінеді. таңдаңыз», басқа сөзбен айтқанда, С1 ұяшығына VBA Excel көшу, құрайды.

код белсенді бөлігі ActiveSheet.Paste командасын аяқтайды. Ол таңдалған ұяшық С1 (бұл жағдайда, А1) ұяшықты таңдалған жазу мазмұнын білдіреді.

2-мысал

VBA цикл Excel түрлі макростар жасауға көмектеседі.

VBA циклдар түрлі макростарды жасауға көмектеседі. COS (X) - функциясы у = х + х 3 + 3x 2 бар деп есептейік. Сіз өз графика үшін макросты жасау керек. Бұл тек VBA циклдары көмегімен жасауға болады.

дәлел функцияларды бастапқы және соңғы мәні үшін x1 = 0 және х2 = 10 қабылдайды. Сонымен қатар, ол тұрақты енгізу қажет - қадамға мәні дәлел және биржадан үшін бастапқы мәнін өзгертеді.

VBA Excel макростар Барлық мысалдар жоғарыда баяндалған бірдей процедураны пайдалану арқылы жасалған. Бұл нақты жағдайда, коды ұқсайды:

Sub бағдарламасы ()

x1 = 1

x2 = 10

0,1 = Shag

I = 1

x1

у = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Cos (x1)

Ұяшықтар (і, 1) .Мән = x1 (координаттар (і, 1) жадында жазылған x1 мәні)

Ұяшықтар (і, 2) .Мән = у (у мәні координаттар (і, 2) ұяшыққа жазылған)

I = I + 1 (жарамды саны);

x1 = x1 + Shag (дәлел қадам мөлшері өзгереді);

Loop

End Sub.

Y үшін - бұл макрос іске қосу «Excel» нәтижесінде х мәндерін, ал екінші жазылады, оның бірінші екі бағандар, алу.

Содан кейін, «Excel» стандартын оларға салу қабілетті жоспарлау.

3-мысал

жобалау үшін пайдаланылатын кезде, қазірдің өзінде төмендейді Do бірге, 2010 VBA Excel бағдарламасында, сондай-ақ басқа да нұсқаларында циклдары іске асыру үшін.

Бағанды жасайды бағдарламасын қарастырайық. Әрбір ұяшыққа ол жолдың нөмірін тиісті шаршылар жазылады. дизайн пайдалану үшін санауыш қолданбай, өте қысқа, оны жазуға мүмкіндік береді.

Біріншіден, ол жоғарыда сипатталғандай, макросты жасау қажет. Келесі, кодты өзі жазады. Біз 10 ұяшықтар үшін құндылықтар мүдделі деп санайды. төмендегідей коды болып табылады.

I = 1 10 Келесі үшін

Команда «бір қадаммен 1-ден 10 қайталады.» деп, «адам» тілге аударылады

міндеті, мысалы, алаңдар бар 1 және 11 арасындағы барлық тақ бүтін бағанды алуға, онда біз жазу:

I = 1 10 1-қадамнан Келесі үшін.

Мұнда, қадамға - қадам. Бұл жағдайда, ол екі тең. Әдепкіде, цикл сөздің болмауы бұл бір қадам білдіреді.

нәтижелері жасуша саны (і, 1) сақталатын қажет. Сонда сен менің қадамда құнының өсуімен циклын бастау әр уақыт автоматты түрде өседі және жолдың рет нөмірі болады. Осылайша, коды оңтайландыру болады.

Жалпы, коды сияқты көрінеді:

Sub бағдарламасы ()

I = 1-ден 10-қадам 1 (10 ғана і = 1 жазуға болады)

Ұяшықтар (і, 1) .Мән = I ^ 2 (яғни шаршы мәні ұяшыққа жазылған (I, 1) і)

Келесі (бір мағынада қарсы құралдарын рөл атқарады және басқа цикл бастау)

End Sub.

(Жоғарыдағы нұсқаулар. Қараңыз) жазу және жүгіру макростар, соның ішінде, дұрыс жасадық, онда ол әр уақытта аталады берілген мөлшері (10 жасушаларынан тұратын бұл жағдайда) бағанын алынады.

МЫСАЛ 4

Күнделікті өмірде, өте жиі бұл қабылдауға немесе кейбір жағдайларға байланысты екенін шешім қажет. VBA Excel оларға мүмкін емес. (Күрделі жағдайларды) Алгоритмнің одан әрі Әрине орнына егер бастапқыда алдын ала белгіленген, ең жиі қолданылатын жобалау таңдалған бағдарламалар мысалдары ... Сосын болса ... Содан кейін ... END болса.

Атап жағдайды қарастырып көрейік. Егер сіз координаттары (1,1) бар ұяшыққа «Excel» үшін макросты жасау керек делік жазылған:

1 дәлел оң болса;

0 дәлел нөлге тең болса;

1, Аргументі теріс болса.

«Excel» үшін осындай макрос құру «ыстық» кілттер Alt және F11 пайдалану арқылы, стандартты жолмен басталады. Әрі қарай келесі кодты жазбаша:

Sub бағдарламасы ()

X = Ұяшықтар (1, 1) .Мән (Бұл пәрмен х координаты ұяшық мазмұнын (1, 1 мәнін тағайындайды))

Егер х> 0 Содан кейін Ұяшықтарды (1, 1) .Мән = 1

Егер х = 0 Содан кейін Ұяшықтарды (1, 1) .Мән = 0

Ұяшықтар (1, 1) .Мән = -1 Содан кейін х <0 болса

End Sub.

Ол макросты іске қосу және «Excel» дәлелі үшін қажетті мән алуға қалады.

VBA функциялары

Егер сіз Microsoft электрондық кесте қолдану тым қиын емес ең танымал бағдарламаға, байқаған мүмкін. Әсіресе сіз VBA функцияларын пайдалану үйрену болса. Жалпы алғанда, «Excel» және Word, шамамен 160 функциялары жазу қосымшалар үшін арнайы құрылған бұл бағдарламалау тілі. Олар бірнеше ірі топқа бөлуге болады. Олар:

  • Математикалық функцияларды. косинус құнының дәлел оларды қолдану, натурал логарифмін алынған, сондықтан бүкіл бөлігі болып табылады.
  • Қаржы функциялары. олардың қолжетімділігін және Excel бағдарламасында бағдарламалау пайдалану арқасында, сіз бухгалтерлік есеп пен қаржылық есеп айырысу тиімді құралдарын ала аласыз.
  • Array өңдеу функциялары. Бұл алапта, IsArray қамтиды; LBound; UBound.
  • желісі үшін VBA Excel функциясы. Бұл өте үлкен топ болып табылады. Ол, мысалы, ғарыш ANSI коды үшін бүтін дәлел немесе Кему бойынша аударымдар рәміздер тең бос бірқатар бар жолды жасау үшін жұмыс істейді, кіреді. Олардың барлығы кеңінен қолданылады және осы кестелермен жұмыс істеу үшін әлдеқайда оңай қосымшалар құру «Excel» жолдар бар жұмыс істеуге мүмкіндік береді отыр.
  • Деректер түрі түрлендіру функциялары. Мысалы, CVAR Variant деректер түріне оны түрлендіру, Өрнек дәлел қайтарады.
  • Күні функциялары. Олар қатты «Excel» стандартты мүмкіндіктерін кеңейту. Сондықтан, WeekdayName функциясы оның саны бойынша аптаның күнінің (толық немесе ішінара) атауын қайтарады. Тіпті одан да көп пайдалы Таймер болып табылады. Ол күннің нақты сәтке түн Содан бері өткен секундтар санын береді.
  • түрлі саны жүйелерінде сандық дәлел түрлендіру жұмыс істейді. Мысалы, қаз санының сегіздік өкілдігінен шығарады.
  • пішімдеу функциялары. Олардың ең маңызды пішімі болып табылады. Ол форматында сипаттамасында берілген нұсқауларға сәйкес пішімделген өрнек бар Variant қайтарады.
  • және т.б..

Осы функциялардың қасиеттерін зерттеу және олардың қолдану айтарлықтай «Excel» аясын кеңейтеді.

МЫСАЛ 5

Қосымша күрделі проблемаларды шешуге тырысайық. Мысалы:

Дэн қағаз кәсіпорын есептің шығындарды нақты деңгейін құжаттау. талап етеді:

  • Электрондық кесте «Excel», оның үлгісі бөлігін дамыту;
  • қажетті есептеулер жүргізу үшін, оны толтыру үшін шикізат деректер сұрауға және тиісті ұяшық қалыбында толтыру болады VBA бағдарламасын жасау.

Келесі шешімдер бірін қарастырайық.

Үлгіні жасау

Барлық іс-шаралар Excel стандартты парақта орындалады. туралы деректерді енгізу үшін сақталған Тегін ұяшықтар айы, жылы, атауы-тұтыну компаниялар, шығындар сомасы, айналымы, олардың деңгейі. компаниялар (компаниялар) саны сияқты есеп жазылған емес, оларға қатысты, құндылықтар мен кәсіби атымнан жасауға жасушалар ала қорғалған емес. жаңа атымен тағайындалған Worksheet. Мысалы, «Օ есеп».

айнымалылар

Үлгіде толтыру автоматты түрде бағдарламаны жазу үшін, белгілер тармағын таңдаңыз. Олар айнымалы үшін пайдаланылатын болады:

  • кестенің Ағымдағы жолдың NN- саны;
  • ТП және TF - жоспарлы және нақты тауар айналымы;
  • SF және SP - нақты және жалпы шығындарды жоспарланған;
  • IP және IF - жоспарлы және іс жүзіндегі шығындар деңгейі.

Біз сол әріптермен жәйттерді, бірақ бұл бағанда арналған «префикс» Itog жинақтаушы барлығы бар. Мысалы, ItogTP - «. жоспарланған айналымы» деп, атты бағанда қатысты

VBA бағдарламалау пайдаланып проблеманы шешу

Осы белгілер пайдалана отырып, біз үшін дисперсия формуланы табамыз. / P * 100, және мөлшерде - Сіз% -ға есептеуді жүзеге асыруға келсе, біз (P F) - бар (F - P).

Осы есептеулер нәтижелері ғана тиісті ұяшықтардағы «Excel» электрондық кестесін жасау үшін ең үздік болады.

формулалар ItogP = ItogP + P және ItogF = ItogF + F. алынған іс жүзінде қорытындылары және болжау үшін

есептеу пайыз ретінде жүзеге асырылады, және жалпы құны, егер болса, онда / ItogP * 100 - (ItogF - ItogP) - ауытқу = (ItogP ItogF) пайдаланыңыз.

тағы бір рет нәтижелері тиісті жасушаларында жазылған, сондықтан айнымалы оларды тағайындауға қажеті жоқ.

Жұмыс кітабын сақтау керек бағдарламаны құру үшін бастамас бұрын, мысалы, атауы «Otchet1.xls» астында.

Баспасөз «есептік кестені жасау» Сіз тақырып ақпаратты енгізгеннен кейін ғана 1 рет басу керек. Сіз білесіз және басқа да ережелер болуы тиіс. Атап айтқанда, батырмасы әр қызмет үшін құндылықтарды кестеге кіргеннен соң сайын басылған болуы тиіс «Сызықтық қосу». батырмасы «Аяқтау» түймесін үшін қажетті барлық деректерді енгізгеннен кейін, содан кейін терезесінде «Excel» ауысыңыз.

Енді сіз макростар бар Excel үшін проблемасын шешуге қалай білеміз. VBA пайдалану мүмкіндігі Excel (үлгісі бағдарламаларды қараңыз. жоғары) және сіз мәтіндік редактор, қазіргі уақытта ең танымал ортада жұмыс қажет болуы мүмкін «Сөз». Атап айтқанда, осы баптың басында көрсетілгендей, жазу арқылы, немесе мәтін бойынша операцияларды көптеген ол арқылы мәзір түймелерін құру кодын жазу арқылы кезекші пернелерін басу арқылы немесе «қарау» белгішесі мен «Макростар» қойындысынан арқылы жасалуы мүмкін.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 kk.birmiss.com. Theme powered by WordPress.