استفاده از یه تابع در تابع دیگر
Collapse
X
-
خب داداش گلم ، فایل که اولش همین جور بود ، من میخواستم که برای محاسبات بعدی دیگه به سلولی که تابع nad رو محاسبه کرده ارجاع ندم
بخاطر همین گفتم که در تابع nad بطورخودکار ورودیها روبگیره و محاسبه کنه و سپس در تابع دوم فقط 1 ورودی داشته باشیم و خروجی تابع nad رو بطور خودکار دریافت کنه به این صورت که jul_day_ut = nad باشه
پس هنوز مشکل پابرجاستLast edited by reza_1001; 2020/03/10, 14:06.کامنت
-
خب داداش گلم ، فایل که اولش همین جور بود ، من میخواستم که برای محاسبات بعدی دیگه به سلولی که تابع nad رو محاسبه کرده ارجاع ندم
بخاطر همین گفتم که در تابع nad بطورخودکار ورودیها روبگیره و محاسبه کنه و سپس در تابع دوم فقط 1 ورودی داشته باشیم و خروجی تابع nad رو بطور خودکار دریافت کنه به این صورت که jul_day_ut = nad باشه
پس هنوز مشکل پابرجاست
شما میتوانید برای توابع بعدی خود یک ورودی داشته باشید فقط در توابع دوم بصورت ثابت به سلولی که nad را محاسبه کرده ، ارجاع دهید
کد PHP:Public Function pl(number_pl As Double) As Double
Dim Jul_day_et As Double
jul_day_ut = number_pl * Range("b10")
pl = jul_day_ut
End Function
کامنت
-
با سلام
ضمن تشکر از دوست و استاد محترم جناب Iranweld عزیز
راستش نمی دونم این طرفند به دردتان میخوره یا نه در هر صورت میتوانید از فرمول زیر نیز استفاده کنید. در خانه
کد:=pl(B11,nad($B$3,$B$4,$B$5,$B$6,$B$7,$B$8))
حال میتوانید اطلاعات خانه B10 را حذف کنید. چون مستقیما در Pl امده است .
موفق باشید میرکامنت
-
با سلام
امیدوارم درست متوجه منظورتان شده باشم لطفا تابع اصلاح شده زیر را تست کنید.
توضیح : در قسمت Pl در تابع مقدار عددی وارد کنید مثلا 0.325 در ضمن میتوانید تابع را کپی و با رعایت فاصله به تاریخهای جدید رجوع دهید. مانند فایل پیوست مثلا فرمول را از خانه b12کپی و در خانه b25 پیست کنید.
کد:Function nadMM(year, Month, Day, hour, min, sec As Range, pl As Double) Dim time As Double Dim XIM As Double Dim XJD As Double Dim a As Double Dim b As Double 'Dim rngRef As Range 'Dim nad2 As Variant 'nad = rngRef.Address XIM = 12 * (CDbl(year) + 4800) + Month - 3 XJD = (2 * (XIM - Int(XIM / 12) * 12) + 7 + 365 * XIM) / 12 XJD = Int(XJD) + Day + Int(XIM / 48) - 32083 XJD = (XJD + Int(XIM / 4800) - Int(XIM / 1200) + 38) time = (hour + min / 60 + sec / 3600) / 24 'nad = (XJD - 0.5) + time nadMM = ((XJD - 0.5) + time) * pl End Function
کد:=nadMM(B16,B17,B18,B19,B20,B21,0.325)
فایل های پیوست شدهLast edited by majid_mx4; 2020/03/12, 16:25.کامنت
-
سلام خدمت داداش گلم ، ممنون از بابت زحمتت ولی این هم مشکلمو حل نکرد
یه فایل پیوست میکنم همه چیزش خوبه ،فقط وقتی تاریخ یا ساعت و...رو تغییرمیدم خروجیnad عوض نمیشه و باید یه بار در قسمت فرمول سلول pl اینتر کنم تا عددش تغییر کنه
اگه بتونید کاری کنید که وقتی ساعت یا تاریخ و... رو تغییر میدم خروجی تابع pl خودش عوض بشه ممنونتون میشمفایل های پیوست شدهکامنت
-
-
چک کردم روی حالت اتوماتیک هستش
بله آخرین فایلی که فرستادید تغییر میکردد ولی ورودی توابع رو دستکاری کرده بودید و این رو بنده نمیخوام
اگه میشه روی آخرین فایلی که فرستادم کاری کنید که با تغییر اعداد خروجی pl تغییر کنه به این صورت که تابع nad بدون ورودی باشه و تابع pl فقط یک ورودی داشته باشهLast edited by reza_1001; 2020/03/15, 13:10.کامنت
کامنت