اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

(تمت الاجابة) تحويل معادلات الى أكواد


الردود الموصى بها

الاخو الافاضل

هل يمكن تحويل هذه المعادله الى كود

وهل يمكن تنفيذها بدون زر


=IF(C46<>"",LOOKUP(C46,$B$3:$B$39,$C$3:$C$39),0)

وايضا

=IF(G46=$AI$5,HLOOKUP(K46,$L$2:$Q$39,MATCH(D46,$C$3:$C$39,0)+1,TRUE),0)

وايضا

=O46+O46*10%

وايضاً

=IF(OR(L46=100,L46=50,L46=""),0,HLOOKUP(K46,$R$2:$U$39,MATCH(D46,$C$3:$C$39,0)+1,TRUE))

دفترالحركه .rar

رابط هذا التعليق
شارك

راجع هذا الرابط اخى

http://www.officena....opic=15699&st=0

أداة تحويل صيغ المعادلات الى اكواد

وبالنسبة الى عدم استخدام زر يمكنك استخدام الحدث CELL CHANGE وهذا حسب علمى البسيط الى ان يرد عليك احد الكبار

رابط هذا التعليق
شارك

السلام عليكم

أخي العزيز

ضع الكود التالي في حدث الورقة


Private Sub Worksheet_Change(ByVal Target As Range)


On Error Resume Next

If Intersect(Target, Range("range46")) Is Nothing Then Exit Sub


   If [C46] = "" Then [D46] = 0: GoTo 10

	   [D46] = WorksheetFunction.Lookup([C46], [B3:B39], [C3:C39])


10  If [C46] = "" Or [F46] = "" Then [G46] = 0: GoTo 20

	   [G46] = WorksheetFunction.Lookup([F46], [AH3:AH39], [AI3:AI39])


20  If [L46] = "" Then [M46] = 0: GoTo 30

	   [M46] = WorksheetFunction.Lookup([L46], [D3:D39], [E3:E39])


30  If [G46] <> [AI5] Or [K46] = "" Or [K46] = 0 Or [D46] = "" Or [D46] = 0 Then [N46] = 0: GoTo 40

	   x = WorksheetFunction.Match([D46], [C3:C39], 0) + 1

	   [N46] = WorksheetFunction.HLookup([K46], [L2:Q39], x, 1)


40    If [K46] = "" Then [O46] = 0: GoTo 50

	  If [G46] <> [AI4] Then a1 = 0: GoTo 42

		 x = WorksheetFunction.Match([D46], [C3:C39], 0) + 1

		 a1 = WorksheetFunction.HLookup([K46], [V2:AA39], x, 1)

42    If [G46] <> [AI3] Then a2 = 0: GoTo 44

		 x = WorksheetFunction.Match([D46], [C3:C39], 0) + 1

		 a2 = WorksheetFunction.HLookup([K46], [F2:K39], x, 1)

44    If [G46] <> [AI6] Then a3 = 0: GoTo 46

		 x = WorksheetFunction.Match([D46], [C3:C39], 0) + 1

		 a3 = WorksheetFunction.HLookup([K46], [AC2:AD39], x, 1)

46    If [G46] <> [AI7] Then a4 = 0: GoTo 48

		 x = WorksheetFunction.Match([D46], [C3:C39], 0) + 1

		 a4 = WorksheetFunction.HLookup([K46], [AB2:AB39], x, 1)

48    [O46] = a1 + a2 + a3 + a4

	  [P46] = [O46] * 1.1


'O46 = IF(G46=$AI$4 ,HLOOKUP(K46,$V$2:$AA$39,  x ,TRUE),0)

'	 +IF(G46=$AI$3 ,HLOOKUP(K46,$F$2:$K$39,   x ,TRUE),0)

'	 +IF(G46=$AI$6 ,HLOOKUP(K46,$AC$2:$AD$39, x ,TRUE),0)

'	 +IF(G46=$AI$7 ,HLOOKUP(K46,$AB$2:$AB$39, x ,TRUE),0)



    If [L46] = 100 Or [L46] = 50 Or [L46] = "" Then [S46] = 0: GoTo 50

    If [D46] = 0 Or [D46] = "" Then GoTo 50

	   x = WorksheetFunction.Match([D46], [C3:C39], 0) + 1

	   [S46] = WorksheetFunction.HLookup([K46], [R2:U39], x, 1)


50


End Sub


أما الكود التالي ففي الموديول عادي واربطه بزر تضغط عليه بعد نهاية الإدخال فيرحل للأسفل

تفضل المرفق وبه بعض التوضيحات

دفترالحركه2.rar

رابط هذا التعليق
شارك

السلام عليكم

وكم كنت امل فى عدم استخدام الزر

ممكن طبعا ولكن اعطيني معيار إذا تم تغييره أو ملؤه ، يتم تشغيل الكود أوتوماتيك و

ويتم تنفيذ الجزئية الخاصة بنسخ السطر مباشرة

مثلا لو وضعت رقم مسلسل في أول خانة تكون البيانات كاملة أو لو كانت عدد البيانات مثلا كذا ، أو العمود الخاص بالسائق لايكون فارغا

ولكن في هذه الحالة عندك مخاطرة أن يتم تنفيذ الكود قبل أن تستكمل بيانات الصف

كم كنت اتوقع ان استطيع التعديل بعد ذلك فى اى سطر

ببساطة تخيل أنك تريد التعديل في السطر 60

انقل بياناته copy / Paste للسطر 46

ثم عدل كما تشاء ولا تضغط السهم ، فقط .copy / Paste Special.Value من الصف 46 للسطر 60

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information