اذهب الي المحتوي
أوفيسنا

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

قام بنشر

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

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

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


=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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information