You are on page 1of 40

‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ اﻟﺘﻄﺒﯿﻘﺎت‬

‫‪VBA‬‬

‫إﻋﺪاد‪ :‬ﺳﺎﻣﺢ ﻣﺤﻤﺪ‬


‫ﻣﺎﺟﺴﺘﯿﺮ إدارة أﻋﻤﺎل‬

‫ھﺬه اﻟﻤﻘﺎﻻت ﺗﻢ ﻧﺸﺮھﺎ ﻓﻲ‪:‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬


‫‪http://samehar.wordpress.com‬‬

‫‪2008‬‬

‫ﺣﻘﻮق اﻟﻨﺸﺮ ﻣﺤﻔﻮﻇﺔ ﻟﻠﻤﺆﻟﻒ‬


‫اﻟﻤﺤﺘﻮﯾﺎت‬

‫‪3‬‬ ‫ﻓﺎﺋﺪة ﺗﻌﻠﻢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫‪9‬‬ ‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻣﻦ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ ‪ -‬ﻣﻘﺪﻣﺔ‬

‫‪19‬‬ ‫ﺗﻄﺒﯿﻘﺎت‬

‫‪25‬‬ ‫أدوات اﻟﺘﺤﻜﻢ‬

‫‪32‬‬ ‫ﺗﻄﺒﯿﻘﺎت ﻣﺘﻘﺪﻣﺔ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪2‬‬


‫ﻓﺎﺋﺪة ﺗﻌﻠﻢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﻤﺪﯾﺮﯾﻦ واﻟﻤﮭﻨﺪﺳﯿﻦ اﻟﺼﻨﺎﻋﯿﯿﻦ وﻏﯿﺮھﻢ‬
‫ﯾﻮﻟﯿﻮ ‪ 2007 ,20‬ﻓﻲ ‪ 6:45‬م ·‬

‫اﻟﻜﺜﯿﺮ ﻣﻨﺎ ﯾﺴﺘﺨﺪم ﺑﺮاﻣﺞ ﻋﺪﯾﺪة ﻟﻠﺤﺎﺳﻮب وﻟﻜﻨﮫ ﻟﻢ ﯾﺘﻌﻠﻢ أي ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﻇﻨًﺎ ﻣﻨﮫ أن ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ﻻ ﻓﺎﺋﺪة‬
‫ﻣﻨﮭﺎ ﺳﻮى ﻟﻠﻤﺘﺨﺼﺼﯿﻦ ﻓﻲ اﻟﺒﺮﻣﺠﺔ وان ﺗﻌﻠﻤﮭﺎ ﯾﺠﺘﺎج ﻣﮭﺎرات ﺧﺎﺻﺔ‪ .‬ﻓﻲ اﻟﻮاﻗﻊ إن ﺗَﻌﻠُﻢ ﻟﻐﺔ ﺑﺮﻣﺠﺔ‬
‫ﻟﯿﺲ أﻣﺮا ﺻﻌﺒﺎ وﻟﻜﻨﮫ ﻣﻔﯿﺪ ﺟﺪا‪ .‬اﻟﻤﮭﻢ ھﻮ اﺧﺘﯿﺎر ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ اﻟﻤﻨﺎﺳﺒﺔ ﻟﻚ ﻓﮭﻨﺎك ﻟﻐﺎت ﺗﺴﺘﺨﺪم ﻟﺘﻄﻮﯾﺮ‬
‫ﺑﺮاﻣﺞ ﺗﻌﻤﻞ ﻋﻠﻰ ‪ Server‬أو اﻟﺨﺎدم وھﺬه ﻻ ﺗﻌﻨﯿﻨﺎ ﻓﻲ ھﺬا اﻟﻤﻘﺎم‪ .‬وھﻨﺎك ﺑﺮاﻣﺞ ﺗﺴﺘﺨﺪم ﻋﻠﻰ اﻟﺤﺎﺳﻮب‬
‫اﻟﺸﺨﺼﻲ ﻣﺜﻞ ﻟﻐﺎت ‪ Basic, Fortran C, Visual‬وﻏﯿﺮھﺎ وھﺬه ﻟﮭﺎ اﻟﻜﺜﯿﺮ ﻣﻦ اﻻﺳﺘﺨﺪاﻣﺎت ﻟﻐﯿﺮ‬
‫اﻟﻤﺘﺨﺼﺼﯿﻦ ﻓﻲ اﻟﺒﺮﻣﺠﺔ‪.‬‬

‫ﻗﺪ ﯾﻜﻮن ﻟﺪﯾﻚ ﻗﺴﻢ ﺧﺎص ﺑﺎﻟﺒﺮﻣﺠﺔ ﻓﻲ ﻣﺆﺳﺴﺘﻚ وﻟﻜﻨﻚ ﻟﻦ ﺗﻄﻠﺐ ﻣﻨﮫ ﻛﻞ ﯾﻮم أن ﯾﻘﻮم ﺑﻜﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﻣﻦ‬
‫ﻋﺸﺮة أﺳﻄﺮ ﻟﻜﻲ ﺗﻘﻮم ﺑﺒﻌﺾ اﻟﻌﻤﻠﯿﺎت اﻟﺒﺴﯿﻄﺔ‪ .‬ﻋﻨﺪﻣﺎ ﺗﻜﻮن ﻋﻠﻰ دراﯾﺔ ‪-‬وﻟﻮ ﻣﺤﺪودة‪ -‬ﺑﻠﻐﺔ ﺑﺮﻣﺠﺔ‬
‫ﻓﺈﻧﻚ ﺗﺴﺘﻄﯿﻊ أداء ھﺬه اﻟﻤﮭﺎم اﻟﺒﺴﯿﻄﺔ ﺑﻨﻔﺴﻚ ﺑﺴﺮﻋﺔ‪.‬‬

‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ‪.… Basic Visual‬ﻟﻤﺎذا؟‬

‫أرى أن ﻓﯿﺠﻮال ﺑﯿﺴﻚ ھﻮ اﻟﻠﻐﺔ اﻟﺘﻲ ﯾﺠﺐ أن ﻧﺘﻌﻠﻤﮭﺎ‪ .‬ﻟﻤﺎذا؟ اﻟﺴﺒﺒﺐ اﻷﺳﺎﺳﻲ ھﻮ أﻧﮭﺎ ﻣﺘﻮﻓﺮة ﻣﻊ ﻣﻨﺘﺠﺎت‬
‫ﻣﯿﻜﺮوﺳﻮﻓﺖ واﻟﺘﻲ ﺗﻜﺎد ﻧﻜﻮن ﺟﻤﯿﻌﺎ ﻣﻦ ﻣﺴﺘﺨﺪﻣﯿﮭﺎ أي أﻧﻚ ﺳﺘﺠﺪھﺎ ﻣﺘﻮﻓﺮة ﻋﻠﻰ أي ﺟﮭﺎز ﺗﻘﺮﯾﺒﺎ‪.‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ ﻓﻠﻦ ﺗﺤﺘﺎج ﻟﺸﺮاء ﺑﺮﻧﺎﻣﺞ ﻟﻜﻲ ﺗﺴﺘﺨﺪم ھﺬه اﻟﻠﻐﺔ وﻟﻦ ﺗﻮاﺟﮭﻚ ﻣﺸﻜﻠﺔ ﻋﺪم ﺗﻮﻓﺮ ھﺬه اﻟﻠﻐﺔ ﻋﻠﻰ‬
‫ﺑﻌﺾ اﻷﺟﮭﺰة‪ .‬ﻓﻌﻨﺪﻣﺎ ﺗﻔﺘﺢ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ أو وورد أو ﺑﻮرﺑﻮﯾﻨﺖ أو أﻛﺴﺲ ‪,Excel, Word‬‬
‫‪ Power Point, Access‬ﺗﺠﺪ أﻧﮭﻢ ﺟﻤﯿﻌﺎ ﻣﻠﺤﻖ ﺑﮭﻢ ﻣﺎ ﯾﺴﻤﻰ ‪ VBA‬أي ‪Visual Basic for‬‬
‫‪ Applications‬أو ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﺘﻄﺒﯿﻘﺎت‪ .‬ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام ‪ VBA‬ﻣﻊ أي ﻣﻦ ھﺬه اﻟﺒﺮاﻣﺞ ﺑﻤﻌﻨﻰ‬
‫أﻧﻚ ﺗﺘﺤﻜﻢ ﻓﻲ ﺑﺮﻧﺎﻣﺞ ﻣﺜﻞ إﻛﺴﻞ ﻣﻦ ﺧﻼل ﺑﺮﻧﺎﻣﺞ ﺻﻐﯿﺮ ﺗﻜﺘﺒﮫ ﻋﻠﻰ ‪ VBA‬وﯾﻤﻜﻨﻚ اﺳﺘﺨﺪاﻣﮫ ﺑﺸﻜﻞ‬
‫ﻣﻨﻔﺼﻞ‪ .‬اﻟﺸﻲء اﻟﻮﺣﯿﺪ ﺗﻘﺮﯾﺒﺎ اﻟﺬي ﻟﻦ ﺗﺴﺘﻄﯿﻊ ﻋﻤﻠﮫ ھﻮ ﺗﺤﻮﯾﻞ اﻟﺒﺮﻧﺎﻣﺞ إﻟﻰ ﺑﺮﻧﺎﻣﺞ ﻣﻨﻔﺼﻞ ﯾﻌﻤﻞ ﺑﺪون‬
‫ﻓﺘﺢ إﻛﺴﻞ أو وورد إﻟﺦ وھﺬا أﻣﺮ ﻏﯿﺮ ﻣﮭﻢ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻐﯿﺮ اﻟﻤﺘﺨﺼﺼﯿﻦ ﻓﻲ اﻟﺒﺮﻣﺠﺔ‪.‬‬

‫ھﻨﺎك أﺳﺒﺎب أﺧﺮى ﻟﺘﺮﺷﯿﺢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ وھﻮ ﺳﮭﻮﻟﺘﮫ وإﻣﻜﺎﻧﺎﺗﮫ اﻟﺠﯿﺪة ﺑﺎﻟﻨﺴﺒﺔ ﻟﻼﺳﺘﺨﺪاﻣﺎت اﻟﻌﺎﻣﺔ‪.‬‬
‫ﻛﺬﻟﻚ ﻓﺈن اﻟﻘﺪرة ﻋﻠﻰ ﺗﻔﺎﻋﻠﮫ ﻣﻊ ﺑﺮاﻣﺞ ﻣﯿﻜﺮوﺳﻮﻓﺖ ھﻮ أﻣﺮ ﻋﻈﯿﻢ‪ .‬ﻓﻘﺪ ﺗﺤﺘﺎج إﻟﻰ إﺟﺮاء ﻋﻤﻠﯿﺎت ﻣﺎ‬
‫ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ ﻣﺜﻞ إﻛﺴﻞ وﻟﻜﻨﻚ ﻻ ﺗﺠﺪ أي وﺳﯿﻠﺔ ﺟﺎھﺰة ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ ﻧﻔﺴﮫ ﻓﺘﻘﻮم ﺑﻜﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﺻﻐﯿﺮ ﺑـ‬
‫‪ VBA‬ﯾﻘﻮم ﺑﺎﻟﻤﮭﻤﺔ ﺑﺴﺮﻋﺔ وﯾﺴﺮ‪ .‬ﺑﺎﻹﺿﺎﻓﺔ ﻟﺬﻟﻚ ﻓﺈن ھﻨﺎك وﺳﯿﻠﺔ ﻣﺴﺎﻋﺪة ﻋﻈﯿﻤﺔ ﻟﺘﻌﻠﻢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬
‫وھﻲ اﺳﺘﺨﺪام وﺳﯿﻠﺔ ﺗﺴﺠﯿﻞ ﺑﺮﻧﺎﻣﺞ ‪ Record Macro‬واﻟﻤﺘﺎﺣﺔ ﻓﻲ ﺑﺮاﻣﺞ ﻣﯿﻜﺮوﺳﻮﻓﺖ‪ .‬ھﺬه اﻟﻮﺳﯿﻠﺔ‬
‫ﺗﻘﻮم ﺑﻜﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﯾﺆدي ﻧﻔﺲ ﻣﺎ ﻓﻌﻠﺘﮫ أﻧﺖ ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ ﻣﯿﻜﺮوﺳﻮﻓﺖ أﺛﻨﺎء ﺗﺸﻐﯿﻞ وﺳﯿﻠﺔ ﺗﺴﺠﯿﻞ‬
‫اﻟﺒﺮﻧﺎﻣﺞ‪ .‬ﻛﻞ ھﺬا ﯾﺠﻌﻠﻨﻲ أﻗﺘﺮح ﻋﻠﯿﻚ ﺗﻌﻠﻢ ﻣﺒﺎدئ ﻓﯿﺠﻮال ﺑﯿﺴﻚ واﺳﺘﺨﺪاﻣﮭﺎ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪3‬‬


‫ﻣﺎ أھﻤﯿﺔ ذﻟﻚ ﻟﻠﻤﺪﯾﺮﯾﻦ واﻟﻤﮭﻨﺪﺳﯿﻦ اﻟﺼﻨﺎﻋﯿﯿﻦ وﻣﺤﻠﻠﻲ اﻟﺒﯿﺎﻧﺎت وﻏﯿﺮھﻢ‬

‫ﻋﻠﻰ اﻟﺮﻏﻢ ﻣﻦ ﺗﻮﻓﺮ ﺑﺮاﻣﺞ ﺗﻘﻮم ﺑﺎﻟﻜﺜﯿﺮ ﻣﻤﺎ ﻧﺤﺘﺎﺟﮫ ﻛﻤﺪﯾﺮﯾﻦ ﻓﺈﻧﻨﺎ ﻛﺜﯿﺮا ﻣﺎ ﻧﺠﺪ أن ھﺬه اﻟﺒﺮاﻣﺞ ﻻ ﺗﻠﺒﻲ‬
‫ﺑﻌﺾ ﻣﺘﻄﻠﺒﺎﺗﻨﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺬي ﻧﺮﯾﺪه‪ .‬ﻓﺄﻧﺖ ﻻ ﺗﺮﯾﺪ أن ﺗﻨﺘﻈﺮ أن ﯾﺴﺎﻋﺪك ﻏﯿﺮك ﻟﻜﻲ ﺗﻘﻮم ‪-‬ﻋﻠﻰ ﺳﺒﯿﻞ‬
‫اﻟﻤﺜﺎل‪ -‬ﺑﺘﺤﻠﯿﻞ ﺑﻌﺾ ﻣﻘﺎﯾﯿﺲ اﻷداء اﻟﻤﻌﺮوﺿﺔ ﻋﻠﯿﻚ‪ .‬ﺑﺎﻹﺿﺎﻓﺔ ﻟﺬﻟﻚ ﻓﺈن ﻃﺮﯾﻘﺔ ﺗﺤﻠﯿﻠﻚ ﻟﻠﺒﯿﺎﻧﺎت ﻗﺪ‬
‫ﺗﺨﺘﻠﻒ ﺣﺴﺐ اﻟﺒﯿﺎﻧﺎت اﻟﻤﻌﺮوﺿﺔ وﺑﺎﻟﺘﺎﻟﻲ ﻓﻌﻨﺪﻣﺎ ﺗﺴﺘﻄﯿﻊ اﻟﻘﯿﺎم ﺑﻜﺘﺎﺑﺔ ﺑﺮاﻣﺞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﺻﻐﯿﺮة ﻓﺈﻧﮫ‬
‫ﺳﯿﻤﻜﻨﻚ ﺗﻌﺪﯾﻠﮭﺎ ﻻﺣﻘﺎ ﻟﻤﻮاءﻣﺔ اﺣﺘﯿﺎﺟﺎﺗﻚ‪.‬‬

‫اﻟﻤﮭﻨﺪﺳﯿﻦ اﻟﺼﻨﺎﻋﯿﯿﻦ ﯾﺤﺘﺎﺟﻮن ﻟﮭﺬا اﻷﻣﺮ ﺑﺸﺪة وذﻟﻚ ﻟﻜﻲ ﯾﺴﺘﻄﯿﻌﻮا ﺗﺤﻮﯾﻞ ﻧﻤﺎذج اﻟﺘﺤﺎﻟﯿﻞ اﻟﻜﻤﯿﺔ‬
‫ﻟﻤﻠﻔﺎت ﺑﺴﯿﻄﺔ ﯾُﻤﻜﻦ ﻷي ﺷﺨﺺ اﺳﺘﺨﺪاﻣﮭﺎ‪ .‬ﻓﯿﻤﻜﻨﻚ ﺑﻨﺎء ﻣﻠﻔﺎت إﻛﺴﻞ أو أﻛﺴﺲ ﺗﺤﺘﻮي ﻋﻠﻰ ﺑﺮاﻣﺞ‬
‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﺻﻐﯿﺮة ﺑﺤﯿﺚ ﯾﻤﻜﻨﮭﺎ اﻟﻘﯿﺎم ﺑﺒﻌﺾ اﻟﻌﻤﻠﯿﺎت اﻟﻤﺴﺎﻋﺪة ﻓﻲ ﺗﺨﻄﯿﻂ اﻹﻧﺘﺎج أو ﺗﺨﻄﯿﻂ‬
‫اﻟﺼﯿﺎﻧﺔ أوﻋﻤﻠﯿﺎت اﻟﺘﻨﺒﺆ وﻏﯿﺮھﺎ‪ .‬وأﻇﻦ أن ﺗﻌﻠﻢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﯾُﻤﻜﻨﻚ ﻣﻦ ﺗﻄﺒﯿﻖ ﻋﻠﻢ ﺑﺤﻮث اﻟﻌﻤﻠﯿﺎت‬
‫وﺗﺤﻮﯾﻠﮫ إﻟﻰ ﺑﺮاﻣﺞ ﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ‬

‫ﻣُﺤﻠﻠﻲ اﻟﺒﯿﺎﻧﺎت اﻟﺬﯾﻦ ﯾﺘﻌﺎﻣﻠﻮن ﻣﻊ ﻛَﻢ ﻛﺒﯿﺮ ﻣﻦ اﻟﺒﯿﺎﻧﺎت ﯾﺴﺘﻔﯿﺪون ﻛﺜﯿﺮا ﻣﻦ إﻣﻜﺎﻧﯿﺔ ﺗَﻄﻮﯾﻊ ﺑﺮاﻣﺞ‬
‫ﻣﯿﻜﺮوﺳﻮﻓﺖ ﺑﺎﻟﻄﺮﯾﻘﺔ اﻟﺘﻲ ﯾﺮﯾﺪوﻧﮭﺎ ﺑﺎﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪ .‬ﻓﻜﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﺻﻐﯿﺮ ﻗﺪ ﺗُﻐﻨﯿﻚ ﻋﻦ إﺟﺮاء‬
‫ﻋﻤﻠﯿﺎت ﻣﻄﻮﻟﺔ ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل‪.‬‬

