نمایش مجموع فروش به تفکیک استان بر روی نقشه

 

بعد از انتشار مقاله مربوط به مجموع فروش به تفکیک استان، دوستان زیادی پیام دادند و نحوه نمایش داده‌ها را بر روی نقشه پرسیده بودند. با توجه به تعداد پیام‌ها تصمیم گرفتم که در این مقاله و چند مقاله بعدی بر روی این موضوع کار کنم.

برای نمایش داده‌ها بر روی نقشه دو روش اصلی وجود دارد استفاده از قابلیت Shape‌ در اکسل و قابلیت Power Map . در روش Shape‌ یک تصویر به اکسل اضافه می‌شود و سپس با کمک ابزار FreeForm شکل تصویر کشیده می‌شود و در روش Power Map از نقشه سایت Bing‌ استفاده می‌شود. در این مقاله روش اول بررسی می‌شود.

فرض کنید که جدولی از مقدار فروش در هر استان دارید و می‌خواهید مقدار فروش هر استان را بر روی نقشه نمایش دهید. برای انجام این کار، ابتدا باید شکل نقشه ایران را به اکسل اضافه کنید. من شکل نقشه ایران را نداشتم بنابراین مثل همیشه دست به دامن گوگل شدم و نقشه ایران را تو گوگل سرچ کردم. یکی از نقشه‌ها را انتخاب کردم و با کلیک راست روی عکس و انتخاب گزینه Copy Image (البته اگر مثل من از کروم استفاده می‌کنید) عکس را کپی کردم.

 

بعد هم یک فایل اکسل باز کردم و نقشه را در آن past کردم. با کمک ابزار FreeForm دور هر استان خط کشیدم و مرز آن را مشخص کردم. در نهایت هم اسم استان را به انگلیسی مشخص کردم.

در مرحله بعد هم تصویر نقشه را که از اینترنت پیدا کرده بودم را با دکمه Delete روی کیبورد حذف کردم. با کلیدهای Ctrl + A‌ تمام Shape‌هایی که کشیده بودم را انتخاب کردم، سپس کلیک راست و گزینه Group. حالا یک Shape دارم که به شکل نقشه ایران است.

 

جدولی مشابه تصویر زیر آماده کردم که مقدار فروش در هر استان را نشان می‌دهد. نام استان هم به انگلیسی و هم به فارسی درج شده است. اسم انگلیسی برای نمایش روی نقشه الزامی است و باید دقیقا مشابه همان اسامی باشد که هنگام ساخت شکل نقشه استفاده کردیم.

 

 

کنار نقشه رده بندی فروش و رنگ آن را مشخص کردم. در صورتی که فروش هر استان بین ۱ تا ۲۰ باشد، استان به رنگ قرمز نمایش داده شود. در صورتی که فروش استان بین ۲۰ تا ۷۰ باشد به رنگ زرد نمایش داده شود و در صورتی که بیشتر از ۷۰ باشد، به رنگ سبز نمایش دارد.

 

برای اعمال این رنگ بندی باید سراغ ماکروها بروم. قبل از آن، ابتدا یک ستون به جدول اضافه می‌کنم و می‌نویسم که مقدار فروش به کدام رده بندی تعلق دارد. از تابع Match()‌ در اکسل استفاده کردم.

 

 

 

سپس با کمک ماکروها و اضافه کردن کد زیر ، رنگ رده بندی را به نقشه اضافه کردم.

 

 

Sub Macro1()

For i = 1 To 30
Ostan = Cells(i + 1, 3)
Colors = Cells(i + 1, 5)

ActiveSheet.Shapes.Range(Array(Ostan)).Select
Selection.ShapeRange.Fill.ForeColor.RGB = Cells(2 + Colors, 18).Interior.Color

Next i
End Sub

 

 

 

نتیجه نهایی به شکل زیر شد.

 

 

برای دریافت فایل مربوط به این آموزش لطفا ابتدا بر روی دکمه زیر کلیک کرده و سپس ایمیل خود را وارد نمایید.

 

24 دیدگاه برای “نمایش مجموع فروش به تفکیک استان بر روی نقشه

  1. حسین پارسا گفته:

    سلام و سپاس از آموزش ارایه شده که بسیار عالی و مفید توضیح داده اید.
    فقط در فیلم آخری، مطلب را دنبال کردم تا به عبارت زیر رسید:
    Selection.ShapeRange.Fill.ForeColor.RGB = Cells(2
    در اینجا چون سایز پنجره کوچک است، ادامه مطلب خوانده نمی شود، و بنابراین نمی توانم عملیات را تا انتها به نتیجه برسانم. اگر امکانش هست، عبارت کامل را برایم ایمیل بفرمایید.
    بسیار ممنون

  2. حسین عبدالباقری گفته:

    سلام جناب
    بنده این آموزش را برای یک شهر طراحی کردم ولی فایل VBA کار نمیکنه و من هم vba بلد نیستم اگه امکانش هست راهنمایی کنین لطفا.
    متشکرم

  3. حمیدرضا اسرافیلی گفته:

    سلام وقت شما بخیر
    بسیار تشکر میکنم از آموزشی که قرار دادید
    من به یک مشکل برخوردم در قسمت vba از خط چهارم ActiveSheet.Shapes.Range(Array(Ostan)).Select ایراد میگیره و ران نمیشه ، ایراد کار من کجاست؟
    با تشکر

  4. رزیتا گفته:

    سلام ممنون از توضیحاتتون من اگر بخواهم نقشه ایران را د راکسل بنحوی قرار دهیم که با کلیک بر روی هر استان مشخصات جمعیتی آنرا ببینم چگونه میسر میشود؟ممنون

    • مائده مقدم گفته:

      با سلام
      من به خطا شما دسترسی ندارم که بتونم راهنمایی کنم.

      اما فایل درست و بدون خطا در انتهای مقاله قرار داده شده است.
      لطفا فایل را دانلود نمایید و با ماکرو خودتون مقایسه کنید.

      در صورتی که فایل برای شما ایمیل نشد، حتما اسپم را بررسی فرمایید.

    • مائده مقدم گفته:

      با سلام و عرض ادب و ارادت دوست عزیزم
      امیدوارم حالتون عالی باشه

      مشکل خاصی ندارد. بر روی یک سلول کلیک فرمایید، کادر از بین می رود.

  5. حمید گفته:

    سلام وعرض ادب
    یک سوال دارم بعضی از فایلهای اکسل خصوصا داشبوردی به محض کلیک برروی فایل بصورت فول اسکرین دیده میشوند و غیر قابل ویرایش لطفا اگه برنامه ماکرو دارند میشه راهنمایی کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.