توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] کمک درنوشتن دستور
khorasan66
2020/01/07, 11:16
سلام به دوستان گرامی
در فایل پیوست
مقدار a1 ثابت است مثلا عدد 10
مقدار a2 می تواند عدد مثبت و یا منفی باشد
و a3 حاصل جمع a1+a2 می باشد .
باید به سلول a2 یکی یکی اضافه یا کم نمود به نحوی که وقتی a3 صفر شد ماکرو متوقف شود .
من تا کنون از دستور loop استفاده نکرده ام لطفا راهنمائی نمائید
حتما باید به سلول a2 یکی یکی اضافه یا کم نمود
majid_mx4
2020/01/08, 00:38
با سلام
متیوانید از کد زیر استفاده کنید .
Sub mir()
If rannge("a2") > Range("a1") Then
For i = 1 To (rannge("a2") - Range("a1"))
Do Until i = Range("a1")
i = i - 1
Range("a2") = i
Loop
If rannge("a2") < Range("a1") Then
For i = 1 To (rannge("a2") - Range("a1"))
Do Until i = Range("a1")
i = i + 1
Range("a2") = i
Loop
End Sub
فقط دکمه مساوی را به تکرار فشار دهید.
موفق باشید میر
khorasan66
2020/01/08, 07:29
با تشکر از پاسخ جنابعالی
دستور پیشنهاد شده عمل نمی نماید املا Range را هم درست کرده ام
ضمنا در فایل پیوستی اولیه من با فشرده شدن متوالی آیکون (( = )) جواب حاصل می شود
من می خواهم با دستور loop با یک بار اجرای ماکرو به جواب برسم
اگر a2=1000 باشد هزار بار فشردن آیکون (( = )) منطقی و ممکن نیست
برای من مهم است که با دستور loop به جواب برسم
راه حل های ریاضی برای این مسئله برایم مطرح نیست
با تشکر
majid_mx4
2020/01/08, 11:56
با سلام
ضمن تشکر
امیدوار این کد مطابق درخواست شما باشد.
Sub Loop2()
Dim i, iK As Integer
If [A2] > [A1] Then
i = [A2]
Do Until i = [A1]
i = i - 1
Loop
[A2] = i
End If
If [A2] < [A1] Then
iK = [A2]
Do Until iK = [A1]
iK = iK + 1
Loop
[A2] = iK
End If
End Sub
پایدار باشید میر
vBulletin® v4.2.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.