‫وﻻ ﯾﻔﻮﺗﻨﻲ أن أﺷﯿﺮ إﻟﻰ اﻻﺳﺘﺨﺪاﻣﺎت اﻟﻌﻈﯿﻤﺔ ﻟﻔﯿﺠﻮال اﻟﺒﯿﺴﻚ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻄﻠﺒﺔ اﻟﺠﺎﻣﻌﺎت واﻟﻤﺪارس‬
‫اﻟﺜﺎﻧﻮﯾﺔ ورﺑﻤﺎ ﻣﺎ ﻗﺒﻠﮭﺎ‪ .‬ﻓﺈن ھﺬا ﯾﺴﺎﻋﺪھﻢ ﻓﻲ ﻛﺜﯿﺮ ﻣﻦ اﻟﻤﺸﺎرﯾﻊ اﻟﺪراﺳﯿﺔ ﺳﻮاء ﻓﻲ ﺗﺤﻠﯿﻞ اﻟﺒﯿﺎﻧﺎت أو ﻓﻲ‬
‫ﻋﺮض ﻓﻜﺮة ﻣﻦ ﺧﻼل ﺑﺮﻧﺎﻣﺞ أو ﺷﺮح ﻧﺘﺎﺋﺞ اﻟﺒﺤﺚ وﻏﯿﺮ ذﻟﻚ‪.‬‬

‫وھﻨﺎك ﻓﺎﺋﺪة ﻏﯿﺮ ﻣﺘﻮﻗﻌﺔ ﻟﺘﻌﻠﻢ ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ وھﻲ أﻧﮭﺎ ﺗﺠﻌﻠﻚ ﻗﺎدرا ﻋﻠﻰ ﺗَﺼﻮر ﻣﺎ ﯾﻤﻜﻦ ﻓﻌﻠﮫ وﻣﺎ ﻻ ﯾﻤﻜﻦ‬
‫ﻓﻌﻠﮫ وﻣﺎ ﯾﺼﻌﺐ ﻓﻌﻠﮫ ﻋﻦ ﻃﺮﯾﻖ اﻟﺤﺎﺳﻮب‪ .‬وھﺬا ﯾﺠﻌﻠﻚ اﻛﺜﺮ ﻗﺪرة ﻋﻠﻰ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﮭﻨﺪﺳﻲ ﻧﻈﻢ‬
‫اﻟﻤﻌﻠﻮﻣﺎت وﺗﻔﮭﻢ إﻣﻜﺎﻧﺎﺗﮭﻢ وﻣﺸﺎﻛﻠﮭﻢ‪ .‬ھﺬا اﻷﻣﺮ ﯾُﻔﯿﺪ ﻛﺜﯿﺮا ﻋﻨﺪﻣﺎ ﺗﺸﺎرك ﻓﻲ ﺑﻨﺎء ﻧﻈﺎم ﻟﻠﻤﻌﻠﻮﻣﺎت‬
‫ﻛﻤﺴﺘﺨﺪم ﻟﻠﻨﻈﺎم ﻷﻧﮫ ﯾﻤﻜﻨﻚ ﻣﻦ ﺗﺤﺪﯾﺪ اﺣﺘﯿﺎﺟﺎﺗﻚ ﺑﺸﻜ ٍﻞ ﺟﯿﺪ‪.‬‬

‫ﻣﺜﺎل ﺗﻮﺿﯿﺤﻲ ﻟﺒﺮﻧﺎﻣﺞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫ﻟﻨﺴﺘﻌﺮض ﻣﺜﺎﻻ ﺑﺴﯿﻄﺎ ﻟﻠﺘﻌﺮف ﻋﻠﻰ ﺳﮭﻮﻟﺔ ﺗﻌﻠﻢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ وﻟﻨﺮى ﺑﻌﺾ ﻓﻮاﺋﺪ ﺗﻌﻠﻢ ﻣﺒﺎدئ اﻟﺒﺮﻣﺠﺔ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪4‬‬


‫اﻓﺘﺮض أن ﻟﺪﯾﻨﺎ أرﻗﺎم ﻣﺒﯿﻌﺎت ﻣﻨﺘﺞ ﻣﺎ وﻧﺮﯾﺪ أن ﻧﻘﻮم ﺑﺒﻌﺾ اﻟﺘﺤﻠﯿﻼت وﻟﻨﺒﺪا ﺑﺤﺴﺎب اﻟﻤﺠﻤﻮع اﻟﻜﻠﻲ‬
‫ﻟﻠﻤﺒﯿﻌﺎت‪.‬‬

‫اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ ﯾﻤﻜﻨﻨﺎ ﻣﻦ ﺣﺴﺎب ﻣﺠﻤﻮع اﻟﻤﺒﯿﻌﺎت وﻛﺘﺎﺑﻨﮭﺎ ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ‬

