شیت زیر را در نظر بگیرید:
ضمیمه 155389
اگر ستون Units In Stock رو به شکل زیر فرمت بندی شرطی کنیم:
ضمیمه 155390
نتیجه به شکل زیر خواهد شد:
ضمیمه 155391
Printable View
شیت زیر را در نظر بگیرید:
ضمیمه 155389
اگر ستون Units In Stock رو به شکل زیر فرمت بندی شرطی کنیم:
ضمیمه 155390
نتیجه به شکل زیر خواهد شد:
ضمیمه 155391
حالا اگر همین ستون رو با Icon Set از نوع Traffic Light سه رنگ :
ضمیمه 155392
و با شرایط زیر فرمت بندی کنیم:
ضمیمه 155393
نتیجه به شکل زیر خواهد بود:
ضمیمه 155394
تا اینجا کار راحت هست و نکته خاصی هم نداره،
حالا فرض کنید میخواهیم ستون Discontinued رو با Icon Set از نوع Indicator فرمت کنیم:
ضمیمه 155395
جوری که مقدار true با √ و false با X نمایش داده بشن.
در قدم اول مقادیر true/false رو با مقادیر عددی 1/0 جایگزین میکنیم (چرا؟):
ضمیمه 155397
و بعد rule رو به یکی از دو شکل زیر تعریف میکنیم (به show icons only دقت کنید):
ضمیمه 155399ضمیمه 155398
که نتیجه اون به شکل زیر خواهد شد:
ضمیمه 155400
حالا فرض کنید میخواهیم در ستون Discontinued با double-click مقدار اون بین 0 و 1 جابجا بشه (toggle)،
از Developer Tab گزینه Visual Basic رو انتخاب میکنیم:
ضمیمه 155401
و مطمئن میشیم که sheet درست رو انتخاب کردیم:
ضمیمه 155402
و رخداد BeforeDoubleClick رو انتخاب میکنیم:
ضمیمه 155403
و کد زیر رو مینویسیم:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C2:C10")) Is Nothing Then
Cancel = True
With Target
If .Value = "" Or .Value = 0 Then
.Value = 1
Else
.Value = 0
End If
End With
End If
End Sub
سلام و به دنیا سپاس و قدردانی بابت آموزشهای مفید و خوبتون امیدوارم همیشه موفق و سلامت باشید
مطالب بسیار عالی و کامل بود فقط چند تا سوال داشتم
اول اینکه امکان کد نویسی برای رویداد کلیک وجود نداره ؟ چون تو لیست فقط دبل کلیک بود وقتی هم تغییر به کلیک میکنم کار نمیکنه
دوم چرا کدها ذخیره نمیشه ؟ باذخیره کد خطا میده درحالی که کد تو برنامه کار میکنه با بستن فایل کد هم حذف میشه!
سوم تاپیک اخبری که ایجاد کردم درهمین زمینه با توجه به مطالب جامع تون غیر ضروری به نظر میاد ولی نمیتونم حذف کنم لطف کنید تاپیک اضافی منو پاک کنید
سلام دوباره، و تشکر از لطف شما. متقابلا برای شما آرزوی موفقیت بیشتر دارم.نقل قول:
سلام و به دنیا سپاس و قدردانی بابت آموزشهای مفید و خوبتون امیدوارم همیشه موفق و سلامت باشید
نه،نقل قول:
امکان کد نویسی برای رویداد کلیک وجود نداره ؟ چون تو لیست فقط دبل کلیک بود وقتی هم تغییر به کلیک میکنم کار نمیکنه
این رویداد براش تعریف نشده.
ولی از همون رویداد پیشفرض SelectionChange میتونین استفاده کنین و target.address رو چک کنین که کدوم سلول کلیک شده.
شما همین کد پست 4 رو میتونین در این رویداد استفاده کنین - البته باید cancel=true رو بردارین!
و رفتار toggle با کلیک خواهد بود.
خطا نمیده،نقل قول:
چرا کدها ذخیره نمیشه ؟ باذخیره کد خطا میده درحالی که کد تو برنامه کار میکنه با بستن فایل کد هم حذف میشه!
در واقع میپرسه که میخواین به فرمت xlsm (macro enabled) ذخیره بشه،
یا همون فرمت ساده بدون کد و ماکرو (xlsx) :
ضمیمه 155406
اینجا باید No رو بزنین و بعد فایل رو به شکل زیر save کنین:
ضمیمه 155407
به این ترتیب کدها در فایل اکسل شما ذخیره میشه.
اگر Yes رو بزنین فایل بدون کد و ماکرو ذخیره میشه.
آیکون این فایل ها هم متفاوت هست:
ضمیمه 155408
بازم ممنون
کامل تر این نمیشه .
همیشه پایدار باشید استاد