PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : یه سوال آماتوری در محیط vba



close_up
2014/10/02, 10:08
با سلام دوستان عزیز، بنده در این قسمت انجمن [حل شده] ثبت ساعت در یک سلول باماکرو طوری که دیگه تغییر نکنه (http://forum.exceliran.com/showthread.php/5605-%D8%AB%D8%A8%D8%AA-%D8%B3%D8%A7%D8%B9%D8%AA-%D8%AF%D8%B1-%DB%8C%DA%A9-%D8%B3%D9%84%D9%88%D9%84-%D8%A8%D8%A7%D9%85%D8%A7%DA%A9%D8%B1%D9%88-%D8%B7%D9%88%D8%B1%DB%8C-%DA%A9%D9%87-%D8%AF%DB%8C%DA%AF%D9%87-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%86%DA%A9%D9%86%D9%87)

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

اما چون خیلی آماتور هستم نمیدونم این کد رو کجا باید بزنم که این کد دیگه اجرا بشه و توضیحاتی در مورد این کد بدید که کجاشو باید متناسب با شیت خودم عوض کنم
البته با فشردن دکمه های
ALT+F11
محیط ماکرو رو میارم


منتظر راهنمایی شما دوستان و اساتید عزیز هستم با تشکر

mokaram
2014/10/02, 11:35
دوست عزیز شما اگه ماژولهای این تابع را دارید با درگ کردن این ماژولها به فایل مقصد و سیو فایل ثانویه با فرمت xlsm می تونید این توابع را تو فایل خودتون داشته باشید حالا بسته به نوع درخواستتون از توابع اون می تونید استفاده کنید

close_up
2014/10/02, 12:00
دوست عزیز شما اگه ماژولهای این تابع را دارید با درگ کردن این ماژولها به فایل مقصد و سیو فایل ثانویه با فرمت xlsm می تونید این توابع را تو فایل خودتون داشته باشید حالا بسته به نوع درخواستتون از توابع اون می تونید استفاده کنید


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



QUOTE=]اگه از توابع شمسی استفاده میکنی این کد رو در قسمت VB اون شیت ذخیره کن .همون کار رو برات انجام میده

Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim c As Range
For Each c In Range("a3")
If c <> "" And c.Offset(0, 3) = "" Then
c.Offset(0, 3) = Time
c.Offset(0, 2) = J_TODAY()
Exit Sub
End If
Next
End Sub


[/QUOTE]

mokaram
2014/10/02, 14:21
دوست عزیز طبق عکسهای پیوستی جلو برو

4750
طبق عکس بالا بعد از رفتن به محیط کد نویسی با زدن alt +f11 به شکل بالا بر می خورید تمامی اون ماژولها را ( شش تا ) با گرفتن و کشیدن به قسمت فایل خود تو همون مکان به خواسته اول میرسید مثل عکس زیر ( به کادر قرمز رنگ توجه کن )

4751

حالا با توجه به اون شیتی که می خوای این کار را بکنی رو شیت مورد نظر دو بار کلیک کن ( کادر سبز رنگ سمت چپ) با این کار کادر سفید رنگ بزرگ برات باز میشه که از لیست فرو ریز اگه مورد دوم (wotksheet) را انتخاب کنی به این مرحله میرسی

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub



بعد با کپی پیست کردن کدهای گفته شده تو کادر بالا به هدف نهایی میرسید ( کدهاتون حتما بین نوشته های بالا باید باشه )
در آخر شکل کار شبیه این میشه :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim c As Range
For Each c In Range("a3")
If c <> "" And c.Offset(0, 3) = "" Then
c.Offset(0, 3) = Time
c.Offset(0, 2) = J_TODAY()
Exit Sub
End If
Next
End Sub

close_up
2014/10/03, 11:06
دوست عزیز طبق عکسهای پیوستی جلو برو

4750
طبق عکس بالا بعد از رفتن به محیط کد نویسی با زدن alt +f11 به شکل بالا بر می خورید تمامی اون ماژولها را ( شش تا ) با گرفتن و کشیدن به قسمت فایل خود تو همون مکان به خواسته اول میرسید مثل عکس زیر ( به کادر قرمز رنگ توجه کن )

4751

حالا با توجه به اون شیتی که می خوای این کار را بکنی رو شیت مورد نظر دو بار کلیک کن ( کادر سبز رنگ سمت چپ) با این کار کادر سفید رنگ بزرگ برات باز میشه که از لیست فرو ریز اگه مورد دوم (wotksheet) را انتخاب کنی به این مرحله میرسی

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub



بعد با کپی پیست کردن کدهای گفته شده تو کادر بالا به هدف نهایی میرسید ( کدهاتون حتما بین نوشته های بالا باید باشه )
در آخر شکل کار شبیه این میشه :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim c As Range
For Each c In Range("a3")
If c <> "" And c.Offset(0, 3) = "" Then
c.Offset(0, 3) = Time
c.Offset(0, 2) = J_TODAY()
Exit Sub
End If
Next
End Sub

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