سلام وقت بخیر.یه سوال داشتم .توی یک ستون میخوام محدوده ای از اعداد رو وارد کنم با این شرط که اگه ستون قبلی مقدار a باشد این ستون مقادیر 9 تا 9.8 و اگر b باشد مقادیر 7.5 تا 9.4 و c باشه مقادیر 5 تا 6.5 رو بگیره.چطور با استفاده از دیتاولیدیشن اینکار رو انجام بدم.نکته ی مهم اینه که در ستون مثلا c مقادیری که قرار میگیره برحسب a یا b یا c محدوه ای از اعداد هست نه مقادیر ثابت یعنی بین اعداد xوy
لیست وابسته با استفاده از محدوه ی اعداد
Collapse
X
-
سلام
در سوالی که مطرح کردید به لیست وابسته اشاره نشده!
این نمونه رو ساختم ببینید همین مد نظر شماست!
در ستون a حرف رو وارد و در ستون b مقدار در غیر اون بازه رو وارد کنید تا نتیجه رو ببینید!فایل های پیوست شده[B][SIZE=1]بخش امضاء :
[/SIZE][/B][LEFT]
[CODE]
Sub Macro()
ActiveCell = "IY" & Right(Application.Name, 5)
With ActiveCell.Characters(Start:=2, Length:=1).Font
.Name = "Webdings"
.Color = 255
End With
End Sub
[/CODE]
[/LEFT] -
سلام و سپاس از پاسخگویی.درست عمل کرد فقط یک مشکل داره اگه بطور مثال در سلول b1 مقداری برحسب a1 که برابر a در نظر گرفته باشیم مثلا 9.5 و حالا مقدار a1 به b تغییر دادیم همون مقدار 9.5 که از قبل درون سلول b1 بوده رو خارج از شرط ما هم هست قبول میکنه.میخوام طوری عمل کنه که با تغییر مقدار سلول a1 مقدار سلول b1 پاک بشه.کامنت
-
سلام
چک کنید!...
احتمال زیاد نواقصی هم داره که با کار کردن باهاش پیدا خواهد شد! البته اگر در چارچوب اضافه کردن داده و تغییر اون استفاده بشه موردی پیش نمیاد!Last edited by rahi_feri; 2016/11/26, 00:21.[B][SIZE=1]بخش امضاء :
[/SIZE][/B][LEFT]
[CODE]
Sub Macro()
ActiveCell = "IY" & Right(Application.Name, 5)
With ActiveCell.Characters(Start:=2, Length:=1).Font
.Name = "Webdings"
.Color = 255
End With
End Sub
[/CODE]
[/LEFT]کامنت
-
سلام
لینک میدم اگر متوجه نشدید اطلاع بدید (موارد مهم از کد) !
----------------
Worksheet.Change Event (Excel)
target : اون سلول و ناحیه انتخاب رو نشون میده (همون سلول فعاله) مثال :
کد:Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox Target.Address End Sub
----------------
Application.Intersect Method (Excel)
http://www.ozgrid.com/VBA/vba-intersect.htm
intersect : تابعی! در VBA که به معنی اشتراکه و همین عملکرد رو هم داره مثلا :
کد:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A10")) Is Nothing Then MsgBox "Hello" End If End Sub
که در این تصویر تفاوت اتحاد و اشتراک رو خوب نشون داده :
Union and Intersect Operator in Excel - EASY Excel Tutorial
----------------
EnableEvents : جلوگیری از ایجاد حلقه! (اجرا رویداد ها (کدها) رو فعال و غیرفعال می کنه / اجازه میده که اقدام مورد نظری که می خواهیم اجرا بشه! و از اجرا مابقی اونها جلوگیری میکنه)
Application.EnableEvents Property (Excel)
EnableEvents Application Property VBA - Explained with Examples
این مثال خوبیه براش : 13. VBA Tips - Enable / Disable Events | ExcelExperts.com
----------------
با تابع آفست هم آشنایید این هم همون عملکرد رو در vba داره!
Excel VBA Offset Property - EASY Excel MacrosLast edited by rahi_feri; 2016/11/26, 20:19.[B][SIZE=1]بخش امضاء :
[/SIZE][/B][LEFT]
[CODE]
Sub Macro()
ActiveCell = "IY" & Right(Application.Name, 5)
With ActiveCell.Characters(Start:=2, Length:=1).Font
.Name = "Webdings"
.Color = 255
End With
End Sub
[/CODE]
[/LEFT]کامنت
کامنت