نحوه ایجاد یک ماکروی که لیست data validation را تغییر میدهد ؟

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • shahab47

    • 2015/04/13
    • 10

    نحوه ایجاد یک ماکروی که لیست data validation را تغییر میدهد ؟

    سلام

    توی فایل زیر من یک لیست توی ردیف c درست کردم و یک button هم کنارش قرار دادم که میخوام وقتی این دکمه رو کاربر میزنه لیست به طور خودکار به گزینه "انتخاب کنید" تغییر پیدا کنه

    مشکل اینجاست که من رکورد ماکرو رو میزنم و عملیات رو به صورت دستی انجام میدم و بعد استاپ میکنم ولی ماکرو عمل نمیکنه

    ممنون میشم کمک کنید که چطور این کار رو انجام بدم

    یه سوال دیگه : آیا امکان داره همین کار رو با combo کردن data validation و if انجام بدم . یعنی میشه که واسه یه سلول هم لیست ساخت و هم شرطی باشه ؟

    ممنون از توجهتون
    فایل های پیوست شده
  • DOLFIN

    • 2014/01/18
    • 149

    #2
    سلام در جواب سوال اول در قسمت ویژوال یک MODULE ایجاد کنید و این کد را درون آن قرار دهید بعد می توانید کد را به button نسبت دهید :
    * در کد زیر با تغییر رنج می توانید محدوده مورد نظر را تغییر دهید.
    کد:
    Sub EN()
    Sheet1.Range("C2:C5").Value = "انتخاب کنيد"
    End Sub
    در جواب سوال دوم بله امکانش هست . اما هر شرطی نیاز به یک آزمون منطقی دارد توضیح دهید که می خواهید این آزمون منطقی بر چه اساس تعریف شود ؟ براساس مقدار یک سلول و ... ؟
    [CENTER][FONT=times new roman][SIZE=7][I][B][COLOR=#0000ff] خانه اکسل - [url]http://excelhouse.blog.ir[/url][/COLOR][/B][/I][/SIZE]
    [/FONT][/CENTER]

    کامنت

    • sabertb

      • 2014/04/09
      • 347
      • 45.00

      #3
      نوشته اصلی توسط shahab47
      سلام

      توی فایل زیر من یک لیست توی ردیف c درست کردم و یک button هم کنارش قرار دادم که میخوام وقتی این دکمه رو کاربر میزنه لیست به طور خودکار به گزینه "انتخاب کنید" تغییر پیدا کنه

      مشکل اینجاست که من رکورد ماکرو رو میزنم و عملیات رو به صورت دستی انجام میدم و بعد استاپ میکنم ولی ماکرو عمل نمیکنه

      ممنون میشم کمک کنید که چطور این کار رو انجام بدم

      یه سوال دیگه : آیا امکان داره همین کار رو با combo کردن data validation و if انجام بدم . یعنی میشه که واسه یه سلول هم لیست ساخت و هم شرطی باشه ؟

      ممنون از توجهتون
      بله هم میشه در قسمت لیست در Data validation شرط با if بنویسید هم میشه با استفاده از دستور Indirect شبیه همچین کاری رو انجام داد به طوری که وقتی عنوان تغییر میکند لیست هم تغییر بکند. فایلتون هم اولا باید به صورت Macro Enable ذخیره شده باشه تا ماکرو هارو جواب بدهد و هم در قسمت Trust هم باید تنظیم بشه تا Save انجام بشه به آسانی.
      فایل های پیوست شده
      :min10::min18::min13::min22:

      کامنت

      • shahab47

        • 2015/04/13
        • 10

        #4
        نوشته اصلی توسط DOLFIN
        سلام در جواب سوال اول در قسمت ویژوال یک MODULE ایجاد کنید و این کد را درون آن قرار دهید بعد می توانید کد را به button نسبت دهید :
        * در کد زیر با تغییر رنج می توانید محدوده مورد نظر را تغییر دهید.
        کد:
        Sub EN()
        Sheet1.Range("C2:C5").Value = "انتخاب کنيد"
        End Sub
        در جواب سوال دوم بله امکانش هست . اما هر شرطی نیاز به یک آزمون منطقی دارد توضیح دهید که می خواهید این آزمون منطقی بر چه اساس تعریف شود ؟ براساس مقدار یک سلول و ... ؟
        آقا خیلی لطف کردی مشکلم حل شد . ولی اگه حوصله داشتی اینم برام روشن کن .
        میخوام تو یه ستون مثلا یک لیست درست کنم که 2 تا گزینه داشته باشه بله و خیر . وقتی کاربر بله رو انتخاب میکنه مقدار هایی که توی لیست های ستون c قرار دارند همشون بشن "انتخاب کنید " . نمیدونم چطوری بنویسمش . چون data validation وقتی تعریف میشه دیگه نمیتونم فرمول شرط رو برای اون سلول بنویسم



        نوشته اصلی توسط sabertb
        بله هم میشه در قسمت لیست در Data validation شرط با if بنویسید هم میشه با استفاده از دستور Indirect شبیه همچین کاری رو انجام داد به طوری که وقتی عنوان تغییر میکند لیست هم تغییر بکند. فایلتون هم اولا باید به صورت Macro Enable ذخیره شده باشه تا ماکرو هارو جواب بدهد و هم در قسمت Trust هم باید تنظیم بشه تا Save انجام بشه به آسانی.
        آقا فایل شما هم عالی بود دستتون درد نکنه . پس وقتی میخوایم ماکرو رو سیو کنیم باید از trust center روی گزینه enable باشیم تا ماکرومون سیو بشه ؟ اگه روی with notification باشیم سیو نمیشه ؟ مگه انتخاب گزینه .xlms موقع سیو کردن کافی نیست ؟
        Last edited by shahab47; 2015/08/03, 16:11.

        کامنت

        • DOLFIN

          • 2014/01/18
          • 149

          #5
          به این لینک مراجعه کنید توضیحات کامل هست .
          آموزش کامل Data Validation، شرط گذاری، Combo Box، List و ...
          Last edited by DOLFIN; 2015/08/03, 16:18.
          [CENTER][FONT=times new roman][SIZE=7][I][B][COLOR=#0000ff] خانه اکسل - [url]http://excelhouse.blog.ir[/url][/COLOR][/B][/I][/SIZE]
          [/FONT][/CENTER]

          کامنت

          • sabertb

            • 2014/04/09
            • 347
            • 45.00

            #6
            قبل از ذخیره شدن یه پیغام هشدار میده اگر اون قسمت رو تنظیم نکنید .

            در پاسخ به سوالتون هم فایل ضمیمه رو مشاهده کنید . وقتی در ستون زرد رنگ بله انتخاب شود ستون C روبروش گزینه انتخاب مشاهده میشود . اگر روی ستون C کلیک کنید و از داخل Tab Data قسمت Data validation رو انخاب کنید فرمول نویسی در این قسمت رو مشاهده میکنید . توصیه میکنم از تکنیک Name Manage برای استفاده از data Validation استفاده کنید . یعنی لیست های موجود خودتون رو با این تکنیک نام گزاری کنید تا در فرمول نویسی با وارد کردن نام هر لیست اطلاعات آن را نمایش بدهد .
            فایل های پیوست شده
            :min10::min18::min13::min22:

            کامنت

            چند لحظه..