PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چطوری تابع =now() را میرا کنیم



behroozjafari
2012/12/11, 03:11
سلام به تمام بچه های تالار

یه سوال ، من میخوام که به کمک یه چک باکس و تابع now() کاری کنم که وقتی روی چک باکس کلیک میکنم زمان رو در یه لحظه برای من در اکسل ثبت کنه و وقتی روی چک باکس بعدی کلیک کردم زمان رو دوباره برام ثبت کنه اما تابع که گفته شد با وارد کردن هر عددی آبدیت میشه و وقتی روی چک باکس دوم کلیک میکنم تابع گفته شده زمان ها رو دوباره آبدیت میکنه

حلا من میخوام که شما به من کمک کیند تا این تابع با زدن هر دکمه یا هر کاری که من در اکسل انجام میدم زمان های گذشته رو آبدیت نکنه ازتمام دوستان خواهش میکنم روی این مسئله فکر کنن
ممنون میشم بتونید کمکم کنید :huh:
اینم نمونه کار

http://wdl.persiangig.com/pages/download/?dl=http://sanaye00.persiangig.com/video/zaman.rar

MEYTI
2012/12/11, 08:54
با سلام دوست عزیز برای اینکه مقدار ثابتی داشته باشی میتونی ازماکرو استفاده کنی


Sub CheckBox5_Click()
Sheet1.Range("J8").Value = Now()

End Sub

behroozjafari
2012/12/12, 01:17
با سلام دوست عزیز برای اینکه مقدار ثابتی داشته باشی میتونی ازماکرو استفاده کنی


Sub CheckBox5_Click()
Sheet1.Range("J8").Value = Now()

End Sub



سلام
من این ماکرو رو اجرا کردم اما باید بری اون رو runکنی اما من میخوام که زمانی که چک باکس رو میزنی این کار رو بکنه نه اینکه بری و ماکرو رو اجرا کنی
البته من یه کاری کردم همین الان شد میدونی چیکار کردم چک باکس رو به ماکرو متصل کردم و زدم جواب داد ممنون :heart:
یه سوال دگه برام پیش امده که بتونی انحامش بدی ممنون میشم اینکه من
باید این کد رو تک تک کپی کنم و شماره هاش رو برای هر سلول عوض کنم و به ماکرو متصلش کنم حالا اگر من بخوام که این ماکرو رو برای n تا سلول اجرا کنم باید چیکار کنم ؟؟؟؟؟؟؟؟؟
و اینکه من دیگه یه ماکرو متصلش نکنم و فقط روی چک باکس کلیک کنم و زمان ظاهر بشه ممنون
البته اگر فقط بتونه N تا رو حساب کنه من باز خودم اونها رو به چک باکس متصل میکنم فقط اکه میشه شما فرمولی بنوییسد که تا بینهایت رو بتونه حساب کنه یعنی هر کدوم یه ماکروی جدا باشه که من بتونم به چک باکس ها متصل کنم
:blush::blush::blush:

shamsololama
2012/12/12, 07:49
با درود فراوان
کدی که دوست خوبم آقا مهدی نوشته بودن درسته و برای اونت کلیک چک باکس نوشته اند نهبرای ماکرو یعنی اگر شما با دوبل کلید روی چک باکس وارد به محیط کد نویسی بری و در انت کلک چک باکس این کد را بنویسی با کلیک روی چک باکس این کد اجر میشه و نیازی به اجرای ماکرو نیست
البته من فایل شما رو نتونستم دانلود کنم و احتمال میدم چما چک باکس را اگر روی صفحه اکسل ایجاد کردین آن را از Form Controls انتخاب کردین که بهتره از Activex Controls انتخاب کنید که با دوبل کلیک در پشت خود چک باکس کد نویسی کنید .
ولی من نمی دانم چرا از چک باکس استفاده میکنید ؟ چون در این حالت با کلیک رو چک باکس عمل میکند و و توجه ای به ایم که چک باکس تیک خورده باشه یا نه نداره و کاری شبیه یک لیبل و باتوم کار میکند چون هیچ شرطی براش استفاده نکردین

و برای اینکه برای n سل این رو اجرا کنی اکر سل ها مثلا زر هم باشه راهای مختلفی هست که می تونی آن را انجام دهی یکی اینکه رنج رو انتخاب کنی و یا اینکه آن را در حلقه بنویسی
مثلا بجای j8 بنویسی j8:j100 می توانید این 100 نیز متغییر کنی



Private Sub CheckBox1_Click()
Sheet1.Range("J8:j100").Value = Now()
End Sub

برای متغیر کردن این 100 می توانید آن را ارجاع بدین به یک سل و یا به یک تکس باکس که هرعددی درآن بنویسید n براب همان باشد
مثال :
هرعددی در سل h1 بنویسید همان n شما خواهد بود و عدد 7 که جمع شده هم همان تعداد سل های خالی بالای j8 هست



Private Sub CheckBox1_Click()
Dim n
n = Range("h1").Value
Sheet1.Range("J8:j" & n + 7).Value = Now()
End Sub


البته اگر خواسته شما چیزی غیر از اینه نیاز هست فایل شما رو ببینم مثلا اینکه سلهای شما پشت سر هم نباشه و یا ....

~M*E*H*D*I~
2012/12/12, 09:34
جواب دوستان درسته مورد دیگه ای مد نظر داری توضیح بده در خدمتیم

shamsololama
2012/12/15, 09:09
با درود فراوان
دوست خوبم من بنا به توضیحی که داده بودید به این صورت انجام دادم
کدی نوشتم که بجای اینکه روی چک باکس کلیک کنید روی هر سلی زیر
سر تیتر ها دوبل کلیک کنید تاریخ زده شده و علامتی را در همان سل می نویسد
با این کار نیاز به چک باکس ندارید


نمونه:
[attachment=1053]