‫)(‪Sub calc‬‬

‫‪For i = 3 To 14‬‬
‫)‪a = Worksheets(”sheet1”).Cells(i, 2‬‬
‫‪Sum = Sum + a‬‬
‫‪Next i‬‬

‫”‪Worksheets(”sheet1”).Cells(2, 4) = “Total Sales‬‬


‫‪Worksheets(”sheet1”).Cells(3, 4) = Sum‬‬

‫‪End Sub‬‬

‫ﻛﯿﻒ ﯾﻌﻤﻞ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ؟ اﻟﺴﻄﺮ اﻻول ﯾﻮﺿﺢ اﺳﻢ اﻟﺒﺮﻧﺎﻣﺞ ‪ .Subroutine‬اﻟﺴﻄﺮ اﻟﺘﺎﻟﻲ ﯾﻘﻮم‬
‫ﺑﺘﻜﺮار اﻟﺨﻄﻮات اﻟﻮاﻗﻌﺔ ﺑﯿﻦ ھﺬا اﻟﺴﻄﺮ واﻟﺴﻄﺮ اﻟﺨﺎﻣﺲ أي أن اﻟﺒﺮﻧﺎﻣﺞ ﯾﻜﺮر ﻣﺎ ﺑﯿﻦ اﻟﺴﻄﺮ اﻟﺬي ﯾﺒﺪا‬
‫ﺑـ ‪ For‬واﻟﺴﻄﺮ اﻟﺬي ﯾﺒﺪأ ﺑـ ‪ Next‬وذﻟﻚ ﻻﺛﻨﻲ ﻋﺸﺮة ﻣﺮة‪ .‬ﻓﻲ ﻛﻞ ﻣﺮة ﻧﻤﺮ ﻋﻠﻰ ﺻﻒ ﻣﺨﺘﻠﻒ ﻣﻦ‬
‫ﺻﻔﻮف ﺿﻔﺤﺔ اﻹﻛﺴﻞ واﻟﺬي ﯾﺤﺪده ھﻮ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ i‬واﻟﺘﻲ ﺗﺘﻐﯿﺮ ﻣﻦ ‪ 3‬إﻟﻰ ‪ .14‬اﻟﻤﺘﻐﯿﺮ ‪ a‬ﯾﺄﺧﺬ ﻧﻔﺲ‬
‫ﻗﯿﻤﺔ اﻟﻤﺒﯿﻌﺎت ﻓﻲ اﻟﺴﻄﺮ اﻟﺬي ﻧﺴﺘﻌﺮﺿﮫ‪ .‬ﻓﺎﻟﺠﻤﻠﺔ اﻵﺗﯿﺔ ﺗﻘﺮأ ﻗﯿﻤﺔ اﻟﺨﻠﯿﺔ ﻓﻲ اﻟﺼﻒ ‪ i‬واﻟﻌﻤﻮد ‪2‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪5‬‬


‫)‪Worksheets(”sheet1”).Cells(i, 2‬‬

‫ﻻﺣﻆ أن اﻟﻤﺠﻤﻮع ﯾﺘﻢ ﺣﺴﺎﺑﮫ ﺑﺈﺿﺎﻓﺔ ﻗﯿﻤﺔ ‪ a‬ﻟﻘﯿﻤﺔ اﻟﻤﺠﻤﻮع اﻟﺴﺎﺑﻖ وﺑﺬﻟﻚ ﻓﺈن ‪ sum‬ﯾﺒﺪا ﺑﺎﻟﺼﻔﺮ ﺛﻢ‬
‫ﯾﺰداد ﺑﻘﯿﻤﺔ اﻟﻤﺒﯿﻌﺎت ﻓﻲ ﻛﻞ ﻣﺮة ﯾﺘﻢ ﻓﯿﮭﺎ ﺗﻨﻔﯿﺬ اﻟﺨﻄﻮات ﺑﯿﻦ ‪ For‬و ‪.Next‬‬

‫اﻟﺴﻄﺮﯾﻦ اﻟﺴﺎﺑﻘﯿﻦ ﻟﻠﺴﻄﺮ اﻷﺧﯿﺮ ﯾﻜﺘﺒﺎن ﻋﻠﻰ ﺻﻔﺤﺔ إﻛﺴﻞ ﻗﯿﻤﺔ اﻟﻤﺠﻤﻮع وﻛﺬﻟﻚ ﻋﻨﻮاﻧﺎ ﻟﻠﺨﻠﯿﺔ “ ‪total‬‬
‫‪ .”Sales‬وﻋﻨﺪﻣﺎ ﻧﻘﻮم ﺑﺘﺸﻐﯿﻞ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻧﺠﺪ ان ﻗﯿﻤﺔ ﻣﺠﻤﻮع اﻟﻤﺒﯿﻌﺎت ﻗﺪ ﻛُﺘﺒﺖ ﻓﻲ أﻋﻠﻰ اﻟﻌﻤﻮد‬
‫اﻟﺮاﺑﻊ وھﻲ ‪.6291‬‬

‫ﻛﺎن ﯾﻤﻜﻨﻨﺎ اﻟﻘﯿﺎم ﺑﮭﺬه اﻟﻌﻤﻠﯿﺔ اﻟﺤﺴﺎﺑﯿﺔ ﺑﺎﺳﺘﺨﺪام إﻛﺴﻞ ﻧﻔﺴﮫ وﺑﻄﺮﯾﻘﺔ ﺳﺮﯾﻌﺔ وﻟﻜﻦ ھﺬا اﻟﻤﺜﺎل أوﺿﺢ ﻟﻨﺎ‬
‫ﺳﮭﻮﻟﺔ اﻟﺒﺮﻣﺠﺔ وﺳﯿﺘﻀﺢ ﻟﻨﺎ ﺳﮭﻮﻟﺔ ﺗﻐﯿﯿﺮ اﻟﺒﺮﻧﺎﻣﺞ واﻟﻘﯿﺎم ﺑﺤﺴﺎﺑﺎت أﻛﺜﺮ ﺗﻌﻘﯿﺪا‪.‬‬

‫ﻣﺎذا ﻟﻮ أردت ﻟﺴﺒﺐ ﻣﺎ اﻋﺘﺒﺎر اﻷﺷﮭﺮ اﻟﺘﻲ زادت ﻣﺒﯿﻌﺎﺗﮭﺎ ﻋﻦ ‪ 650‬وﺣﺪة ﻣﺴﺎوﯾﺔ ﻟـ ‪ .650‬إن اﻟﺘﻌﺪﯾﻞ‬
‫ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ ﻻ ﯾﺰﯾﺪ ﻋﻦ ﺳﻄﺮواﺣﺪ وھﻮ‬

‫‪Then a = 650 650 < If a‬‬

‫ھﺬا اﻟﺴﻄﺮ ﯾﺘﻢ وﺿﻌﮫ ﻓﺒﻞ اﻟﺴﻄﺮ‬

‫‪Sum = Sum + a‬‬

‫ﻣﺎذا ﺗﻌﻨﻲ ھﺬه اﻹﺿﺎﻓﺔ؟ إن اﻟﻤﺘﻐﯿﺮ ‪ a‬ﺳﯿﺘﻢ ﻣﻘﺎرﻧﺔ ﻗﯿﻤﺘﮫ ﺑـ ‪ 650‬ﻋﻨﺪ ﻗﺮاءة ﻛﻞ ﺣﺠﻢ ﻣﺒﯿﻌﺎت ﻓﺈن زاد‬
‫ﻋﻦ ھﺬه اﻟﻘﯿﻤﺔ ﻓﺈﻧﻨﺎ ﻧﻐﯿﺮ ﻗﯿﻤﺘﮫ إﻟﻰ ‪ 650‬وإﻻ ﻓﻨﺘﺮك ﻗﯿﻤﺘﮫ ﻛﻤﺎ ھﻲ‪.‬‬

‫وھﻜﺬا ﯾﻈﮭﺮ ﻟﻨﺎ أﻧﮫ ﻛﻠﻤﺎ ﻛﺎن ﺗﺤﻠﯿﻠﻨﺎ ﻟﻠﺒﯿﺎﻧﺎت ﯾﺤﺘﻮي ﻋﻠﻰ ﺑﻌﺾ اﻟﻌﻼﻗﺎت اﻟﻤُﻌﻘﺪة ﻧﺴﺒﯿﺎ ﻓﺈن اﺳﺘﺨﺪام‬
‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﯾﺠﻌﻞ اﻷﻣﻮر ﯾﺴﯿﺮة‪.‬‬

‫أﻣﺜﻠﺔ ﻋﻠﻰ اﺳﺘﺨﺪاﻣﺎت ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫ﺑﺮاﻣﺞ ﺣﺴﺎﺑﯿﺔ ﻣﺜﻞ ﺣﺴﺎﺑﺎت اﻟﻤﺨﺰون واﻟﺤﺴﺎﺑﺎت اﻟﻤﺎﻟﯿﺔ واﻟﺤﺴﺎﺑﺎت اﻟﻌﻠﻤﯿﺔ ﻓﯿﻤﻜﻨﻚ ﺗﺤﺪﯾﺪ‬ ‫‪‬‬
‫ﺧﻼﯾﺎ ﻣﺤﺪدة ﻓﻲ إﻛﺴﻞ ﻹدﺧﺎل اﻟﺒﯿﺎﻧﺎت اﻟﺮﺋﯿﺴﯿﺔ ﺛﻢ ﺗﻘﻮم ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮ ﻧﺎﻣﺞ ﻟﺘﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺘﺎﺋﺞ‬

‫ﻋﻤﻠﯿﺎت اﻟﺠﺪوﻟﺔ واﻟﺒﺤﺚ ﻋﻦ اﻟﺠﺪول اﻟﺬي ﯾﺤﻘﻖ اﺳﺘﻐﻼل أﻓﻀﻞ ﻟﻠﻤﻮارد‪ .‬اﻟﺸﻜﻞ‬ ‫‪‬‬
‫اﻟﺘﺎﻟﻲ ﯾﻌﺮض ﺟﺪوﻻ زﻣﻨﯿﺎ ﻟﻌﻤﻠﯿﺔ إﻧﺘﺎﺟﯿﺔ ﻣﻌﻘﺪة ﻣﻜﻮﻧﺔ ﻣﻦ ﺛﻼث ﻣﺮاﺣﻞ‪ .‬ھﺬا اﻟﺠﺪول ﺗﻢ اﻟﻮﺻﻮل‬
‫إﻟﯿﮫ وﻋﺮﺿﮫ ﺑﺎﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪6‬‬


‫ﻛﻮﺳﯿﻠﺔ ﻣﺴﺎﻋﺪة ﻟﺒﻌﺾ ﺑﺮاﻣﺞ اﻟﻤﺤﺎﻛﺎة ﻣﺜﻞ ‪ ProModel‬ﻓﯿﻤﻜﻨﻚ اﻟﺘﺤﻜﻢ ﻓﻲ ﺑﺮﻧﺎﻣﺞ‬ ‫‪‬‬
‫اﻟﻤﺤﺎﻛﺎة ﻋﻦ ﻃﺮﯾﻖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺒﯿﺎﻧﺎت اﻟﺮﻗﻤﯿﺔ أو ﻏﯿﺮ اﻟﺮﻗﻤﯿﺔ‪ .‬أذﻛﺮ ﺑﻌﺾ اﻻﻣﺜﻠﺔ اﻟﺘﻲ اﺳﺘﺨﺪﻣﺖ‬ ‫‪‬‬
‫ﻓﯿﮭﺎ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻣﻠﻔﺎت ﺿﺨﻤﺔ‪ :‬اﻟﺒﺤﺚ ﻋﻦ ﺗﻜﺮار ﻧﻔﺲ اﻟﺮﻗﻢ أو اﻟﻤﺴﻤﻰ ﻓﻲ ﺻﻔﺤﺎت‬
‫ﻋﺪﯾﺪة ﻓﻲ ﻣﻠﻒ واﺣﺪ وﺗﺤﺪﯾﺪ ﻣﻮاﻗﻌﮭﺎ‪ ،‬اﺳﺘﺒﺪال ﻛﻠﻤﺔ ﺑﺄﺧﺮى ﻓﻲ ﺻﻔﺤﺎت ﻋﺪﯾﺪة ﻣﻦ اﻟﻤﻠﻒ ﻓﻲ آنٍ‬
‫واﺣﺪ‪ ،‬اﻛﺘﺸﺎف اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﺑﮭﺎ ﺧﻄﺄ ﻓﻲ اﻹدﺧﺎل‪ ،‬ﻣﻘﺎرﻧﺔ ﺟﺪول ﺑﺂﺧﺮ ﻟﺘﺤﺪﯾﺪ اﻟﺒﯿﺎﻧﺎت‬
‫اﻟﻤﺸﺘﺮﻛﺔ وﻏﯿﺮ اﻟﻤﺸﺘﺮﻛﺔ‬

‫ﺗﺨﻄﯿﻂ اﻹﻧﺘﺎج ﻓﯿﻤﻜﻨﻚ اﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﻘﯿﺎم ﺑﺈﺻﺪار أواﻣﺮ اﻟﺘﺸﻐﯿﻞ اﻟﯿﻮﻣﯿﺔ‬ ‫‪‬‬
‫ﻟِﺘَﻤﻜﯿﻦ اﻟﻤﺴﺘﺨﺪم ﻣﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻧﻮاﻓﺬ ﻹدﺧﺎل اﻟﺒﯿﺎﻧﺎت ﻛﻤﺎ ﻟﻮ ﻛﺎن ﯾﺘﻌﺎﻣﻞ ﻣﻊ ﺗﻄﺒﯿﻖ‬ ‫‪‬‬
‫ﺧﺎص ﺑﻌﻤﻠﮫ وﻟﯿﺲ ﻣﻊ ﻣﻠﻒ إﻛﺴﻞ او أﻛﺴﺲ‪ .‬ھﺬا أﻣﺮ ﻣﻔﯿﺪ ﺟﺪا ﻋﻨﺪﻣﺎ ﺗﻘﻮم ﺑﺈﻋﺪاد ﻣﻠﻒ ﻟﯿﺴﺘﺨﺪﻣﮫ‬
‫آﺧﺮﯾﻦ ﻣﻦ زﻣﻼء وﻣﺮؤوﺳﯿﻦ‬

‫إﺿﺎﻓﺔ ﺑﻌﺾ اﻻواﻣﺮ واﻷﯾﻘﻮﻧﺎت ﻟﻘﻮاﺋﻢ اﻷواﻣﺮ ﻓﻲ ﺗﻄﺒﯿﻘﺎت ﻣﯿﻜﺮوﺳﻮﻓﺖ ﻣﺜﻞ إﻛﺴﻞ‬ ‫‪‬‬
‫ووورد ﺑﺤﯿﺚ ﯾﻤﻜﻨﻚ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﺸﻐﯿﻞ ﺑﺮاﻣﺞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫ھﺬه ﺑﻌﺾ اﻷﻣﺜﻠﺔ وھﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ اﻻﺳﺘﺨﺪاﻣﺎت اﻷﺧﺮى ﻣﻊ ﺑﺮاﻣﺞ وورد وﺑﻮر ﺑﻮﯾﻨﺖ‪.‬‬

‫اﺳﺘﺨﺪام ‪ VB‬ﺑﻌﺪ ﺗﻌﻠﻢ ‪VBA‬‬

‫اﻟﻔﺮق اﻟﺮﺋﯿﺴﻲ ﺑﯿﻦ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ‪ VB‬وﻓﯿﺠﻮال ﺑﯿﺴﻚ اﻟﺘﻄﺒﯿﻘﺎت ‪ VBA‬أن اﻷول ﯾﻌﻤﻞ ﺑﺸﻜﻞ ﻣﺴﺘﻘﻞ ﻓﻼ‬
‫ﯾﻠﺰﻣﻚ ﻓﺘﺢ ﺗﻄﺒﯿﻖ آﺧﺮ ﻣﺜﻞ إﻛﺴﻞ ﻟﻜﻲ ﺗﺴﺘﺨﺪم ‪ VB‬وﻻ ﯾﻠﺰﻣﻚ ﻓﺘﺢ أي ﺗﻄﺒﯿﻖ ﻟﺘﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ ‪ .VB‬أﻣﺎ‬
‫اﻷﺧﯿﺮ ﻓﯿﻌﻤﻞ ﻣﻦ ﺧﻼل ﺗﻄﺒﯿﻘﺎت ﻣﯿﻜﺮوﺳﻮﻓﺖ ﻛﻮﺳﯿﻠﺔ ﻣﺴﺎﻋﺪة وﻟﻜﻦ ﻻ ﯾﻌﻨﻲ ذﻟﻚ اﻧﮫ ﯾﻠﺰﻣﻚ اﺳﺘﺨﺪام‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪7‬‬


‫ذﻟﻚ اﻟﺘﻄﺒﯿﻖ ﻓﻲ ﻛﻞ ﺑﺮﻧﺎﻣﺞ ‪ VBA‬وﻟﻜﻦ ﻓﻲ ﺟﻤﯿﻊ اﻷﺣﻮال ﯾﻠﺰﻣﻚ ﻓﺘﺢ اﻟﺘﻄﺒﯿﻖ أوﻻ ﻗﺒﻞ اﺳﺘﺨﺪام ‪.VBA‬‬
‫وﻟﻜﻦ اﻟﺸﻲء اﻟﺠﯿﺪ ھﻮ أﻧﻚ ﺑﺘﻌﻠﻤﻚ ‪ VBA‬ﯾﻜﻮن ﻣﻦ اﻟﺴﮭﻞ ﺟﺪا اﺳﺘﺨﺪام ‪ VB‬ﻻن ﻣﻌﻈﻢ أواﻣﺮ اﻟﺒﺮﻣﺠﺔ‬
‫واﺣﺪة ﺑﻞ أﺣﯿﺎﻧﺎ ﯾﻤﻜﻨﻚ ﻧﻘﻞ ﺑﺮﻧﺎﻣﺞ ‪ VBA‬ﻛﻤﺎ ھﻮ ﺗﻘﺮﯾﺒﺎ ﻟﺘﺸﻐﯿﻠﮫ ﺑـ ‪.VB‬‬

‫ﯾﻤﻜﻨﻚ ﺗﺤﻤﯿﻞ ﻣﻠﻒ ﺑﮫ ﺑﻌﺾ ﻣﺎ ﺗﻢ ﺷﺮﺣﮫ ﻣﻦ ﺑﺮﻣﺠﺔ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺮاﺑﻂ اﻟﺘﺎﻟﻲ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪8‬‬


‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻣﻦ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ ‪ -‬ﻣﻘﺪﻣﺔ‬
‫اﻏﺴﻄﺲ ‪ 2007 ,17‬ﻓﻲ ‪ 9:15‬م ·‬

‫ﺖ ﻓﻲ ﻣﻘﺎﻟﺔ ﺳﺎﺑﻘﺔ ﻓﺎﺋﺪة ﺗﻌﻠﻢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﻤﺪﯾﺮﯾﻦ واﻟﻤﮭﻨﺪﺳﯿﻦ اﻟﺼﻨﺎﻋﯿﯿﻦ وﻣﺤﻠﻠﻲ اﻟﺒﯿﺎﻧﺎت‪ .‬أود‬
‫أوﺿﺤ ُ‬
‫أن أﻋﻄﻲ ﻓﻜﺮة ﻣﺒﺴﻄﺔ ﺟﺪا ﻋﻦ ﻛﯿﻔﯿﺔ اﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻣﻦ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ ﺣﯿﺚ أن ھﺬا اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﯾﺸﯿﻊ اﺳﺘﺨﺪاﻣﮫ ﻓﻲ ﺗﺤﻠﯿﻞ اﻟﺒﯿﺎﻧﺎت اﻟﺮﻗﻤﯿﺔ‪.‬‬

‫ﻣﻠﺤﻮﻇﺔ‪ :‬ھﺬه اﻟﻤﻘﺎﻟﺔ ﻟﯿﺴﺖ ﻣﻘﺎﻟﺔ ﻣﺘﺨﺼﺼﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ وﻟﻜﻨﮭﺎ ﺗﻮﺿﺢ اﻟﻤﺒﺎدئ اﻷوﻟﯿﺔ ﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ‬
‫ﺑﺸﻲء ﻣﻦ اﻟﺘﺒﺴﯿﻂ‪.‬‬

‫إﻇﮭﺎر ﻗﺎﺋﻤﺔ أدوات ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫ﻋﻨﺪ ﺗﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ ﻓﺮﺑﻤﺎ ﻻ ﺗﺮى أﻣﺎﻣﻚ ﻗﺎﺋﻤﺔ أدوات ﻓﯿﺠﻮال ﺑﯿﺴﻚ واﻟﺘﻲ ﺳﻮف ﺗﺤﺘﺎﺟﮭﺎ ﻋﻨﺪ‬
‫اﺳﺘﺨﺪاﻣﮫ‪ .‬ﻹﻇﮭﺎر ھﺬه اﻟﻘﺎﺋﻤﺔ ﻓﺈن ﻋﻠﯿﻚ أن ﺗﻘﻒ ﺑﺎﻟﻔﺄرة ﻓﻲ أﻋﻠﻰ اﻟﺸﺎﺳﺔ أي ﻓﻲ ﻣﻜﺎن ﻗﺎﺋﻤﺎت اﻷدوات ﺛﻢ‬
‫ﺗﻨﻘﺮ ﯾﻤﯿﻨﺎ ﻓﺘﺮى ﻗﺎﺋﻤﺔ ﺑﻘﻮاﺋﻢ اﻷدوات ﻓﺎﺧﺘﺮ ﻣﻨﮭﺎ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻛﻤﺎ ﺑﺎﻟﺼﻮرة أدﻧﺎه‬

‫وﺑﺎﻟﺘﺎﻟﻲ ﺗﻈﮭﺮ ﻟﻚ ﻗﺎﺋﻤﺔ أدوات ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪9‬‬


‫ﻟﻨﺴﺘﻌﺮض أﯾﻘﻮﻧﺎت ھﺬه اﻟﻘﺎﺋﻤﺔ‬

‫ﺗﺸﻐﯿﻞ ﻣﺎﻛﺮو‪ :‬ﯾﺴﻤﺢ ﻟﻚ ﺑﺎﺧﺘﯿﺎر ﺗﺸﻐﯿﻞ ﻣﺎﻛﺮو )ﺑﺮﻧﺎﻣﺞ( ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬

‫ﺗﺴﺠﯿﻞ ﻣﺎﻛﺮو‪ :‬ﯾﻘﻮم ﺑﺘﺴﺠﯿﻞ اﻷﺷﯿﺎء اﻟﺘﻲ ﺗﻘﻮم ﺑﺘﻨﻔﯿﺬھﺎ ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ وﯾﻘﻮم ﺑﺘﺤﻮﯾﻠﮭﺎ إﻟﻰ ﻣﺎﻛﺮو‬
‫)ﺑﺮﻧﺎﻣﺞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ(‬

‫ﺗﻀﺒﯿﻂ ﺧﺼﺎﺋﺺ اﻷﻣﻦ‪ :‬ﯾﻮﺟﺪ ﺛﻼﺛﺔ ﻣﺴﺘﻮﯾﺎت ﻣﻦ اﻷﻣﻦ ﻓﯿﻤﺎ ﯾﺨﺺ ﺗﺸﻐﯿﻞ ﺑﺮاﻣﺞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪.‬‬
‫اﻟﻤﺴﺘﻮى اﻟﻤﺘﻮﺳﻂ ﯾﺴﻤﺢ ﻟﻚ ﺑﺎﺧﺘﯿﺎر ﺗﺸﻐﯿﻞ ﺑﺮاﻣﺞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ اﻟﻤﻠﺤﻘﺔ ﺑﺎﻟﻤﻠﻒ أو ﻋﺪم ﺗﺸﻐﯿﻠﮭﺎ وھﺬا‬
‫ﯾﺒﺪو اﺧﺘﯿﺎرا ﻣﻨﺎﺳﺒﺎ‪ .‬اﻻﺧﺘﯿﺎر اﻻول وھﻮ اﻟﻤﺴﺘﻮى اﻟﻌﺎﻟﻲ ﻓﻲ اﻻﻣﻦ ﻟﻦ ﯾﺴﻤﺢ ﻟﻚ ﺑﺘﺸﻐﯿﻞ أي ﺑﺮاﻣﺞ‬
‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻣﻠﺤﻘﺔ ﺑﺎﻟﻤﻠﻒ وﺑﺎﻟﺘﺎﻟﻲ ﯾﻤﻨﻌﻚ ﻣﻦ اﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ إﻻ ﺑﺸﺮوط ﻣﺤﺪدة ﻟﻦ ﻧﺘﻌﺮض ﻟﮭﺎ‬
‫ھﻨﺎ‪ .‬أﻣﺎ اﻟﻤﺴﺘﻮى اﻷدﻧﻰ ﻓﺈﻧﮫ ﯾﻘﻮم ﺑﺘﺸﻐﯿﻞ أي ﻣﺎﻛﺮو )ﺑﺮﻧﺎﻣﺞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ( ﺑﺪون أن ﯾﺴﺄﻟﻚ‪ .‬ﻻﺣﻆ أﻧﮫ‬
‫ﻋﻨﺪ ﺗﻐﯿﯿﺮ ھﺬا اﻻﺧﺘﯿﺎر ﻓﺈﻧﻚ ﺳﺘﺤﺘﺎج ﻟﺤﻔﻆ اﻟﻤﻠﻒ ﺛﻢ ﻏﻠﻘﮫ ﺛﻢ ﻓﺘﺤﮫ ﻣﺮة أﺧﺮى ﻟﻜﻲ ﯾﻘﻮم ﺑﺘﻄﺒﯿﻖ اﺧﺘﯿﺎرك‬
‫اﻷﺧﯿﺮ‬

‫ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪ :‬ھﺬه اﻷﯾﻘﻮﻧﺔ ﺗﻔﺘﺢ ﻟﻚ ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﺴﻚ اﻟﺬي ﺳﺘﺴﺘﺨﺪﻣﮫ ﻟﻜﺘﺎﺑﺔ ﺑﺮاﻣﺞ ﻓﯿﺠﻮال‬
‫ﺑﯿﺴﻚ وﺗﻌﺪﯾﻠﮭﺎ‬

‫ﺻﻨﺪوق أدوات اﻟﺘﺤﻜﻢ‪ :‬ھﺬه اﻷﯾﻘﻮﻧﺔ ﺗﺴﻤﺢ ﻟﻚ ﺑﻮﺿﻊ أدوات ﺗﺤﻜﻢ داﺧﻞ ﺻﻔﺤﺔ إﻛﺴﻞ ﻣﺜﻞ أﯾﻘﻮﻧﺎت‪،‬‬
‫ﻣﺴﻄﺮة ﻣﻨﺰﻟﻘﺔ‪ ،‬ﻣﻔﺎﺗﯿﺢ اﺧﺘﯿﺎر وﻏﯿﺮ ذﻟﻚ‬

‫ﺗﺴﺠﯿﻞ ﻣﺎﻛﺮو‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪10‬‬


‫ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﺗﺴﺠﯿﻞ ﻣﺎﻛﺮو ﻓﺘﻈﮭﺮ ﻟﻚ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ‪ .‬ﯾﻤﻜﻨﻚ ﺗﻐﯿﯿﺮ اﺳﻢ اﻟﻤﺎﻛﺮو واﻟﺬي ﯾﻜﻮن‬
‫ﻣﻘﺘﺮﺣﺎ أن ﯾﻜﻮن ‪ .Macro1‬ﻋﻨﺪﻣﺎ ﺗﻀﻐﻂ ‪ OK‬ﻓﺈن أي ﺷﻲء ﺗﻘﻮم ﺑﻔﻌﻠﮫ ﻋﻠﻰ ﺻﻔﺤﺔ إﻛﺴﻞ ﺳﻮف ﯾﺘﻢ‬
‫ﺗﺴﺠﯿﻠﮫ ﻋﻠﻰ ﺷﻜﻞ أواﻣﺮ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻓﻲ ھﺬا اﻟﻤﺎﻛﺮو‪ .‬ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻟﺨﻠﯿﺔ ‪ D1‬وﻗﻢ‬
‫ﯾﺘﺤﻮﯾﻞ ﻟﻮن ﺧﻠﻔﯿﺔ ھﺬه اﻟﺨﻠﯿﺔ ﻟﻠﻠﻮن اﻷﺻﻔﺮ‪ .‬ﻻﺣﻆ أن أﯾﻘﻮﻧﺔ ﺗﺴﺠﯿﻞ ﻣﺎﻛﺮو ﺗﺤﻮﻟﺖ إﻟﻰ إﯾﻘﺎف اﻟﺘﺴﺠﯿﻞ‬
‫أي أﻧﻚ ﺗﻀﻐﻂ ﻋﻠﯿﮭﺎ ﻋﻨﺪﻣﺎ ﺗﺮﯾﺪ إﯾﻘﺎف اﻟﺘﺴﺠﯿﻞ‬

‫ﻻﺷﻚ أﻧﻚ ﻣﺘﺸﻮق اﻵن ﻟﺮؤﯾﺔ ﺧﻄﻮات ھﺬا اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﺳﺠﻠﺘﮫ‪ .‬ﻟﻜﻲ ﺗﺮى ھﺬه اﻟﺨﻄﻮات ﻗﻢ ﺑﺎﻟﻀﻐﻂ‬
‫ﻋﻠﻰ أﯾﻘﻮﻧﺔ “ﺗﺸﻐﯿﻞ ﻣﺎﻛﺮو” ﻓﺘﻈﮭﺮ ﻟﻚ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ‪.‬‬

‫ﻗﻢ ﺑﺎﺧﺘﯿﺎر ‪ Edit‬ﻓﯿﻈﮭﺮ ﻟﻚ ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﻚ وﺑﮫ ﺧﻄﻮات ھﺬا اﻟﻤﺎﻛﺮو‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪11‬‬


‫ﯾﻤﻜﻨﻚ اﻵن أن ﺗﺮى ﺧﻄﻮات اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﺳﺠﻠﺘﮫ‪ .‬ﻛﺎن ﯾﻤﻜﻨﻚ ﻓﺘﺢ ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﺴﻚ وذﻟﻚ ﺑﺎﻟﻀﻐﻂ‬
‫ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻣﺒﺎﺷﺮة‪.‬‬

‫ھﻞ ﺗﺴﺘﻄﯿﻊ ﻓﮭﻢ ﺧﻄﻮات ھﺬا اﻟﺒﺮﻧﺎﻣﺞ؟ ﻻﺣﻆ أن أي ﺳﻄﺮ ﻣﺴﺒﻮق ﺑﺎﻟﻌﻼﻣﺔ ‘ ﻓﺈﻧﮫ ﯾﻈﮭﺮ ﺑﺎﻟﻠﻮن اﻷﺧﻀﺮ‬
‫ﻷﻧﮫ ﯾﻜﻮن ﻋﺒﺎرة ﻋﻦ ﻣﻼﺣﻈﺎت ﻻ ﯾﺘﻢ اﻟﺘﻌﺮض ﻟﮭﺎ ﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ‪ .‬ھﺬه اﻟﻤﻼﺣﻈﺎت ﺗﻔﯿﺪ ﻋﻨﺪ ﺗﻌﺪﯾﻞ‬
‫اﻟﺒﺮﻧﺎﻣﺞ ﻓﻲ وﻗﺖ ﻻﺣﻖ ﻓﻘﺪ ﺗﻘﻮم ﺑﺘﺪوﯾﻦ ﺑﻌﺾ اﻟﻤﻼﺣﻈﺎت اﻟﺘﻲ ﺗﺴﺎﻋﺪك ﻋﻠﻰ ﻓﮭﻢ ﻛﯿﻔﯿﺔ ﻋﻤﻞ اﻟﺒﺮﻧﺎﻣﺞ‪.‬‬

‫اﻟﺠﺰء اﻷﯾﺴﺮ ﻓﻲ اﻟﺼﻮرة أﻋﻼه ﺗﻤﻜﻨﻚ ﻣﻦ اﺧﺘﯿﺎر اﻟﻤﺎﻛﺮو اﻟﺬي ﺗﺮﯾﺪ اﺳﺘﻌﺮاﺿﮫ وذﻟﻚ ﻋﻨﺪ وﺟﻮد أﻛﺜﺮ‬
‫ﻣﻦ ﻣﺎﻛﺮو‪ .‬ﻻﺣﻆ أﻧﻨﺎ ﻧﺴﺘﻌﺮض ‪ .Module 1‬ﻋﻨﺪ وﺟﻮد أﻛﺜﺮ ﻣﻦ ﻣﺎﻛﺮو ﻓﻘﺪ ﺗﺠﺪ ‪Module 2,‬‬
‫‪ ..Module3‬وھﻜﺬا‪.‬‬

‫ﻓﺎﺋﺪة ﺗﺴﺠﯿﻞ ﻣﺎﻛﺮو ھﻮ أﻧﮭﺎ ﺗﺴﺎﻋﺪك ﻋﻠﻰ ﻓﮭﻢ ﻃﺮﯾﻖ ﻋﻤﻞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪ .‬ﯾﻤﻜﻨﻚ ﻛﺬﻟﻚ ﺗﺴﺠﯿﻞ ﻣﺎﻛﺮو ﺛﻢ‬
‫ﺗﻌﺪﯾﻠﮫ ﺑﺪﻻ ﻣﻦ ﻛﺘﺎﺑﺘﮫ‪.‬‬

‫ﺗﺸﻐﯿﻞ ﻣﺎﻛﺮو‬

‫إذا ﻛﻨﺖ ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ ﻓﺎﺿﻐﻂ ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﺗﺸﻐﯿﻞ ﻣﺎﻛﺮو ﺛﻢ اﺧﺘﺮ اﻟﻤﺎﻛﺮو اﻟﺬي ﺗﺮﯾﺪه ‪ -‬ﺣﺎﻟﯿﺎ ﻻ ﯾﻮﺟﺪ‬
‫ﺳﻮى ﻣﺎﻛﺮو واﺣﺪ ﻓﻘﻂ‪ -‬ﺛﻢ اﺿﻐﻂ ‪ Run‬وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﺤﺎﺳﻮب ﯾﻘﻮم ﺑﺘﻨﻔﯿﺬ ھﺬا اﻟﻤﺎﻛﺮو‪ .‬ﻟﻜﻲ ﺗﺘﺄﻛﺪ ﻣﻦ‬
‫ﻋﻤﻞ اﻟﻤﺎﻛﺮو ﻓﻘﻢ ﺑﺘﺤﻮﯾﻞ ﻟﻮن اﻟﺨﻠﯿﺔ ‪ D1‬إﻟﻰ أﺑﯿﺾ ﻗﺒﻞ ﺗﺸﻐﯿﻞ اﻟﻤﺎﻛﺮو ﻷن اﻟﻤﺎﻛﺮو ﻻ ﯾﻘﻮم ﺳﻮى‬
‫ﺑﺘﺤﻮﯾﻞ ﻟﻮن اﻟﺨﻠﯿﺔ ‪ D1‬إﻟﻰ أﺻﻔﺮ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪12‬‬


‫إذا ﻛﻨﺖ ﻓﻲ ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻓﻘﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﻣﻔﺘﺎح ﺗﺸﻐﯿﻞ اﻟﻤﺎﻛﺮو ﻓﯿﻘﻮم ﺑﺘﺸﻐﯿﻞ اﻟﻤﺎﻛﺮو‪.‬‬

‫ﺗﻌﺪﯾﻞ اﻟﻤﺎﻛﺮو‬

‫ﻛﻤﺎ ذﻛﺮت ﻓﺈن ﺗﻌﺪﯾﻞ اﻟﻤﺎﻛﺮو ھﻮ وﺳﯿﻠﺔ ﺟﯿﺪة‪ .‬ﻓﻤﺜﻼ ﯾﻤﻜﻨﻨﺎ ﺗﻐﯿﯿﺮ اﻟﺴﻄﺮ اﻟﺘﺎﻟﻲ‬

‫‪Range(”D1”).Select‬‬

‫إﻟﻰ‬

‫‪Activecell.Select‬‬

‫ھﺬا اﻟﺘﻐﯿﯿﺮ ﯾﻌﻨﻲ أن اﻟﺒﺮﻧﺎﻣﺞ ﺳﯿﻘﻮم ﺑﺘﻐﯿﯿﺮ ﻟﻮن اﻟﺨﻠﯿﺔ اﻟﻤﺨﺘﺎرة ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ وﻟﯿﺲ اﻟﺨﻠﯿﺔ ‪ .D1‬ﻗﻢ‬
‫ﺑﺘﺠﺮﺑﺔ ھﺬا اﻟﺘﻐﯿﯿﺮ ﺑﺎﻟﻮﻗﻮف ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ ﺛﻢ ﺗﺸﻐﯿﻞ اﻟﻤﺎﻛﺮو وﺳﺘﻼﺣﻆ اﻧﮫ ﯾﻐﯿﺮ ﻟﻮن اﻟﺨﻠﯿﺔ اﻟﺤﯿﺔ‬
‫)اﻟﺨﻠﯿﺔ اﻟﺘﻲ ﺗﻘﻒ ﻋﻠﯿﮭﺎ(‪ .‬ﻗﻒ ﻋﻠﻰ ﺧﻠﯿﺔ أﺧﺮى ﺛﻢ ﺷﻐﻞ اﻟﻤﺎﻛﺮو وﺳﺘﺠﺪ أن اﻟﻤﺎﻛﺮو ﯾﻐﯿﺮ ﻟﻮن ھﺬه اﻟﺨﻠﯿﺔ‪.‬‬

‫ﻛﺘﺎﺑﺔ ﻣﺎﻛﺮو ﺟﺪﯾﺪ‬

‫ﻣﻦ ﺧﻼل ﺻﻔﺤﺔ ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﺴﻚ اﺧﺘﺮ أﯾﻘﻮﻧﺔ ‪ Insert Module‬ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ‪.‬‬

‫ﻓﺘﻈﮭﺮ ﻟﻚ اﻟﺼﻔﺤﺔ ﻋﻠﻰ اﻟﯿﻤﯿﻦ ﺑﯿﻀﺎء ﻟﻜﺘﺎﺑﺔ اﻟﻤﺎﻛﺮو )اﻟﺒﺮﻧﺎﻣﺞ( وﯾﻈﮭﺮ ﻓﻲ اﻟﻘﺎﺋﻤﺔ ﻋﻠﻰ اﻟﯿﺴﺎر أﻧﻚ ﻓﻲ‬
‫‪.Module2‬‬

‫ﻟﻜﺘﺎﺑﺔ اﻟﻤﺎﻛﺮو ﻻﺑﺪ أن ﺗﺒﺪأ اﻟﺴﻄﺮ اﻷول ب ‪ Sub‬ﻣﺘﺒﻮﻋﺔ ﺑﻔﺮاغ ﺛﻢ اﺳﻢ ﻟﮭﺬا اﻟﻤﺎﻛﺮو ﺛﻢ اﺿﻐﻂ ‪.Enter‬‬
‫ﻓﻤﺜﻼ ﻟﻮ اﺧﺘﺮت اﺳﻤًﺎ ﻣﺜﻞ ‪ Trial‬ﻓﺈﻧﻚ اﻟﻤﺎﻛﺮو ﺳﯿﺒﺪو ﻛﺎﻟﺘﺎﻟﻲ‬

‫)(‪Sub trial‬‬

‫‪End Sub‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪13‬‬


‫ھﺬا ﻣﺎﻛﺮو ﯾﻤﻜﻦ ﺗﺸﻐﯿﻠﮫ وﻟﻜﻨﮫ ﻟﻦ ﯾﻘﻮم ﺑﺎي ﺷﻲء ﻷﻧﻨﺎ ﻟﻢ ﻧﻜﺘﺐ ﺳﻮى اﺳﻤﮫ‪ .‬ﻻﺣﻆ أن اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ ھﻮ‬
‫آﺧﺮ ﺳﻄﺮ ﻓﻲ اﻟﻤﺎﻛﺮو ﻓﮭﻮ اﻟﺬي ﯾﺘﻌﺮف ﻣﻨﮫ اﻟﺤﺎﺳﻮب ﻋﻠﻰ ﻧﮭﺎﯾﺔ اﻟﻤﺎﻛﺮو أو اﻟﺒﺮﻧﺎﻣﺞ‪.‬‬

‫اﻓﺘﺮض أﻧﻨﺎ ﻧﺮﯾﺪ ﺣﺴﺎب ﺣﺎﺻﻞ ﻗﺴﻤﺔ ‪ 1000‬ﻋﻠﻰ ‪ .25‬اﻛﺘﺐ اﻟﺴﻄﺮ اﻟﺘﺎﻟﻲ ﺑﯿﻦ ﺑﺪاﯾﺔ وﻧﮭﺎﯾﺔ اﻟﻤﺎﻛﺮو‬

‫‪x=1000/25‬‬

‫واﻓﺘﺮض أﻧﻚ ﺗﺮﯾﺪ ﻋﺮض اﻟﻨﺎﺗﺞ ﻓﻲ اﻟﺨﻠﯿﺔ ‪ .A1‬اﻛﺘﺐ اﻟﺴﻄﺮ اﻟﺘﺎﻟﻲ ﻟﻜﻲ ﺗﻌﺮض اﻟﻨﺘﯿﺠﺔ‬

‫‪Worksheets(”Sheet1”).cells(1,1).value=x‬‬

‫أي ان اﻟﻤﺎﻛﺮو ﺳﯿﺒﺪو ھﻜﺬا‬

‫)(‪Sub first‬‬
‫‪x = 1000 / 25‬‬
‫‪Worksheets(”sheet1”).Cells(1, 1).Value = x‬‬
‫‪End Sub‬‬

‫اﻵن ﻗﻢ ﺑﺘﺸﻐﯿﻞ اﻟﻤﺎﻛﺮو‪ .‬ﯾﺠﺐ أن ﺗﺠﺪ ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ وھﻮ ‪ 40‬ﻓﻲ اﻟﺨﻠﯿﺔ ‪ .A1‬ﻟﻜﻲ ﺗﺮى اﻟﻨﺘﯿﺠﺔ ﻓﺈن‬
‫ﻋﻠﯿﻚ ﺗﻔﻌﯿﻞ ﺻﻔﺤﺔ إﻛﺴﻞ أي اﺧﺘﯿﺎرھﺎ ﺑﺪﻻ ﻣﻦ ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪.‬‬

‫ﻣﺎذا ﺗﻌﻨﻲ ‪X‬؟ إن ‪ X‬ھﻲ ﻣﺠﺮد ﻣﺘﻐﯿﺮ ﯾﺎﺧﺬ ﻗﯿﻤﺔ ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ‪ .‬اﺳﺘﺨﺪام اﻟﻤﺘﻐﯿﺮات أﻣﺮ ﯾُﺴﺘﺨﺪم ﻛﺜﯿﺮا ﻓﻲ‬
‫اﻟﺒﺮﻣﺠﺔ‬

‫ﻛﯿﻒ ﻧﻘﻮم ﺑﺘﻌﺮﯾﻒ ﻗﯿﻤﺔ ﺧﻠﯿﺔ ﻣﻦ ﺻﻔﺤﺔ إﻛﺴﻞ‬

‫ﯾﻤﻜﻨﻚ ﻗﺮاءة ﻗﯿﻤﺔ ﺧﻠﯿﺔ ﻣﻦ ﺧﻼﯾﺎ ﺻﻔﺤﺔ إﻛﺴﻞ وﯾﻤﻜﻨﻚ ﻛﺬﻟﻚ ﺗﻐﯿﯿﺮ ﻗﯿﻤﺘﮭﺎ أو ﻣﺤﺘﻮاھﺎ‪ .‬ھﻨﺎك ﻋﺪة ﻃﺮق‬
‫ﻟﻺﺷﺎرة إﻟﻰ ﺧﻠﯿﺔ ﻣﺤﺪدة وﻟﻜﻨﻨﻲ أﺷﺮح ھﻨﺎ ﻃﺮﯾﻘﺔ واﺣﺪة ﻓﻘﻂ‬

‫‪).value‬اﻟﺼﻒ رﻗﻢ اﻟﻌﺎﻣﻮد‪ ,‬رﻗﻢ(‪”).Cells‬اﺳﻢ اﻟﺼﻔﺤﺔ”(‪Worksheet‬‬

‫ھﺬه اﻟﻄﺮﯾﻘﺔ ﺗﺸﯿﺮ إﻟﻰ ﺧﻠﯿﺔ ﻣﺤﺪدة ﻋﻦ ﻃﺮق اﺳﻢ اﻟﺼﻔﺤﺔ ورﻗﻢ اﻟﺼﻒ ورﻗﻢ اﻟﻌﺎﻣﻮد‪ .‬ﻻﺣﻆ أن رﻗﻢ‬
‫اﻟﻌﺎﻣﻮد ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ ﯾﻜﻮن ﻣﻌﺮﻓﺎ ﺑﺎﻟﺤﺮوف وﻋﻠﯿﻚ ﺗﺤﻮﯾﻞ ذﻟﻚ ﻟﺮﻗﻢ ﻓﻤﺜﻼ اﻟﻌﺎﻣﻮد ‪ C‬ﯾﻜﻮن رﻗﻢ ‪3‬‬
‫واﻟﻌﺎﻣﻮد ‪ H‬ﯾﻜﻮن رﻗﻢ ‪ 8‬وھﻜﺬا‪.‬‬

‫ﻓﻠﻮ ﻛﺘﺒﺖ‬

‫‪Worksheets(”sheet1”).Cells(2,2).value=2‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪14‬‬


‫ﻓﺈن ﻣﻌﻨﻰ ھﺬا أن اﻟﺨﻠﯿﺔ ‪ B2‬ﻓﻲ اﻟﺼﻔﺤﺔ ‪ Sheet1‬ﺗﺄﺧﺬ اﻟﻘﯿﻤﺔ ‪2‬‬

‫وﻟﻮ ﻛﺘﺒﺖ‬

‫‪x= Worksheets(”sheet1”).Cells(2,2).value‬‬

‫ﻓﺈن اﻟﻤﺘﻐﯿﺮ ‪ X‬ﯾﺄﺧﺬ ﻧﻔﺲ ﻗﯿﻤﺔ اﻟﺨﻠﯿﺔ ‪ B2‬ﻓﻲ اﻟﺼﻔﺤﺔ ‪Sheet1‬‬

‫وﻟﻮ ﻛﺘﺒﺖ‬

‫(‪Worksheets(”sheet2”).Cells(2,2).value=Worksheets(”sheet1”).Cells‬‬
‫‪1,3).value‬‬

‫ﻓﺈن اﻟﺨﻠﯿﺔ ‪ B2‬ﻓﻲ اﻟﺼﻔﺤﺔ ‪ sheet2‬ﺗﺄﺧﺬ ﻧﻔﺲ ﻗﯿﻤﺔ اﻟﺨﻠﯿﺔ ‪ C1‬ف اﻟﺼﻔﺤﺔ ‪Sheet1‬‬

‫ﺗﻜﺮار ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺨﻄﻮات‬

‫ﻟﺘﻜﺮﯾﺮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺨﻄﻮات اﺳﺘﺨﺪم ﻣﺎ ﯾﺴﻤﻰ ﺑـ ‪ For…..Next‬ﻛﺎﻵﺗﻲ‬

‫‪For i=1 to 10‬‬


‫‪…….‬ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺨﻄﻮات‬
‫‪Next i‬‬

‫اﻟﺨﻄﻮات )اﻷواﻣﺮ( اﻟﻤﻜﺘﻮﺑﺔ ﺑﯿﻦ ‪ For‬و ‪ Next‬ﺳﯿﺘﻢ ﺗﻜﺮﯾﺮھﺎ ﻋﺸﺮ ﻣﺮات‪.‬‬

‫ﻣﺜﺎل‬

‫)( ‪Sub abc‬‬


‫‪For i=1 to 25‬‬
‫‪x= Worksheets(”sheet1”).Cells(i,2).value‬‬
‫‪Worksheets(”sheet1”).Cells(i,3).value= x+i‬‬
‫‪Next i‬‬
‫‪End Sub‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪15‬‬


‫ھﺬا اﻟﻤﺎﻛﺮو ﯾﻘﻮم ﻗﯿﻤﺔ اﻟﺨﻼﯾﺎ ﻓﻲ اﻟﻌﺎﻣﻮد ‪ C‬ﻣﻦ اﻟﺼﻒ اﻻول إﻟﻰ ‪ 25‬ﺑﺤﯿﺚ ﺗﺴﺎوي ﻗﯿﻤﺔ اﻟﺨﻠﯿﺔ اﻟﺘﻲ‬
‫ﺑﺠﻮارھﺎ ﻓﻲ اﻟﻌﺎﻣﻮد اﻟﺜﺎﻧﻲ ﻣﻀﺎﻓﺎ إﻟﯿﮭﺎ رﻗﻢ اﻟﺼﻒ ﻓﻤﺜﻼ اﻟﺨﻠﯿﺔ ‪ C5‬ﺗﻜﻮن ﻗﯿﻤﺘﮭﺎ ﻣﺴﺎوﯾﺔ ﻟﻘﯿﻤﺔ اﻟﺨﻠﯿﺔ‬
‫‪ B5‬ﻣﻀﺎﻓَﺎ إﻟﯿﮭﺎ ‪.5‬‬

‫ﻛﯿﻒ ﯾﻤﻜﻦ اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ ﺑﻨﺎء ﻋﻠﻰ ﻗﯿﻤﺔ ﻣﺘﻐﯿﺮ أو ﺧﻠﯿﺔ‬

‫اﺳﺘﺨﺪم ‪ If …..Then‬ﺑﻤﻌﻨﻰ إذا ﺣﺪث ﻛﺬا ﻓﺎﻓﻌﻞ ﻛﺬا‪ .‬ﻓﻤﺜﻼً‬

‫‪If x>5 then y=1‬‬

‫ﺗﻌﻨﻲ أﻧﮫ إذا ﻛﺎﻧﺖ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ 5<x‬ﻓﺈن اﻟﻤﺘﻐﯿﺮ ‪ Y‬ﺗﺄﺧﺬ اﻟﻘﯿﻤﺔ ‪ .1‬وﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮫ ﺑﺸﻜﻞ أﻛﺜﺮ ﺗﻔﺼﯿﻼ‬
‫ﻛﺎﻵﺗﻲ‬

‫‪If x>5 then‬‬


‫‪y=1‬‬
‫‪else‬‬
‫‪y=0‬‬
‫‪End If‬‬

‫ﺑﻤﻌﻨﻰ أن ‪ Y‬ﺳﺘﺄﺧﺬ اﻟﻘﯿﻤﺔ ﺻﻔﺮ إذا ﻟﻢ ﺗﻜﻦ ‪ .5<X‬ﻻﺣﻆ ان ‪ else‬ﺗﻌﻨﻲ “وإﻻ” أي أن اﻟﺘﺮﻛﯿﺒﺔ ﺗﻌﻨﻲ‬
‫“إذا ﻛﺎن ﻛﺬا ﻓﺎﻓﻌﻞ ﻛﺬا‪ ،‬وإﻻ ﻓﺎﻓﻌﻞ ﻛﺬا”‪ .‬ﻻﺣﻆ أﻧﻨﺎ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﻧﺤﺘﺎج ﻟﻠﺴﻄﺮ اﻷﺧﯿﺮ ﻟﻨﮭﺎﯾﺔ اﻟﺠﻤﻠﺔ أي‬
‫‪End If‬‬

‫ﻣﺜﺎل‪:‬‬

‫)( ‪Sub abc‬‬


‫‪For i=1 to 25‬‬
‫‪x= Worksheets(”sheet1”).Cells(i,2).value‬‬
‫‪if x>5 then‬‬
‫‪Worksheets(”sheet1”).Cells(i,3).value= x+i‬‬
‫‪Else‬‬
‫‪Worksheets(”sheet1”).Cells(i,3).value=0‬‬
‫‪End if‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪16‬‬


‫‪Next i‬‬
‫‪End Sub‬‬

‫ھﻞ ﺗﺴﺘﻄﯿﻊ ان ﺗﻔﮭﻢ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ‪ .‬ﺣﺎول ﺗﻄﺒﯿﻘﮫ‪.‬‬

‫ﺑﺎﺳﺘﺨﺪام ﺑﻌﺾ اﻷرﻗﺎم ﻓﻲ اﻟﻌﺎﻣﻮد اﻟﺜﺎﻧﻲ ﻧﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺎﺗﺞ اﻟﺘﺎﻟﻲ‬

‫وﺑﺎﺳﺘﺨﺪام أرﻗﺎم أﺧﺮى ﻧﺤﺼﻞ ﻋﻠﻰ اﻟﻨﻮاﺗﺞ اﻟﺘﺎﻟﯿﺔ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪17‬‬


‫ﻛﯿﻒ ﺗﺒﺤﺚ ﻋﻦ اﻟﻤﺴﺎﻋﺪة‬

‫اﺳﺘﺨﺪم ‪ Help‬ﻣﻦ ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻓﮭﻮ وﺳﯿﻠﺔ ﺟﯿﺪة وﺳﺘﺠﺪ ﺑﻌﺾ اﻷﻣﺜﻠﺔ واﻟﺸﺮح‪ .‬اﺳﺘﺨﺪم ﻛﺬﻟﻚ‬
‫وﺳﺎﺋﻞ اﻟﺒﺤﺚ ﻓﻲ اﻟﺸﺒﻜﺔ اﻟﺪوﻟﯿﺔ وﺧﺎﺻﺔ ﺟﻮﺟﻞ و ‪ groups Google‬ﻓﮭﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ اﻷﺷﯿﺎء اﻟﺘﻲ‬
‫ﺳﺘﺠﺪھﺎ ﻣﺘﺎﺣﺔ ﻓﻲ ھﺬا اﻟﻤﺠﺎل‪.‬‬

‫ھﺬه ﺑﻌﺾ اﻟﻤﺒﺎدئ اﻟﺘﻲ ﻗﺪ ﺗﻤﻜﻨﻚ ﻣﻦ ﺑﺪاﯾﺔ اﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪ .‬ﻟﻜﻲ ﺗﺘﻌﻠﻢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﺣﺎول أن‬
‫ﺗﺴﺘﺨﺪﻣﮫ روﯾﺪا روﯾﺪا وﺗﺒﺤﺚ ﻋﻦ ﻣﺎ ﻻﺗﻌﺮﻓﮫ وﺳﺘﺠﺪ اﻷﻣﺮ ﯾﺴﯿﺮا وﻣﻔﯿﺪا إن ﺷﺎء اﷲ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪18‬‬


‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻣﻦ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ‪ -‬ﺗﻄﺒﯿﻘﺎت‬
‫اﻏﺴﻄﺲ ‪ 2007 ,27‬ﻓﻲ ‪ 6:54‬ص ·‬

‫ﻧﺎﻗﺸﺖ ﻓﻲ ﻣﻘﺎﻟﺔ ﺳﺎﺑﻘﺔ ﻓﻮاﺋﺪ ﺗﻌﻠﻢ واﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﻤﮭﻨﺪﺳﯿﻦ اﻟﺼﻨﺎﻋﯿﯿﻦ واﻟﻤﺪﯾﺮﯾﻦ وﻏﯿﺮھﻢ‬
‫وأوﺿﺤﺖ ﺳﮭﻮﻟﺔ اﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ وﺗَﻮﻓﺮه ﻣﻊ ﺑﺮاﻣﺞ ﻣﯿﻜﺮوﺳﻮﻓﺖ‪ .‬ﺛﻢ أﺗﺒﻌﺖ ذﻟﻚ ﺑﻤﻘﺎﻟﺔ ﺗﻮﺿﺢ‬
‫ﻣﺒﺎدئ اﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻣﻊ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ‪ .‬أﺣﺎول ﻓﻲ ھﺬه اﻟﻤﻘﺎﻟﺔ إﺿﺎﻓﺔ ﺑﻌﺾ اﻷﻣﺜﻠﺔ وإﻟﻘﺎء اﻟﻀﻮء‬
‫ﻋﻠﻰ ﻣﻮاﺿﯿﻊ أﻛﺜﺮ ﺗﻘﺪﻣﺎ‪ .‬ﻻﺣﻆ أﻧﻚ ﺗﺤﺘﺎج ﻗﺮاءة اﻟﻤﻘﺎﻟﺘﯿﻦ اﻟﺴﺎﯾﻘﺘﯿﻦ ﻟﻜﻲ ﺗﺴﺘﻔﯿﺪ ﻣﻦ ھﺬه اﻟﻤﻘﺎﻟﺔ‪.‬‬

‫ﺗﻄﺒﯿﻖ ‪:1‬‬

‫اﻓﺘﺮض أﻧﻨﺎ ﻧﺤﺎول دراﺳﺔ ﺗﻜﺎﻟﯿﻒ اﻹﻧﺘﺎج اﻟﻤﺨﺘﻠﻔﺔ واﻟﻤﻘﺴﻤﺔ إﻟﻰ ﺑﻨﻮد ﻛﺜﯿﺮة وﻧﻈﺮا ﻟﻜﺜﺮﺗﮭﺎ ﻓﺈﻧﻨﺎ ﻧﺮﯾﺪ‬
‫اﻟﺘﺮﻛﯿﺰ ﻋﻠﻰ اﻟﺘﻜﺎﻟﯿﻒ اﻟﻜﺒﯿﺮة ﻓﻘﻂ ﻷﻧﮫ ﻟﻦ ﯾﻤﻜﻨﻨﺎ ﺗﺤﻠﯿﻞ ﺟﻤﯿﻊ اﻟﺒﻨﻮد‪ .‬اﻧﻈﺮ اﻟﺸﻜﻞ أدﻧﺎه‪.‬‬

‫ﺳﻨﻘﻮم ﺑﺒﻨﺎء ﺑﺮﻧﺎﻣﺞ ﺑﺴﯿﻂ ﯾﻘﻮم ﺑﻔﺤﺺ ﺟﻤﯿﻊ أرﻗﺎم اﻟﺘﻜﺎﻟﯿﻒ وﯾﻘﻮم ﺑﺈﻇﮭﺎر ﺗﻠﻚ اﻟﺘﻲ ﺗﺘﺠﺎوز اﻷﻟﻒ ﺑﺄن‬
‫ﯾﺠﻌﻞ اﻟﺨﻂ ﺳﻤﯿﻜﺎ وﻟﻮن اﻟﻜﺘﺎﺑﺔ أزرﻗﺎ‪ .‬ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﯾﻤﻜﻦ ﻛﺘﺎﺑﺘﮫ ﻛﺎﻵﺗﻲ‪:‬‬

‫)(‪Sub checkexpenses‬‬
‫‪‘for each column‬‬
‫‪For j = 2 To 8‬‬
‫‪‘for each row in the table‬‬
‫‪For i = 5 To 16‬‬
‫)‪x = Worksheets(”sheet1”).Cells(i, j‬‬
‫‪‘check if the value of the cell is greater than 1000‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪19‬‬


‫‪If x > 1000 Then‬‬
‫‪‘if the value is greater than 1000 then make the font bold and the color‬‬
‫‪blue‬‬
‫‪Worksheets(”sheet1”).Cells(i, j).Font.Bold = True‬‬
‫‪Worksheets(”sheet1”).Cells(i, j).Font.ColorIndex = 32‬‬
‫‪End If‬‬

‫‪Next i‬‬
‫‪Next j‬‬
‫‪End Sub‬‬

‫ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﯾَﻤﺮ ﻋﻠﻰ ﻛﻞ اﻟﺨﻼﯾﺎ اﻟﻤﺤﺘﻮﯾﺔ ﻷرﻗﺎم اﻟﻤﺼﺎرﯾﻒ ﻋﻦ ﻃﺮﯾﻖ ‪ For ….To‬ﺑﻤﺘﻐﯿﺮﯾﻦ‪ :‬واﺣﺪ‬
‫ﻟﻸﻋﻤﺪة واﻵﺧﺮ ﻟﻠﺼﻔﻮف ﻓﮭﻮ ﯾﻤﺮ ﻋﻠﻰ ﻛﻞ ﺻﻔﻮف اﻟﺠﺪول ﻟﻠﻌﻤﻮد اﻟﺜﺎﻧﻲ ﺛﻢ ﻛﻞ اﻟﺼﻔﻮف ﻟﻠﻌﻤﻮد اﻟﺜﺎﻟﺚ‬
‫وھﻜﺬا ﺣﺘﻰ اﻟﻌﻤﻮد اﻟﺜﺎﻣﻦ‪ .‬وﻓﻲ ﻛﻞ ﻣﺮة ﯾﺘﻢ ﻣﻘﺎرﻧﺔ ﻗﯿﻤﺔ اﻟﺨﻠﯿﺔ ﺑﺎﻟﺮﻗﻢ أﻟﻒ وذﻟﻚ ﺑﺎﺳﺘﺨﺪام ﺟﻤﻠﺔ‬
‫‪ If….Then‬وﻓﻲ ﺣﺎﻟﺔ ﻣﺎ إذا ﻛﺎﻧﺖ ﻗﯿﻤﺔ اﻟﺨﻠﯿﺔ أﻛﺒﺮ ﻣﻦ أﻟﻒ ﻓﺈﻧﮫ ﯾﺘﻢ ﺗﻐﯿﯿﺮ اﻟﺨﻂ إﻟﻰ اﻟﺨﻂ اﻟﺴﻤﯿﻚ‬
‫‪ Bold‬وﯾﺘﻢ ﺗﻐﯿﯿﺮ ﻟﻮن اﻟﻜﺘﺎﺑﺔ إﻟﻰ اﻟﻠﻠﻮن اﻷزق‪ .‬وﺗﻜﻮن اﻟﻨﺘﯿﺠﺔ ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬

‫ﺑﺎﻟﻄﺒﻊ ﺗﻈﮭﺮ ﻗﯿﻤﺔ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻛﻠﻤﺎ ازدادت اﻷرﻗﺎم اﻟﺘﻲ ﯾﺘﻢ اﺳﺘﻌﺮاﺿﮭﺎ‪ .‬ﺑﺈﻣﻜﺎﻧﻨﺎ أﯾﻀﺎ أﻻ ﻧﻜﺘﻔﻲ‬
‫ﺑﻤﺠﺮد ﺗﻮﺿﯿﺢ اﻷرﻗﺎم اﻟﺘﻲ ﺗﺘﺠﺎوز اﻷﻟﻒ ﺑﻞ ﯾﻤﻜﻨﻨﺎ ﻛﺘﺎﺑﺘﮭﺎ ﻓﻲ ﺻﻔﺤﺔ ﻣﻨﻔﺼﻠﺔ ﺑﺎﻟﺘﺮﺗﯿﺐ اﻟﺬي ﻧﺮﯾﺪه‪.‬‬
‫ﻻﺣﻆ ﺳﮭﻮﻟﺔ ﺗﻐﯿﯿﺮ اﻟﺮﻗﻢ اﻟﺬي ﻧﻘﺎرن ﺑﮫ )ﻓﻲ اﻟﺤﺎﻟﺔ اﻟﺴﺎﺑﻘﺔ ‪ .(1000‬ﻓﻠﻮ ﻗﺮرﻧﺎ أﻧﺎ ﻧﺮﯾﺪ دراﺳﺔ‬
‫اﻟﻤﺼﺎرﯾﻒ اﻟﺘﻲ ﺗﺰﯾﺪ ﻋﻦ ‪ 1200‬ﻓﻠﻦ ﯾﻜﻮن ﻋﻠﯿﻨﺎ ﺳﻮى ﺗﻐﯿﯿﺮ رﻗﻢ ‪ 1000‬ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ إﻟﻰ ‪ .1200‬وھﻜﺬا‬
‫ﻓﺈن اﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﯾﻌﻄﯿﻚ ﻣﺮوﻧﺔ ﻋﺎﻟﯿﺔ ﻓﻲ اﻟﺘﻐﯿﯿﺮ ﺑﺤﺴﺐ اﻟﺤﺎﺟﺔ‪.‬‬

‫أرﺟﻮ أﻻ ﺗﻜﺘﻔﻲ ﺑﻘﺮاءة اﻟﻤﻘﺎﻟﺔ وﻟﻜﻦ اﻓﺘﺢ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ وﻗﻢ ﺑﺎﻟﺘﻄﺒﯿﻖ ﺑﻨﻔﺴﻚ ﻟﻜﻲ ﺗﺘﻌﻠﻢ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪20‬‬


‫ﻗﺪ ﺗﺘﺼﻮر أﻧﮫ ﻋﻠﯿﻚ أن ﺗﺤﻔﻆ ﻛﻞ أواﻣﺮ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪ .‬ھﺬا ﻟﯿﺲ ﺻﺤﯿﺤﺎ‪ .‬ﻓﻌﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل أﺛﻨﺎء ﻛﺘﺎﺑﺘﻲ‬
‫ﻟﮭﺬا اﻟﺒﺮﻧﺎﻣﺞ اﻟﺼﻐﯿﺮ اﺣﺘﺠﺖ ﻟﻠﺒﺤﺚ ﻓﻲ اﻟـ ‪ Help‬ﻟﻜﻲ أﺗﺬﻛﺮ اﻷﻣﺮ اﻟﺬي ﯾﻐﯿﺮ اﻟﺨﻂ إﻟﻰ ‪ .Bold‬وﻟﻜﻦ‬
‫ﻋﻤﻠﯿﺔ اﻟﺒﺤﺚ ھﺬه ﻻ ﺗﺴﺘﻐﺮق وﻗﺘﺎ ﻃﻮﯾﻼ‪ .‬ﻛﺬﻟﻚ ﯾﻤﻜﻨﻚ اﻟﺒﺤﺚ ﻋﻦ ﻃﺮﯾﻖ ﺟﻮﺟﻞ ﻓﮭﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ‬
‫اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﺘﺎﺣﺔ ﻋﻠﻰ اﻟﺸﺒﻜﺔ اﻟﺪوﻟﯿﺔ ﻋﻦ اﺳﺘﺨﺪام ﻓﯿﺠﻮال ﺑﯿﺴﻚ‪.‬‬

‫ھﻞ ﯾﻤﻜﻦ إﺿﺎﻓﺔ أﯾﻘﻮﻧﺔ ﻟﺘﻨﻔﯿﺬ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻛﻠﻤﺎ اﺣﺘﺠﻨﺎه؟‬

‫ﯾﻤﻜﻨﻚ أن ﺗﻀﯿﻒ ﻟﻠﻤﻠﻒ أﯾﻘﻮﻧﺔ ‪ Icon‬أو ﻗﺎﺋﻤﺔ أواﻣﺮ ‪ Menu‬ﻟﺘﺸﻐﯿﻞ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻛﻠﻤﺎ اﺣﺘﺠﺖ إﻟﻰ ذﻟﻚ‪.‬‬
‫ﻗﺪ ﺗﻈﻦ ان ھﺬا أﻣﺮا ﻋﺴﯿﺮا وﻟﻜﻦ ﻓﻲ اﻟﺤﻘﯿﻘﺔ ﻓﺈن اﻻﻣﺮ أﯾﺴﺮ ﺑﻜﺜﯿﺮ ﻣﻤﺎ ﺗﺘﻮﻗﻊ‪ .‬اﺗﺒﻊ اﻟﺨﻄﻮات اﻵﺗﯿﺔ‪:‬‬

‫ﻗﻒ ﺑﺎﻟﻔﺄرة ﻓﻲ أﻋﻠﻰ اﻟﺼﻔﺤﺔ أي ﻓﻲ ﻣﺴﺘﻮى ﻗﻮاﺋﻢ اﻷدوات ﺛﻢ اﺿﻐﻂ ﻋﻠﻰ اﻟﺰر اﻷﯾﻤﻦ ﻟﻠﻔﺄرة‪ .‬ﺗﻈﮭﺮ ﻟﻚ‬
‫ﻗﺎﺋﻤﺔ ﺑﻘﻮاﺋﻢ اﻻدوات‪ .‬اﺧﺘﺮ ‪ Customize‬ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ‬

‫ﺗﻈﮭﺮ ﻟﻚ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ‪ .‬اﺧﺘﺮ ‪ Macros‬ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪21‬‬


‫ﻟﻮﺿﻊ ‪ Menu Item‬اﺿﻐﻂ ﻋﻠﻰ ‪ Custom Menu Item‬وﻗﻢ ﺑﺴﺤﺒﮭﺎ إﻟﻰ ﻣﺴﺘﻮى اﻟﻘﻮاﺋﻢ ‪Menu‬‬
‫وﺿﻌﮭﺎ ﺣﯿﺚ ﺗﺮﯾﺪ وﻟﯿﻜﻦ ﺑﻌﺪ ﻗﺎﺋﻤﺔ ‪ Help‬ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ‪.‬‬

‫اﻵن ﻧﺮ ﯾﺪ ﺗﺤﺪﯾﺪ اﺳﻢ ﻣﻨﺎﺳﺐ ﻟﮭﺬه اﻟﻘﺎﺋﻤﺔ وﻧﺮﯾﺪ ﺗﺤﺪﯾﺪ اﻟﻤﺎﻛﺮو اﻟﺬي ﺳﺘﻘﻮم ﺑﺘﺸﻐﯿﻠﮫ‪.‬ﻗِﻒ ﺑﺎﻟﻔﺄرة ﻋﻠﻰ ھﺬه‬
‫اﻟﻘﺎﺋﻤﺔ اﻟﺠﺪﯾﺪة ﺛﻢ ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر اﻷﯾﻤﻦ ﻟﻠﻔﺄرة ﻓﺘﻈﮭﺮ ﻟﻚ ﻗﺎﺋﻤﺔ ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ‪ .‬ﻻﺣﻆ أن ھﺬه اﻟﻘﺎﺋﻤﺔ‬
‫ﻻ ﺗﻈﮭﺮ ﻋﻨﺪﻣﺎ ﺗﻜﻮن ﻧﺎﻓﺬة ‪ Customize‬ﻣﻐﻠﻘﺔ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪22‬‬


‫رﺑﻤﺎ ﻟﻦ ﻧﮭﺘﻢ ﻛﺜﯿﺮا ﺳﻮى ﺑﺎﻟﻮﻇﯿﻔﺘﯿﻦ اﻟﻤﺸﺎر إﻟﯿﮭﻤﺎ ﺑﺎﻟﺤﻠﻘﺔ اﻟﺤﻤﺮاء‪ .Assign Macro ،Name :‬ﻟﺘﻐﯿﯿﺮ‬
‫اﺳﻢ اﻟﻘﺎﺋﻤﺔ ﻓﺈﻧﮫ ﻣﺎ ﻋﻠﯿﻚ إﻟﻰ أن ﺗﻀﻊ اﻟﻔﺄرة ﺑﺠﻮار ﻛﻠﻤﺔ ‪ Name‬وﺗﻘﻮم ﺑﺎﻟﻜﺘﺎﺑﺔ وﻣﺴﺢ اﻻﺳﻢ اﻟﻘﺪﯾﻢ‪ .‬ﻋﻨﺪ‬
‫اﻟﻮﻗﻮف ﺑﺎﻟﻔﺄرة ﺧﺎرج اﻟﻘﺎﺋﻤﺔ ﻓﺈﻧﻚ ﺗﺮى اﻻﺳﻢ ﻗﺪ ﺗﻐﯿﺮ ﺑﺎﻟﻔﻌﻞ‪.‬‬

‫ﻟﺘﺤﺪﯾﺪ اﻟﻤﺎﻛﺮو اﺿﻐﻂ ﻋﻠﻰ ‪ Assign Macro‬ﻓﺘﻈﮭﺮ ﻟﻚ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪23‬‬


‫اﺧﺘﺮ اﻟﻤﺎﻛﺮو اﻟﺬي ﺗﺮﯾﺪ ﺛﻢ اﺿﻐﻂ ‪OK‬‬

‫أﻏﻠﻖ ﻧﺎﻓﺬة ‪ Cutomize‬واﻵن ﯾﻤﻜﻨﻚ ﺗﺠﺮﺑﺔ ﺗﺸﻐﯿﻞ اﻟﻤﺎﻛﺮو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ھﺬا اﻟﺰر أو اﻟﻘﺎﺋﻤﺔ‪.‬‬

‫ﻟﻜﻲ ﺗﻀﻊ أﯾﻘﻮﻧﺔ ‪ Icon‬ﺑﺪﻻ ﻣﻦ اﻟﻘﺎﺋﻤﺔ ﻓﺈن ﻋﻠﯿﻚ إﻋﺎدة اﻟﺨﻄﻮات وﻟﻜﻦ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﺗﺒﺪأ ﺑﺎﺧﺘﯿﺎر‬
‫‪ Custom Button‬وﻗﻢ ﺑﺴﺤﺒﮫ ووﺿﻌﮫ ﻓﻲ ﻣﻜﺎن ﻣﺎ وﺳﻂ اﻷﯾﻘﻮﻧﺎت ﺛﻢ ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﺳﻤﮫ وﺗﺤﺪﯾﺪ اﻟﻤﺎﻛﺮو‬
‫اﻟﺨﺎص ﺑﮫ ﺑﻨﻐﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﺴﺎﺑﻖ ذﻛﺮھﺎ‪.‬‬

‫ﻣﺎ ﻓﺎﺋﺪة إﺿﺎﻓﺔ أﯾﻘﻮﻧﺔ أو ﻗﺎﺋﻤﺔ ﻟﻼﺳﺘﺨﺪام اﻟﻤﺎﻛﺮو؟ ﻟﻮ ﻛﻨﺖ ﺳﺘﺴﺘﺨﺪم ھﺬا اﻟﻤﺎﻛﺮو ﻣﺮة واﺣﺪة ﻓﺮﺑﻤﺎ ﻻ‬
‫ﯾﻜﻮن ھﻨﺎك ﻣﺎ ﯾﺒﺮرر وﺿﻊ أﯾﻘﻮﻧﺔ ﻟﺘﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ وﻟﻜﻦ ﻟﻮ ﻛﻨﺖ ﺗﺴﺘﺨﺪم ﻧﻔﺲ اﻟﻤﻠﻒ ﯾﻮﻣﯿﺎ أو أﺳﺒﻮﻋﯿﺎ‬
‫أو ﺷﮭﺮﯾﺎ وﺑﺄرﻗﺎم ﻣﺨﺘﻠﻔﺔ ﻓﺈن وﺿﻊ اﻷﯾﻘﻮﻧﺔ ﯾﺠﻌﻞ ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ أﻣﺮا ﯾﺴﯿﺮا‪ .‬ﻛﺬﻟﻚ ﻓﺈﻧﮫ ﻓﻲ ﺣﺎﻟﺔ وﺟﻮد‬
‫ﻋﺪة ﺑﺮاﻣﺞ ﻓﻲ ﻧﻔﺲ اﻟﻤﻠﻒ وﯾﺘﻢ اﺳﺘﺨﺪاﻣﮭﺎ ﻣﺮارا وﺗﻜﺮارا ﻓﺈن وﺿﻊ أﯾﻘﻮﻧﺎت أو ﻗﺎﺋﻤﺔ ﻟﻠﺘﺸﻐﯿﻞ ﯾﺠﻌﻞ‬
‫ﺗﺸﻐﯿﻞ ھﺬه اﻟﺒﺮاﻣﺞ ﯾﺘﻢ ﺑﺸﻜﻞ ﺳﻠﺴﻞ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪24‬‬


‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ‪ /‬إﻛﺴﻞ ‪ -‬أدوات اﻟﺘﺤﻜﻢ‬
‫اﻏﺴﻄﺲ ‪ 2007 ,28‬ﻓﻲ ‪ 9:34‬ص ·‬

‫ھﻨﺎك ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷدوات اﻟﺘﻲ ﯾُﻤﻜﻨﻚ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ ﻟﻠﻘﯿﺎم ﺑﻮﻇﺎﺋﻒ ﻣﺤﺪدة‪ .‬ھﺬه اﻻدوات‬
‫ﻗﺪ ﺗﺴﺎﻋﺪك ﻛﺜﯿﺮا ﻓﻲ ﺗﺤﻠﯿﻞ اﻟﺒﯿﺎﻧﺎت ودراﺳﺔ اﻻﺣﺘﻤﺎﻻت اﻟﻤﺨﺘﻠﻔﺔ وھﻮ ﻣﻤﺎ ﯾﺤﺘﺎﺟﮫ اﻟﻤﮭﻨﺪﺳﻮن‬
‫اﻟﺼﻨﺎﻋﯿﻮن واﻟﻤﺪﯾﺮون وﻣﺤﻠﻠﻮ اﻟﺒﯿﺎﻧﺎت‪ .‬أﺳﺘﻌﺮض ﻓﻲ ھﺬه اﻟﻤﻘﺎﻟﺔ ﺑﻌﺾ ھﺬه اﻷداوت واﺳﺘﺨﺪاﻣﺎﺗﮭﺎ‬
‫اﻟﺒﺴﯿﻄﺔ‪.‬‬

‫ﻣﺜﺎل ‪:1‬‬

‫اﻓﺘﺮض أﻧﻚ ﺗﺪرس ﺗﻜﻠﻔﺔ ﻣﻨﺘﺞ ﻣﺎ واﻟﺬي ﯾﺪﺧﻞ ﻓﻲ ﺗﺼﻨﯿﻌﮫ أرﺑﻌﺔ ﻣﻮاد‪ .‬اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ اﻟﺘﻜﻠﻔﺔ‬
‫اﻟﻤﺘﻮﻗﻌﺔ ﻟﻠﻤﻮاد اﻟﺨﺎم اﻟﻤﺴﺘﺨﺪﻣﺔ ﻹﻧﺘﺎج وﺣﺪة واﺣﺪة ﻣﻦ اﻟﻤﻨﺘﺞ‪ .‬ﻧﻜﺎد ﻧﻜﻮن ﻋﻠﻰ ﺛﻘﺔ ﻛﺒﯿﺮة ﻣﻦ ﺛﺒﺎت‬
‫أﺳﻌﺎر اﻟﻤﻨﺘﺠﺎت ب‪ ،‬ج‪ ،‬د وﻟﻜﻦ ھﻨﺎك ﺗﻐﯿﺮ ﻣﺤﺘﻤﻞ ﻓﻲ أﺳﻌﺎر اﻟﻤﺎدة أ‪.‬‬

‫ﯾﻤﻜﻨﻨﺎ دراﺳﺔ ﺗﺄﺛﯿﺮ ﺗﻐﯿﺮ ﺳﻌﺮ اﻟﻤﺎدة أ ﺑﻮﺳﯿﻠﺔ ﺑﺴﯿﻄﺔ ﻛﺎﻵﺗﻲ‪:‬‬

‫اﺿﻐﻂ ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﺻﻨﺪوق أدوات اﻟﺘﺤﻜﻢ ‪ Control Toolbox‬اﻟﻤﺒﯿﻦ أدﻧﺎه‬

‫ﺗﻈﮭﺮ ﻟﻚ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪25‬‬


‫ھﺬه اﻟﻨﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ اﻟﻌﺪﯾﺪ ﻣﻦ اﻷدوات اﻟﺘﻲ ﺗﺮاھﺎ ﻓﻲ اﻟﺒﺮاﻣﺞ اﻟﺘﻲ ﺗﺴﺘﺨﺪﻣﮭﺎ‪ .‬ﯾﻤﻜﻨﻚ اﻵن ﺗَﻄﻮﯾﻊ‬
‫ھﺬه اﻷدوات داﺧﻞ ﺻﻔﺤﺔ إﻛﺴﻞ ﻟﻼﺳﺘﺨﺪام اﻟﺬي ﺗﺮﯾﺪه‪.‬‬

‫اﺿﻐﻂ ﻋﻠﻲ أﯾﻘﻮﻧﺔ اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ ‪- Scroll Bar‬اﻟﻤﺸﺎر إﻟﯿﮭﺎ ﺑﺎﻟﺤﻠﻘﺔ اﻟﺤﻤﺮاء ﻓﻲ اﻟﺸﻜﻞ أﻋﻼه‪ .‬ﻗﻢ‬
‫ﺑﻮﺿﻊ اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ أدﻧﺎه ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﺘﻲ ﺗﺴﺘﺨﺪﻣﮭﺎ ﻋﻨﺪﻣﺎ ﺗﻘﻮم ﺑﺮﺳﻢ أي ﺷﻜﻞ ﻋﻠﻰ‬
‫ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ أو ﻏﯿﺮه‪.‬‬

‫ﻧﺮﯾﺪ اﻵن أن ﻧﺴﺘﺨﺪم ھﺬه اﻟﻤﺴﻄﺮة ﻟﺘﻐﯿﯿﺮ ﺗﻜﻠﻔﺔ اﻟﻤﺎدة أ‪ .‬ﻗﻒ ﻋﻠﻰ اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ اﻟﺘﻲ رﺳﻤﺘﮭﺎ‬
‫واﺿﻐﻂ ﻋﻠﻰ اﻟﺰر اﻷﯾﻤﻦ ﻟﻠﻔﺄرة ﺛﻢ اﺧﺘﺮ اﻟﺨﻮاص ‪Properties‬‬

‫ﺗﻈﮭﺮ ﻟﻚ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪26‬‬


‫ﻻﺣﻆ أﻧﮫ ﻓﻲ أﻋﻠﻰ ھﺬه اﻟﻨﺎﻓﺬة ﯾﻮﺟﺪ ﺧﯿﺎران‪ Categorized , Alphbetic :‬أي أﺑﺠﺪي وﻣﺼﻨﻒ‪.‬‬
‫اﻟﺨﯿﺎر “أﺑﺠﺪي” واﻟﺬي ھﻮ اﻟﺨﯿﺎر اﻟﺤﺎﻟﻲ ﯾُﺮﺗﺐ اﻟﺨﻮاص ﺗﺮﺗﯿﺒﺎ أﺑﺠﺪﯾﺎ ﺣﺴﺐ ﻣﺴﻤﻰ ﻛﻞ ﺧﺎﺻﯿﺔ‪ .‬أﻣﺎ‬
‫اﻟﺨﯿﺎر اﻵﺧﺮ “ﻣﺼﻨﻒ” ﻓﮭﻮ ﯾﺼﻨﻒ اﻟﺨﻮاص ﻟﻤﺠﻤﻮﻋﺎت ﺣﺴﺐ ﻃﺒﯿﻌﺔ اﻟﺨﻮاص‪ .‬اﺧﺘﺮ اﻟﺨﯿﺎر اﻟﺜﺎﻧﻲ‬
‫“ﻣﺼﻨﻒ” ‪ Categorized‬ﻓﺘﺘﺤﻮل اﻟﻨﺎﻓﺬة إﻟﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪27‬‬


‫ﻋﻠﻰ اﻟﺮﻏﻢ ﻣﻦ ﻛﺜﺮة اﻟﺨﻮاص ﻓﺈﻧﻨﺎ ﺳﻨﺴﺘﺨﺪم ﻋﺪدا ﻣﺤﺪودا ﻣﻨﮭﺎ وھﻲ اﻟﻤﺸﺎر إﻟﯿﮭﺎ ﺑﺎﻟﺤﻠﻘﺎت اﻟﺤﻤﺮاء‪ .‬اﺑﺪأ‬
‫ﺑﺘﻐﯿﯿﺮ ﻗﯿﻢ ھﺬه اﻟﺨﻮاص ﻛﺎﻟﺘﺎﻟﻲ‬

‫‪ Linked Cell‬أي اﻟﺨﻠﯿﺔ اﻟﻤﺮﺗﺒﻄﺔ ﺑﺘﺤﺮك اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ أي اﻟﺨﻠﯿﺔ اﻟﺘﻲ ﺳﺘﺘﻐﯿﺮ ﻗﯿﻤﺘﮭﺎ ﻛﻠﻤﺎ‬
‫ﺣﺮﻛﻨﺎ اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ‪ .‬ﺿﻊ اﻟﻘﯿﻤﺔ ‪ F3‬أي رﻗﻢ اﻟﺨﻠﯿﺔ اﻟﺘﻲ ﺗﺤﻮي ﺗﻜﻠﻔﺔ اﻟﻤﺎدة أ‬

‫‪ Large Change‬ﻗﯿﻤﺔ اﻟﺘﻐﯿﺮ اﻟﻜﺒﯿﺮ ﻋﻠﻰ اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ وھﻲ ﻗﯿﻤﺔ اﻟﺘﻐﯿﺮ ﻋﻨﺪﻣﺎ ﺗﻘﻮم ﺑﻘﻔﺰة ﻛﺒﯿﺮة‬
‫ﻋﻠﻰ اﻟﻤﺴﻄﺮة‪ .‬ﺿﻊ ﻗﯿﻤﺔ ﻣﻨﺎﺳﺒﺔ ﺣﺴﺐ ﻣﺎ ﺗﺮﯾﺪ وأﻗﺘﺮح ﻓﻲ ھﺬا اﻟﻤﺜﺎل أن ﺗﻜﻮن ‪5‬‬

‫‪ Small Change‬ﻗﯿﻤﺔ اﻟﺘﻐﯿﺮ اﻟﺼﻐﯿﺮ وھﻲ ﻗﯿﻤﺔ اﻟﺘﻐﯿﺮ ﻋﻨﺪﻣﺎ ﺗﻀﻂ ﻋﻠﻰ ﺳﮭﻢ اﻟﻤﺴﻄﺮة ﯾﻤﯿﻨﺎ أو‬
‫ﯾﺴﺎرا‪ .‬ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام ﻗﯿﻤﺔ ﻣﻨﺎﺳﺒﺔ أﺻﻐﺮ ﻣﻦ ﺗﻠﻚ اﻟﺘﻲ اﺧﺘﺮﺗﮭﺎ ﻟﻠﺘﻐﯿﺮ اﻟﻜﺒﯿﺮ وﯾﻤﻜﻨﻚ ﻓﻲ ھﺬا اﻟﻤﺜﺎل‬
‫وﺿﻊ اﻟﻘﯿﻤﺔ ‪ 1‬أو ‪2‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪28‬‬


‫‪ Max‬ھﻲ أﻗﺼﻰ ﻗﯿﻤﺔ ﯾﻤﻜﻦ اﻟﻮﺻﻮل إﻟﯿﮭﺎ وھﻲ اﻟﻘﯿﻤﺔ اﻟﺘﻲ ﺳﺘﺼﻞ إﻟﯿﮭﺎ اﻟﺨﻠﯿﺔ اﻟﻤﺮﺗﺒﻄﺔ ﻋﻨﺪ وﺻﻮل‬
‫ﺖ اﻟﻘﯿﻤﺔ ‪300‬‬
‫اﻟﻤﺴﻄﺮة إﻟﻰ أﻗﺼﻰ اﻟﯿﻤﯿﻦ‪ .‬ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل اﺳﺘﺨﺪﻣ ُ‬

‫‪ Min‬ھﻲ أﻗﻞ ﻗﯿﻤﺔ ﯾﻤﻜﻦ اﻟﻮﺻﻮل إﻟﯿﮭﺎ وھﻲ اﻟﻘﯿﻤﺔ اﻟﺘﻲ ﺳﺘﺼﻞ إﻟﯿﮭﺎ اﻟﺨﻠﯿﺔ اﻟﻤﺮﺗﺒﻄﺔ ﻋﻨﺪ وﺻﻮل‬
‫ﺖ اﻟﻘﯿﻤﺔ ‪100‬‬
‫اﻟﻤﺴﻄﺮة إﻟﻰ أﻗﺼﻰ اﻟﯿﺴﺎر‪ .‬ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل اﺳﺘﺨﺪﻣ ُ‬

‫ﻣﻌﻨﻰ ذﻟﻚ أﻧﻨﺎ ﻧﺘﻮﻗﻊ ﺗﻐﯿﺮ ﻗﯿﻤﺔ اﻟﻤﺎدة أ ﻣﻦ ‪ 100‬إﻟﻰ ‪ 300‬وﻧﺮﯾﺪ دراﺳﺔ ﺗﺄﺛﯿﺮ ھﺬا اﻟﺘﻐﯿﺮ ﻋﻠﻰ اﻟﺘﻜﻠﻔﺔ‬
‫اﻟﻜﻠﯿﺔ‪.‬‬

‫ﻟﻜﻲ ﺗﺴﺘﻄﯿﻊ اﺳﺘﺨﺪام اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ‪Design Mode‬‬
‫وذﻟﻚ ﻟﻠﺨﺮوج ﻣﻦ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ﻟﺤﺎﻟﺔ اﻻﺳﺘﺨﺪام‪ .‬ھﺬه اﻷﯾﻘﻮﻧﺔ ﺗﻤﻜﻨﻚ ﻣﻦ ﺗﻐﯿﯿﺮ ﺧﻮاص أدوات اﻟﺘﺤﻜﻢ‬
‫وإﺿﺎﻓﺔ أدوات ﺟﺪﯾﺪة ﻟﻠﺼﻔﺤﺔ‪ .‬وﻟﻜﻦ ﻟﻜﻲ ﺗﻘﻮم ﺑﺎﺳﺘﺨﺪام اﻷداوت ﺗﺤﺘﺎج ﻟﻠﻀﻐﻂ ﻋﻠﯿﮭﺎ ﻟﻠﺨﺮوج ﻣﻦ ﺣﺎﻟﺔ‬
‫اﻟﺘﺼﻤﯿﻢ ﻟﺤﺎﻟﺔ اﻻﺳﺘﺨﺪام‬

‫ﻗﻢ ﺑﺎﺳﺘﺨﺪام اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ ﻟﺘﺮى ﻛﯿﻒ ﺗﻌﻤﻞ‪ .‬ﯾﻤﻜﻨﻚ ﺑﻌﺪ ذﻟﻚ اﻟﻀﻐﻂ ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ﻟﺘﻐﯿﯿﺮ‬
‫ﺧﻮاص اﻟﻤﺴﻄﺮة ﻟﻜﻲ ﺗﺘﻔﮭﻢ ﻛﯿﻔﯿﺔ ﻋﻤﻞ اﻟﻤﺴﻄﺮة‪ .‬ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻗﻢ ﺑﺘﻐﯿﯿﺮ ‪ Max‬إﻟﻰ ‪500‬‬
‫واﻟﺘﻐﯿﺮ اﻟﻜﺒﯿﺮ إﻟﻰ ‪100‬ﺛﻢ ﻗﻢ ﺑﺘﺠﺮﺑﺔ ﻋﻤﻞ اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ وھﻜﺬا‪.‬‬

‫ﻻﺣﻆ أن ﺷﺮح ھﺬه اﻟﺨﻄﻮات ﯾﺒﺪو ﻃﻮﯾﻼ وﻟﻜﻦ ﺗﻨﻔﯿﺬ ذﻟﻚ ﻋﻠﻰ اﻟﺒﺮﻧﺎﻣﺞ ﯾﺴﺘﻐﺮق ﺑﻀﻌﺔ دﻗﺎﺋﻖ‪ .‬ﺣﺎول‬
‫ﺗﻄﺒﯿﻖ ذﻟﻚ ﺑﻨﻔﺴﻚ ﻟﻜﻲ ﺗﺴﺘﻔﯿﺪ ﻣﻦ ھﺬه اﻟﻤﻘﺎﻟﺔ‪.‬‬

‫ھﺬا اﻟﻤﺜﺎل ﺑﺴﯿﻂ ﻓﻲ ﻓﻜﺮﺗﮫ وﻟﻜﻨﮫ أوﺿﺢ ﻛﯿﻔﯿﺔ ﻋﻤﻞ اﻟﻤﺴﻄﺮة اﻟﻤﻨﺰﻟﻘﺔ واﻟﺘﻲ ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ دراﺳﺔ‬
‫ﺗﻐﯿﺮ أي ﻣﺘﻐﯿﺮ ﻓﻲ أي ﺣﺴﺎﺑﺎت ﺑﺴﯿﻄﺔ أو ﻣﻌﻘﺪة‪ .‬ﯾﻤﻜﻨﻚ ﻛﺬﻟﻚ اﺳﺘﺨﺪام أﻛﺜﺮ ﻣﻦ ﻣﺴﻄﺮة ﻓﻘﺪ ﺗﺴﺘﺨﺪم‬
‫ﻣﺴﻄﺮة أﺧﺮى ﻟﻠﻤﺎدة ب وھﻜﺬا‪.‬‬

‫ﻣﺜﺎل ‪:2‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪29‬‬


‫اﻓﺘﺮض أﻧﻨﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ أردﻧﺎ دراﺳﺔ ﺣﺎﻻت ﻣﺤﺪدة ﻟﺘﻐﯿﺮ ﺳﻌﺮ اﻟﻤﺎدة أ ﺑﻤﻌﻨﻰ أن اﻟﻌﺮ ﻗﺪ ﯾﻜﻮن‬
‫‪ 125‬أو ‪ 145‬أو ‪ .175‬ﻗﺪ ﯾﻜﻮن ذﻟﻚ ﺑﺴﺒﺐ اﻟﺮﻏﺒﺔ ﻓﻲ دراﺳﺔ اﺣﺘﻤﺎﻻت ﺗﻐﯿﺮ اﻷﺳﻌﺎر أو وﺟﻮد ﻧﻔﺲ‬
‫اﻟﻤﺎدة ﺑﺠﻮدة ﻣﺨﺘﻠﻔﺔ وﺑﺎﻟﺘﺎﻟﻲ ﺑﺄﺳﻌﺎر ﻣﺨﺘﻠﻔﺔ‪.‬‬

‫ﺳﻨﻘﻮم ﺑﺎﺳﺘﺨﺪام أﯾﻘﻮﻧﺔ ‪ Combobox‬أو اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ‪ .‬اﺿﻐﻂ ﻋﻠﻰ ھﺬه اﻷﯾﻘﻮﻧﺔ ﻓﻲ ﻗﺎﺋﻤﺔ‬
‫اﻷدوات‬

‫ﻗﻢ ﺑﻮﺿﻊ ھﺬه اﻷﯾﻘﻮﻧﺔ ﻓﻮق اﻟﺨﻠﯿﺔ ‪ F3‬ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﺘﻲ ﺗﺴﺘﺨﺪﻣﮭﺎ ﻟﺮﺳﻢ اﻷﺷﻜﺎل ﻓﻲ إﻛﺴﻞ أوﻏﯿﺮه‪.‬‬

‫اﺿﻐﻂ ﯾﻤﯿﻨﺎ ﻋﻠﻰ اﻟﻔﺄرة ﺛﻢ اﺧﺘﺮ “ﺧﻮاص” ‪ .Properties‬ﺗﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة اﻟﺨﻮاص واﻟﺘﻲ ﻟﻦ ﻧﺴﺘﺨﺪم‬
‫ﻣﻨﮭﺎ ﺳﻮى ﺧﺎﺻﺘﯿﻦ ﻓﻘﻂ‬

‫‪ LinkedCell‬أي اﻟﺨﻠﯿﺔ اﻟﻤﺮﺗﺒﻄﺔ وھﻲ اﻟﺨﻠﯿﺔ اﻟﺘﻲ ﺗﺘﻐﯿﺮ ﻗﯿﻤﺘﮭﺎ ﻋﻨﺪ ﺗﻐﯿﯿﺮ اﻻﺧﺘﯿﺎر ﻓﻲ اﻟﺼﻨﺪوق‬
‫اﻟﻤﺘﺪﻟﻲ ‪ Combobox‬وھﻲ ﻓﻲ ھﺬا اﻟﻤﺜﺎل اﻟﺨﻠﯿﺔ ‪F3‬‬

‫‪ ListFill Range‬أي اﻟﺨﻼﯾﺎ اﻟﻤﻜﺘﻮب ﻓﯿﮭﺎ ﺧﯿﺎرات اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ‪ .‬ﻓﻲ ھﺬا اﻟﻤﺜﺎل ﺳﻨﻘﻮم ﺑﻜﺘﺎﺑﺔ‬
‫اﻟﺨﯿﺎرات اﻟﺜﻼث ﻓﻲ اﻟﺨﻼﯾﺎ ‪ .L1:L3‬ﺑﺎﻟﻄﺒﻊ ﯾﻤﻜﻦ ﻛﺘﺎﺑﺔ ھﺬه اﻟﺨﯿﺎرات ﻓﻲ أي ﻣﻜﺎن آﺧﺮ وﻟﻜﻦ اﻟﻤﮭﻢ أن‬
‫ﯾﻜﻮن ﻣﻮﻗﻊ اﻟﺨﻼﯾﺎ ﻣﺴﺠﻼ ﻓﻲ ﺧﻮاص اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪30‬‬


‫ﯾﻤﻜﻨﻚ اﻵن اﺧﺘﺒﺎر ﻋﻤﻞ اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ‪ .‬ﻻﺣﻆ أﻧﻚ ﻗﺪ ﺗﻮاﺟﮫ ﻣﺸﻜﻠﺔ إذا ﻛﻨﺖ ﻗﺪ اﺳﺘﺨﺪﻣﺖ ‪Sum‬‬
‫‪ function‬ﻟﺠﻤﻊ ﺗﻜﻠﻔﺔ اﻟﻤﻮاد‪ .‬ﻟﺬﻟﻚ ﯾﻔﻀﻞ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ اﺳﺘﺨﺪام “‪ ”+‬أي ﺟﻤﻊ اﻟﺨﻼﯾﺎ ﺑﺎﺳﺘﺨﺪام‬
‫“‪.”+‬‬

‫ﯾﻤﻜﻨﻚ ﻣﺤﺎوﻟﺔ اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﺎﻗﻲ اﻷدوات اﻟﻤﺘﺎﺣﺔ ﻓﻲ ﺻﻨﺪوق أدوات اﻟﺘﺤﻜﻢ وﺗﺠﺮﺑﺘﮭﺎ‪ .‬ھﺬا اﻻﺳﺘﺨﺪام‬
‫ﯾﻌﺘﺒﺮ اﺳﺘﺨﺪاﻣﺎ ﻣﺤﺪودا ﻟﮭﺬه اﻷدوات ﺣﯿﺚ أﻧﮫ ﯾﻤﻜﻨﻨﺎ رﺑﻂ ھﺬه اﻻدوات ﺑﺒﺮاﻣﺞ )ﻣﺎﻛﻮ( ﺗﻘﻮم ﺑﺘﻨﻔﯿﺬ‬
‫وﻇﺎﺋﻒ ﻣﺤﺪدة ﻋﻨﺪ ﻗﯿﺎم اﻟﻤﺴﺘﺨﺪم ﺑﺎﺧﺘﺒﺎرات ﻣﺤﺪدة‪ .‬وﻗﺪ ﻧﺴﺘﻌﺮض ذﻟﻚ إن ﺷﺎء اﷲ ﻓﻲ ﻣﻘﺎﻟﺔ ﻗﺎدﻣﺔ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪31‬‬


‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ‪ /‬إﻛﺴﻞ ‪ -‬ﺗﻄﺒﯿﻘﺎت ﻣﺘﻘﺪﻣﺔ‬
‫اﻏﺴﻄﺲ ‪ 2007 ,30‬ﻓﻲ ‪ 3:28‬م ·‬

‫ﺖ ﻓﻲ ﻋﺪة ﻣﻘﺎﻻت ﺳﺎﺑﻘﺔ ﻓﻮاﺋﺪ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ وﻣﺒﺎدئ اﺳﺘﺨﺪاﻣﮫ‪ .‬ﻓﻲ ھﺬه اﻟﻤﻘﺎﻟﺔ أﺣﺎول اﺳﺘﻌﺮاض‬
‫ﻧﺎﻗﺸ ُ‬
‫ﻛﯿﻔﯿﺔ اﺳﺘﺨﺪام أدوات اﻟﺘﺤﻜﻢ ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ ﻣﻊ ﺑﻌﺾ اﻟﺒﺮﻣﺠﺔ‪.‬‬

‫ﺗﻄﺒﯿﻖ ‪:1‬‬

‫اﻓﺘﺮض أﻧﻚ ﺗﺮﯾﺪ أن ﺗﺴﺘﻌﺮض ﺑﯿﺎﻧﺎت اﻟﻤﺒﯿﻌﺎت واﻟﻤﺼﺎرﯾﻒ اﻟﺸﮭﺮﯾﺔ ‪-‬ﻛﺎﻟﺘﻲ ﺑﺎﻟﺠﺪول أدﻧﺎه ‪ -‬ﻋﻠﻰ‬
‫ﺻﻮرة رﺳﻢ ﺑﯿﺎﻧﻲ ﯾﺮﺑﻂ ﺑﯿﻦ ﻣﺘﻐﯿﺮ واﺣﺪ ﻣﻦ ھﺬه اﻟﻤﺘﻐﯿﺮات ﻣﻊ اﻟﺰﻣﻦ )اﻟﺸﮭﻮر(‪ .‬ﯾﻤﻜﻨﻨﺎ أن ﻧﺮﺳﻢ اﻟﻌﺪﯾﺪ‬
‫ﻣﻦ اﻟﺮﺳﻮﻣﺎت اﻟﺒﯿﺎﻧﯿﺔ ﻋﻦ ﻃﺮﯾﻖ إﻛﺴﻞ وﻟﻜﻦ ھﺬا ﯾﺠﻌﻞ ﺷﻜﻞ اﻟﺼﻔﺤﺔ ﻏﯿﺮ ﻣﺮﯾﺢ وﯾﺠﻌﻞ اﻟﺘﻨﻘﻞ ﺑﯿﻦ‬
‫اﻟﺮﺳﻮﻣﺎت أﻣﺮا ﻋﺴﯿﺮا‬

‫ﯾﻤﻜﻨﻨﺎ اﺳﺘﺨﺪام أدوات اﻟﺘﺤﻜﻢ ﻣﻊ ﺑﺮﻧﺎﻣﺞ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﺻﻐﯿﺮ ﻟﻠﻘﯿﺎم ﺑﻨﻔﺲ اﻟﻤﮭﻤﺔ ﺑﺸﻜﻞ ﺟﻤﯿﻞ وﯾﺴﯿﺮ‪.‬‬

‫اﺑﺪأ ﺑﺮﺳﻢ اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺸﮭﻮر وﻣﺒﯿﻌﺎت اﻟﻤﻨﺘﺞ اﻷول‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪32‬‬


‫اﺑﺪأ ﺑﺘﺴﺠﯿﻞ ﻣﺎﻛﺮو ﺛﻢ ﻗﻢ ﺑﺘﻐﯿﯿﺮﻣﺼﺪر اﻟﺒﯿﺎﻧﺎت ‪ Source Data‬ﻟﻠﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﺑﺤﯿﺚ ﺗﻜﻮن اﻟﻌﻼﻗﺔ ﺑﯿﻦ‬
‫اﻟﺸﮭﻮر وﻣﺒﯿﻌﺎت اﻟﻤﻨﺘﺞ اﻟﺜﺎﻧﻲ‪ .‬أوﻗﻒ ﺗﺴﺠﯿﻞ اﻟﻤﺎﻛﺮو ﺛﻢ ﺗﺼﻔﺢ ھﺬا اﻟﻤﺎﻛﺮو ﻓﻲ ﻣﺤﺮر ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬
‫‪ VBE‬ﻓﺘﺠﺪه اﻵﺗﻲ‬

‫)(‪Sub Macro1‬‬
‫‪ActiveSheet.ChartObjects(”Chart 1”).Activate‬‬
‫‪ActiveChart.PlotArea.Select‬‬
‫‪ActiveChart.SetSourceData‬‬
‫_ ‪Source:=Sheets(”Sheet1”).Range(”B4:B16,E4:E16”),‬‬
‫‪PlotBy:=xlColumns‬‬
‫‪End Sub‬‬

‫ﻋﻦ ﻃﺮﯾﻖ ﺗﺴﺤﯿﻞ ھﺬا اﻟﻤﺎﻛﺮو ﻧﺴﺘﻄﯿﻊ اﻟﺘﻌﺮف ﻋﻠﻰ اﻷواﻣﺮ اﻟﻼزﻣﺔ ﻓﻲ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﺘﻐﯿﯿﺮ اﻟﻤﺘﻐﯿﺮات‬
‫ﻓﻲ اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ‪ .‬وھﺬا ﻣﺎ ﺳﻮف ﻧﺤﺘﺎﺟﮫ ﻓﻲ ﺧﻄﻮة ﻻﺣﻘﺔ‪.‬‬

‫ﻟﻨﺒﺪأ ﻓﻲ اﺳﺘﺨﺪام أدوات اﻟﺘﺤﻜﻢ وﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻜﻲ ﻧﺴﺘﻄﯿﻊ اﺳﺘﻌﺮاض اﻟﻌﻼﻗﺔ ﺑﯿﻦ أي ﻣﺘﻐﯿﺮ واﻟﺸﮭﻮر‬
‫ﺣﺴﺐ رﻏﺒﺘﻨﺎ‬

‫ﺗﺄﻛﺪ أﻧﻚ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ‪ Design Mode‬ﺛﻢ اﻓﺘﺢ ﻗﺎﺋﻤﺔ أدوات اﻟﺘﺤﻜﻢ ﻛﻤﺎ ﻓﻌﻠﻨﺎ ﻓﻲ اﻟﻤﻘﺎﻟﺔ اﻟﺴﺎﺑﻘﺔ‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪33‬‬


‫اﺧﺘﺮ زر اﺧﺘﯿﺎرات ‪ Option Button‬ﺛﻢ ﻗﻢ ﺑﻮﺿﻌﮫ ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ‬
‫رﺳﻢ اﻷﺷﻜﺎل‬

‫ﻗﻢ ﺑﻨﺴﺦ ھﺬا اﻟﺰر وﻗﻢ ﺑﻌﻤﻞ أرﺑﻊ ﻧﺴﺦ ﻣﻨﮫ ﺑﺤﯿﺚ ﯾﻜﻮن ﻟﺪﯾﻚ ﺧﻤﺲ زر اﺧﺘﯿﺎرات ‪Option‬‬
‫‪Buttons‬‬

‫ﻗﻒ ﻋﻠﻰ أول زر اﺧﺘﯿﺎرات واﺿﻐﻂ ﻋﻠﻰ اﻟﻔﺄرة ﯾﻤﯿﻨﺎ ﺛﻢ اﺧﺘﺮ ﺧﻮاص ‪ .Properties‬اﺑﺤﺚ ﻋﻦ‬
‫ﺧﺎﺻﯿﺔ ‪ Caption‬أي اﺳﻢ اﻟﺰر وﻗﻢ ﺑﺘﻐﯿﯿﺮ اﺳﻢ اﻟﺰر إﻟﻰ ﻣُﺴﻤﻰ اﻟﻤﺘﻐﯿﺮات ﻓﻲ اﻟﺠﺪول أﻋﻼه ﺑﺤﯿﺚ‬
‫ﺗﺒﺪأ ﺑـ ‪ Sales of Product A‬وﺗﻨﺘﮭﻲ ﺑـ ‪Cost‬‬

‫ﻻﺣﻆ أن اﻟﺨﻠﻔﯿﺔ اﻟﺤﻤﺮاء اﻟﺘﻲ ﻓﻲ اﻟﺸﻜﻞ أﻋﻼه ھﻲ ﻟﻮن ﺧﻼﯾﺎ إﻛﺴﻞ‪ .‬ﯾﻤﻜﻨﻚ ﺗﻐﯿﯿﺮھﺎ ﻟﻠﻮن ﻏﯿﺮ اﻟﻠﻮن‬
‫اﻷﺑﯿﺾ ﻟﻜﻲ ﯾﻜﻮن اﻟﺸﻜﻞ واﺿﺤﺎ إن أردت‬

‫ﻧﺮﯾﺪ اﻵن أن ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ ﻣﺎﻛﺮو ﯾﻘﻮم ﺑﺘﻐﯿﯿﺮ اﻟﻤﺘﻐﯿﺮ ﻓﻲ اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﻋﻨﺪ اﺧﺘﯿﺎر ﻛﻞ زر ﻣﻦ ھﺬه‬
‫اﻷزرار‪.‬‬

‫ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻣﺮﺗﯿﻦ ﻋﻠﻰ زر اﻻﺧﺘﯿﺎرات ‪- Double Click‬وأﻧﺖ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ‪ -‬ﻓﯿﻈﮭﺮ ﻟﻚ ﻣﺤﺮر‬
‫ﻓﯿﺠﻮال ﺑﯿﺴﻚ ‪VBE‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪34‬‬


‫ ﻧﻮد اﻵن ﻛﺘﺎﺑﺔ ﺟﻤﻠﺔ‬.‫ ﻛﻤﺎ ھﻮ واﺿﺢ ﻣﻦ ﻋﻨﻮاﻧﮫ‬Click ‫ھﺬا اﻟﻤﺎﻛﺮو ﯾﺘﻢ ﺗﻨﻔﯿﺬه ﻋﻨﺪ اﺧﺘﯿﺎر ھﺬا اﻟﺰر‬
‫ وﻟﻜﻦ ﺳﻮف ﻧﻘﻮم‬.‫ ﻓﻲ أﻋﻠﻰ اﻟﺼﻔﺤﺔ‬- ‫ﻣﺸﺎﺑﮭﺔ ﻟﺘﻠﻚ اﻟﺘﻲ ﺣﺼﻠﻨﺎ ﻋﻠﯿﮭﺎ ﻋﻨﺪﻣﺎ ﻗﻤﻨﺎ ﺑﺘﺴﺠﯿﻞ ﻣﺎﻛﺮو‬
‫ﺑﺎﺧﺘﺼﺎره وﺗﻌﺪﯾﻠﮭﺎ ﻛﺎﻟﺘﺎﻟﻲ‬

ChartObjects(”Chart 1”).Chart.SetSourceData
Source:=Sheets(”Sheet1”).Range(”B4:B16,c4:c16”)

‫ وﻟﻜﻦ ﻣﻊ ﺗﻐﯿﯿﺮ ﻣﺼﺪر‬Option Button ‫ﺳﻮف ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ ﻧﻔﺲ اﻟﺠﻤﻠﺔ ﻟﻜﻞ زر اﺧﺘﯿﺎرات‬
‫اﻟﻤﻌﻠﻮﻣﺎت ﻓﻲ ﻛﻞ ﺣﺎﻟﺔ ﺣﺴﺐ اﻟﻌﻤﻮد اﻟﺬي ﻧﺮﻏﺐ ﻓﻲ إﻇﮭﺎره ﻋﻨﺪ اﺧﺘﯿﺎر ﻛﻞ زر ﻓﻨﺤﺼﻞ ﻋﻠﻰ اﻟﺒﺮﻧﺎﻣﺞ‬
‫اﻟﺘﺎﻟﻲ‬

Private Sub OptionButton1_Click()


ChartObjects(”Chart 1”).Chart.SetSourceData
Source:=Sheets(”Sheet1”).Range(”B4:B16,c4:c16”)
End Sub

Private Sub OptionButton2_Click()


ChartObjects(”Chart 1”).Chart.SetSourceData
Source:=Sheets(”Sheet1”).Range(”B4:B16,d4:d16”)
End Sub

Private Sub OptionButton3_Click()


ChartObjects(”Chart 1”).Chart.SetSourceData
Source:=Sheets(”Sheet1”).Range(”B4:B16,e4:e16”)
End Sub

Private Sub OptionButton4_Click()


ChartObjects(”Chart 1”).Chart.SetSourceData

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ 35


‫)”‪Source:=Sheets(”Sheet1”).Range(”B4:B16,f4:f16‬‬
‫‪End Sub‬‬

‫)(‪Private Sub OptionButton5_Click‬‬


‫‪ChartObjects(”Chart 1”).Chart.SetSourceData‬‬
‫)”‪Source:=Sheets(”Sheet1”).Range(”B4:B16,g4:g16‬‬
‫‪End Sub‬‬

‫ﯾُﻤﻜﻨﻨﺎ اﻵن ﺗﺠﺮﺑﺔ ﻋﻤﻞ ھﺬه اﻷزرار واﻟﺘﻲ ﺳﻮف ﺗﺘﺴﺒﺐ ﻓﻲ ﺗﻐﯿﺮ ﻣﺤﺘﻮﯾﺎت اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﺣﺴﺐ‬
‫اﻻﺧﺘﯿﺎر ﻓﻌﻨﺪﻣﺎ ﺗﺨﺘﺎر زر اﻟﺘﻜﻠﻔﺔ ‪ Cost‬ﺗﺠﺪ أن اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﯾﺮﺳﻢ اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺘﻜﻠﻔﺔ واﻟﺸﮭﻮر وﻋﻨﺪﻣﺎ‬
‫ﺗﺨﺘﺎر اﻟﻤﻨﺘﺞ اﻟﺜﺎﻧﻲ ﺗﺠﺪ أن اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﯾﺮﺳﻢ اﻟﻌﻼﻗﺔ ﺑﯿﻦ ﻣﺒﯿﻌﺎت اﻟﻤﻨﺘﺞ اﻟﺜﺎﻧﻲ واﻟﺸﮭﻮر‪.‬‬

‫ﯾﻤﻜﻨﻚ ﺗﺼﻮر ﻋِﻈﻢ ﻓﺎﺋﺪة ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻋﻨﺪﻣﺎ ﯾﻜﻮن ﻟﺪﯾﻚ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻤﺘﻐﯿﺮات واﻟﺘﻲ ﺗﺮﯾﺪ ﺗﺤﻠﯿﻠﮭﺎ ﻋﻦ‬
‫ﻃﺮﯾﻖ اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ‪ .‬ﻻﺣﻆ أﻧﻚ ﺗﺴﺘﻄﯿﻊ ﺑﺴﮭﻮﻟﺔ اﺳﺘﺨﺪام ﻧﻔﺲ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻊ أي ﻣﻠﻒ آﺧﺮ ﺑﺈﺟﺮاء ﺑﻌﺾ‬
‫اﻟﺘﻌﺪﯾﻼت اﻟﺒﺴﯿﻄﺔ‪.‬‬

‫ھﺬا اﻟﻤﺜﺎل أوﺿﺢ ﻟﻨﺎ ﻛﯿﻔﯿﺔ ﺑﺮﻣﺠﺔ أدوات اﻟﺘﺤﻜﻢ وذﻟﻚ ﺑﻜﺘﺎﺑﺔ ﻣﺎﻛﺮو ﻣﺼﺎﺣﺐ ﻟﺒﻌﺾ اﻷﺣﺪاث اﻟﺘﻲ‬
‫ﺗﺤﺪث ﻋﻠﻰ ھﺬه اﻷدوات‪ .‬ﻓﻲ ھﺬا اﻟﻤﺜﺎل اﻛﺘﻔﯿﻨﺎ ﺑﻤﺎﻛﺮو ﯾﻌﻤﻞ ﻋﻨﺪ اﻟﻀﻐﻂ ‪ Click‬ﻋﻠﻰ اﻟﺰر ‪Option‬‬
‫‪ .Button‬وھﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ اﻷﺣﺪاث اﻷﺧﺮى اﻟﺘﻲ ﻗﺪ ﻧﺤﺘﺎج ﻓﻲ أﻣﺜﻠﺔ أﺧﺮى أن ﻧﺒﻨﻲ ﻟﮭﺎ ﻣﺎﻛﺮو‬
‫ﻣﺼﺎﺣﺐ ﻟﺤﺪوﺛﮭﺎ‪.‬‬

‫ﺗﻄﺒﯿﻖ ‪:2‬‬

‫ﻟﻮ اﻓﺘﺮﺿﻨﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ أن ﻋﺪد اﻟﻤﺘﻐﯿﺮات ﻛﺒﯿﺮ ﺟﺪا ‪ -‬أﻛﺜﺮ ﻣﻦ ‪ 10‬ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل‪ -‬ﻓﺈن أزرار‬
‫اﻻﺧﺘﯿﺎر ‪ Option Buttons‬ﺗﺼﺒﺢ ﻛﺜﯿﺮة ﺟﺪا ﺑﺸﻜﻞ ﻣﺰﻋﺞ‪ .‬دﻋﻨﺎ ﻧُﺠﺮب اﺳﺘﺨﺪام اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ‬
‫ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ‪.‬‬

‫اﻓﺘﺢ ﻗﺎﺋﻤﺔ أدوات اﻟﺘﺤﻜﻢ واﺧﺘﺮ اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ ‪ Combobox‬وﻗﻢ ﺑﺮﺳﻤﮫ ﻛﺎﻟﻤﻌﺘﺎد‪ .‬اﺿﻐﻂ ﻋﻠﻰ‬
‫اﻟﻔﺄرة ﯾﻤﯿﻨﺎ واﺧﺘﺮ ﺧﻮاص ‪.Properties‬‬

‫ﺳﻨﻘﻮم ﺑﺘﺤﺪﯾﺪ ﻣﺼﺪر ﻣﻌﻠﻮﻣﺎت اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ ﻋﻦ ﻃﺮﯾﻖ ﺧﺎﺻﯿﺔ ‪ .ListFillRange‬وﻟﻜﻦ ﯾﺠﺐ‬
‫أن ﯾﻜﻮن ﻣﺼﺪر اﻟﻤﻌﻠﻮﻣﺎت ﻋﻤﻮدا وﻟﯿﺲ ﺻﻔﺎ ﻷن ھﺬه اﻟﺨﺎﺻﯿﺔ ‪ ListFillRange‬ﻻ ﺗﻘﺒﻞ أن ﺗﻜﻮن‬
‫ﺻﻔﺎ‪ .‬ﻟﺬﻟﻚ ﺳﻨﻘﻮم ﺑﻨﺴﺦ وإﻋﺎدة ﻟﺼﻖ اﻟﺨﻼﯾﺎ ‪ C4:G4‬ﻓﻲ أي ﻋﻤﻮد وﻟﯿﻜﻦ اﻟﻌﻤﻮد ‪ Z‬ﻋﻦ ﻃﺮﯾﻖ‬

‫‪Copy…Pate /Transpose‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪36‬‬


‫ﻛﻤﺎ ﺗﻌﻠﻢ ﻓﺈن ‪ Transpose‬ﺗﻘﻮم ﺑﻨﺴﺦ اﻟﺼﻒ ﻓﻲ ﻋﻤﻮد وﺑﺎﻟﺘﺎﻟﻲ ﯾﻜﻮن ﻟﺪﯾﻨﺎ ﻧﻔﺲ اﻟﻤﻌﻠﻮﻣﺎت ﻓﻲ‬
‫ﻋﻤﻮد‪.‬‬

‫ﻧﻔﺘﺮض أﻧﻨﺎ وﺿﻌﻨﺎ اﻟﺨﻼﯾﺎ اﻟﻤﻨﺴﻮﺧﺔ ﻓﻲ اﻟﻌﻤﻮد ‪ Z‬ﻓﻘﻢ ﺑﺘﻐﯿﯿﺮﺧﺎﺻﯿﺔ ‪ ListFillRange‬إﻟﻰ‬


‫‪.Z1:Z5‬‬

‫ﻋﻨﺪ اﻟﺨﺮوج ﻣﻦ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ﯾﻜﻮن ﺷﻜﻞ اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ ﻋﻨﺪ ﻓﺘﺤﮫ ﻛﺎﻟﺘﺎﻟﻲ‬

‫ﻋﻠﯿﻨﺎ أن ﻧﻜﺘﺐ ﻣﺎﻛﺮو ﯾَﻘﻮم ﺑﺘﻐﯿﯿﺮ اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﺑﻨﺎء ﻋﻠﻰ اﻻﺧﺘﯿﺎر ﻓﻲ اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ‪ .‬ﻻﺑﺪ أن ﻧﺘﻌﺮف‬
‫أوﻻ ﻋﻠﻰ رﻗﻢ اﻻﺧﺘﯿﺎر ﺑﻤﻌﻨﻰ أﻧﮫ اﻻﺧﺘﯿﺎر اﻷول أو اﻟﺜﺎﻧﻲ أو اﻟﺜﺎﻟﺚ…‪.‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ وﺑﺎﻟﺘﺎﻟﻲ ﯾﻤﻜﻨﻨﺎ ﺗﺤﺪﯾﺪ‬
‫رﻗﻢ اﻟﻌﻤﻮد اﻟﻤﻨﺎﻇﺮ ﻟﮭﺬا اﻻﺧﺘﯿﺎر‪ .‬ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﺗﻐﯿﯿﺮ ﻣﺼﺪر اﻟﻤﻌﻠﻮﻣﺎت ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ‬

‫)(‪Private Sub ComboBox1_Change‬‬


‫‪j = 3 + ComboBox1.ListIndex‬‬
‫‪myrange = Sheets(”Sheet1”).Range(Cells(4, j), Cells(16,‬‬
‫‪j)).Address‬‬
‫‪ChartObjects(”Chart 1”).Chart.SetSourceData‬‬
‫)‪Source:=Sheets(”Sheet1”).Range(myrange‬‬
‫‪End Sub‬‬

‫اﻟﻤﺘﻐﯿﺮ ‪ J‬ﯾﺘﻢ ﺣﺴﺎﺑﮫ ﺑﺈﺿﺎﻓﺔ ﺛﺎﺛﺔ ﻟﺮﻗﻢ اﻻﺧﺘﯿﺎر ﻣﻦ اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ‪ .‬رﻗﻢ اﻻﺧﺘﯿﺎر ﯾﺘﻢ ﺗﺤﺪﯾﺪه ﻋﻦ ﻃﺮﯾﻖ‬
‫‪ Combobox1.ListIndex‬واﻟﺬي ﯾﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ ﺛﻢ واﺣﺪ وھﻜﺬا أي أﻧﮫ ﻋﻨﺪ اﺧﺘﯿﺎر ﻣﺒﯿﻌﺎت‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪37‬‬


‫اﻟﻤﻨﺘﺞ اﻷول ﺗﻜﻮن ﻗﯿﻤﺔ اﻻﺧﺘﯿﺎر ھﻲ ﺻﻔﺮ وﺑﺎﻟﺘﺎﻟﻲ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ J‬ھﻲ ‪ .3‬ﯾﺘﻢ إﺿﺎﻓﺔ ﺛﻼﺛﺔ ﻷن اﻻﺧﺘﯿﺎر‬
‫اﻻول ﻣﻨﺎﻇﺮ ﻟﻠﻌﻤﻮد اﻟﺜﺎﻟﺚ ﻓﻲ ﺻﻔﺤﺔ إﻛﺴﻞ وھﻜﺬا‪.‬‬

‫ﺑﮭﺬه اﻟﻄﺮﯾﻘﺔ أﻣﻜﻨﻨﺎ اﺳﺘﺨﺪام اﻟﺼﻨﺪوق اﻟﻤﺘﺪﻟﻲ ‪ Combobox‬ﺑﺪﻻ ﻣﻦ أزرار اﻻﺧﺘﯿﺎرات ‪Option‬‬
‫‪ Buttons‬وﻛﻤﺎ ﺗﺮى ﻓﻜﻼ ﻣﻨﮭﻤﺎ ﻟﮫ ﻣﺰاﯾﺎه‪.‬‬

‫ﺗﻄﺒﯿﻖ ‪:3‬‬

‫ﻟﻨﻔﺘﺮض أﻧﻨﺎ ﻧﺮﯾﺪ ‪ -‬ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ‪ -‬أن ﯾﻜﻮن ﻟﺪﯾﻨﺎ وﺳﯿﻠﺔ ﻹﻇﮭﺎر وإﺧﻔﺎء اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ‬

‫اﺿﻐﻂ ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ‪Design Mode‬‬

‫اﻓﺘﺢ ﻗﺎﺋﻤﺔ أدوات اﻟﺘﺤﻜﻢ‬

‫أﺿﻒ زر أواﻣﺮ ‪ Command Button‬ﺛﻢ أﺿﻒ واﺣﺪ آﺧﺮ ﻓﯿﻜﻮن ﻟﺪﯾﻨﺎ اﺛﻨﺎن ‪Command‬‬
‫‪Button‬‬

‫ﻗﻒ ﻋﻠﻰ أﺣﺪھﻤﺎ واﺿﻐﻂ ﯾﻤﯿﻨﺎ ﻋﻠﻰ اﻟﻔﺄرة ﺛﻢ اﺧﺘﺮ ﺧﻮاص ‪Properties‬‬

‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻣﺴﻤﻰ اﻟﺰر ‪ Caption‬اﻷول إﻟﻰ ‪ View‬ﺛﻢ اﺧﺘﺮ اﻟﺰر اﻟﺜﺎﻧﻲ وﻏﯿﱢﺮ اﻟﻤﺴﻤﻰ إﻟﻰ ‪Hide‬‬

‫اﺿﻐﻂ ﻣﺮﺗﯿﻦ ‪Double Click‬ﻋﻠﻰ اﻟﺰر اﻷول ﻟﻜﻲ ﺗﻜﺘﺐ اﻟﻤﺎﻛﺮو اﻟﻤﺼﺎﺣﺐ ﻟﻠﻀﻐﻂ ﻋﻠﯿﮫ ﺛﻢ اﻛﺘﺐ‬
‫اﻟﺴﻄﺮ اﻟﺘﺎﻟﻲ داﺧﻞ اﻟﻤﺎﻛﺮو ﻓﯿﻜﻮن اﻟﻤﺎﻛﺮو ﻛﺎﻟﺘﺎﻟﻲ‬

‫)(‪Private Sub CommandButton1_Click‬‬


‫‪ChartObjects(”Chart 1”).Visible = -1‬‬
‫‪End Sub‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪38‬‬


‫اﻟﺴﻄﺮ اﻷوﺳﻂ ﯾﻌﻨﻲ أن اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﻇﺎھﺮا‪ .‬اﻵن ﻗﻢ ﺑﻌﻤﻞ ﻧﻔﺲ اﻟﺸﻲء ﻣﻊ اﻟﺰر اﻵﺧﺮ وﻟﻜﻦ اﻟﻤﺎﻛﺮو‬
‫ﺳﯿﻜﻮن ﻛﺎﻟﺘﺎﻟﻲ‬
‫)(‪Private Sub CommandButton1_Click‬‬
‫‪ChartObjects(”Chart 1”).Visible = 0‬‬
‫‪End Sub‬‬

‫اﻟﻘﯿﻤﺔ ‪ 0‬ﺗﻌﻨﻲ أن اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﻏﯿﺮ ﻇﺎھﺮ‬

‫اﺧﺮج ﻣﻦ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ أﯾﻘﻮﻧﺔ ‪Mode Exit design‬‬

‫ﻗﻢ ﺑﺘﺠﺮﺑﺔ ﻋﻤﻞ اﻟﺰرﯾﻦ وﯾﻨﺒﻐﻲ أن ﺗﺠﺪ أن ‪ View‬ﺗُﻈﮭﺮ اﻟﺮﺳﻢ ﺑﯿﻨﻤﺎ ‪ Hide‬ﺗُﺨﻔﻲ اﻟﺮﺳﻢ‬

‫ﺗﻄﺒﯿﻖ ‪:4‬‬

‫ﺣﺎول ﺗﻨﻔﯿﺬ ﻋﻤﻠﯿﺔ إﻇﮭﺎر وإﺧﻔﺎء اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﻋﻦ ﻃﺮﯾﻖ ﺻﻨﺪوق اﺧﺘﯿﺎر ‪ Check box‬ﺑﺪﻻ ﻣﻦ زر‬
‫اﻷواﻣﺮ ‪Command Button‬‬

‫ﺗﺤﻮل إﻟﻰ ﺣﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻷﯾﻘﻮﻧﺔ اﻟﺨﺎﺻﺔ ﺑﺤﺎﻟﺔ اﻟﺘﺼﻤﯿﻢ ﺛﻢ اﻓﺘﺢ ﻗﺎﺋﻤﺔ أدوات اﻟﺘﺤﻜﻢ‬

‫أﺿﻒ ﺻﻨﺪوق اﺧﺘﯿﺎر إﻟﻰ ﺻﻔﺤﺔ إﻛﺴﻞ‬

‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻣﺴﻤﻰ اﻟﺼﻨﺪوق ‪ Caption‬ﻣﻦ ‪ Checkbox1‬إﻟﻰ ‪Hide / View‬‬

‫اﺿﻐﻂ ﻣﺮﺗﯿﻦ ﻟﻜﺘﺎﺑﺔ اﻟﻤﺎﻛﺮو اﻟﻤﺼﺎﺣﺐ ﻻﺧﺘﯿﺎر وﻋﺪم اﺧﺘﯿﺎر ﺻﻨﺪوق اﻻﺧﺘﯿﺎر وھﻮ ﻛﺎﻟﺘﺎﻟﻲ‬

‫)(‪Private Sub CheckBox1_Click‬‬


‫‪m = CheckBox1.Value‬‬
‫‪If m = True Then‬‬
‫‪ChartObjects(”Chart 1”).Visible = -1‬‬
‫‪Else‬‬
‫‪ChartObjects(”Chart 1”).Visible = 0‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪39‬‬


‫‪End If‬‬
‫‪End Sub‬‬

‫وأﺗﺮك ﻟﻠﻘﺎرئ ﻓﮭﻢ ﺧﻄﻮات ھﺬا اﻟﻤﺎﻛﺮو‬

‫ﺑﺬﻟﻚ ﻧﻜﻮن ﻗﺪ اﺳﺘﻌﺮﺿﻨﺎ اﻟﻌﺪﯾﺪ ﻣﻦ اﻷدوات وﻛﯿﻔﯿﺔ ﺑﺮﻣﺠﻨﮭﺎ ﻣﻊ ﺑﺮﻧﺎﻣﺞ إﻛﺴﻞ‪ .‬ھﻨﺎك أدوات أﺧﺮى‬
‫واﻟﺘﻲ ﯾﻤﻜﻨﻚ ﺗﺠﺮﺗﮭﺎ وﻓﮭﻢ وﻇﺎﺋﻔﮭﺎ‪ .‬ﻛﻤﺎ ﺗﺮى ﻓﺈن اﻻﺳﺘﺨﺪام اﻟﺒﺴﯿﻂ واﻟﺴﺮﯾﻊ ﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﯾﺴﺎﻋﺪﻧﺎ ﻋﻠﻰ‬
‫دراﺳﺔ اﻟﻤﺘﻐﯿﺮات ﺑﺴﮭﻮﻟﺔ وھﻮ ﻣﺎ ﯾﻨﻌﻜﺲ ﻋﻠﻰ ﻗﺪرﺗﻨﺎ ﻋﻠﻰ اﺗﺨﺎذ اﻟﻘﺮارات‪ .‬ﺣﺎول اﻟﺘﻔﻜﯿﺮ ﻓﻲ اﻷﻣﻮر اﻟﺘﻲ‬
‫ﺗﻤﻨﯿﺖ ﻟﻮ اﺳﺘﻄﻌﺖ ﺗﻨﻔﯿﺬھﺎ ﻓﻲ إﻛﺴﻞ ﺑﺸﻜﻞ أﻛﺜﺮ ﻛﻔﺎءة وﻟﻢ ﺗﺴﺘﻄﻊ‪ .‬ﺣﺎول اﺳﺘﺨﺪام ھﺬه اﻷداوت ﻟﺘﻨﻔﯿﺬھﺎ‪.‬‬

‫ﻣﻮﻗﻊ اﻹدارة واﻟﮭﻨﺪﺳﺔ اﻟﺼﻨﺎﻋﯿﺔ‬ ‫‪40‬‬

You might also like