fatma ali قام بنشر أغسطس 31, 2013 قام بنشر أغسطس 31, 2013 السلام عليكم ورحمه الله وبركاته اتوجه بالشكر لاعضاء المنتدى لما يقدموه من لنا من مساعده ، ولكن لى طلب اتمنى الافاده فيه .... اريد تطبيق كود ماكرو به داله if و vlookup على مجموعه من الخلايا وليست خليه واحده واذا امكن فعل هذا الطلب بالدوال وليس بزر ايضا كيفيه التحكم فى عدد مرات ضغط المستخدم على زر ، بمعنى ان ينفذ الماكرو عند الضغط على الزر مرة واحده اما اذا تم الضغط مرة اخرى فلا يحدث شىء book.rar ولكم جزيل الشكر
طارق محمود قام بنشر سبتمبر 1, 2013 قام بنشر سبتمبر 1, 2013 تطبيق الماكرو على اكثر من خليه السلام عليكم الأخت الفاضلة (عفوا لم أنتبه للإسم من قبل) أولا الكود الموجود أصلا يمكن إختصاره بدلا من Private Sub CommandButton1_Click() With WorksheetFunction If Sheets("Sheet1").Range("b2").Value >= .VLookup(Sheets("Sheet1").Range("a2"), Sheets("Sheet2").Range("d5:e10"), 2, False) Then Sheets("Sheet1").Range("c2").Value = Sheets("Sheet1").Range("b2").Value - .VLookup(Sheets("Sheet1").Range("a2"), Sheets("Sheet2").Range("d5:e10"), 2, False) Sheets("Sheet1").Range("b2").Value = .VLookup(Sheets("Sheet1").Range("a2"), Sheets("Sheet2").Range("d5:e10"), 2, False) Else Sheets("Sheet1").Range("c2").Value = 0 End If End Sub للكود التالي (لم أغير شيء ، نفس الأوامر) Private Sub CommandButton1_Click() x = WorksheetFunction.VLookup([a2], Sheet2.[d5:e10], 2, 0) If [b2] >= x Then [c2] = [b2] - x: [b2] = x Else [c2] = 0 End Sub ثانيا: إن كنت تعني تكرار ذلك علي باقي القيم في العمود A فماعليك إلا جعل الأوامر السابقة في حلقة وتغيير الخلايا الثابتة بعناوين متغيرة حسب الصف ، ليكون الكود هكذا Private Sub CommandButton1_Click() LR = [A9999].End(xlUp).Row For r = 2 To LR x = WorksheetFunction.VLookup(Cells(r, 1), Sheet2.[d5:e10], 2, 0) If Cells(r, 2) >= x Then Cells(r, 3) = Cells(r, 2) - x: Cells(r, 2) = x Else Cells(r, 3) = 0 Next r End Sub
fatma ali قام بنشر سبتمبر 1, 2013 الكاتب قام بنشر سبتمبر 1, 2013 السلام عليكم ورحمة الله وبركاته اولا شكرا جزيلا لحضرتك لاهتمامك ولتبسيط الكود وجعله الله فى ميزان حسناتك لكن عندما جربت الكود على الملف الاصلى وليس الملف المرفق فانه يقوم بتنفيذ الكود ولكن يكون هناك خطأ Unable to get the vlookup property of the Worksheet function class وهل يمكن عمل هذا الكود بداله if عاديه بدون ماكرو للتسهيل على المستخدم بدلا من الضغط على الزر
fatma ali قام بنشر سبتمبر 1, 2013 الكاتب قام بنشر سبتمبر 1, 2013 السلام عليكم ورحمة الله وبركاته لقد قمت بالبحث على النت ووجدت كود وطبقته ولم يظهر الخطأ Private Sub CommandButton3_Click() LR = [A40].End(xlUp).Row On Error Resume Next Err.Clear For r = 12 To LR x = WorksheetFunction.VLookup(Cells(r, 1), Sheets("ÇáãÎÒä").Range("a3:c550"), 3, 0) If Cells(r, 3) >= x Then Cells(r, 4) = Cells(r, 3) - x: Cells(r, 3) = x Else Cells(r, 4) = 0 If Err.Number = 0 Then 'Handle found case Else ' An error means not found handle here Err.Clear End If Next r On Error GoTo 0 End Sub ولكن عندى طلب اخر .... عندى زر يقوم بترحيل بيانات عمود معين من شيت لاخر عند الضغط على الزر اكثر من مرة يقوم بالترحيل فى كل مرة وهذا يغير النتيجه .... انا اريده ان يرحل مرة واحده فقط طالما لم يتم تغيير البيانات فهل من الممكن ذلك ؟؟
أفضل إجابة الـعيدروس قام بنشر سبتمبر 2, 2013 أفضل إجابة قام بنشر سبتمبر 2, 2013 السلام عليكم ولكن عندى طلب اخر .... عندى زر يقوم بترحيل بيانات عمود معين من شيت لاخر عند الضغط على الزر اكثر من مرة يقوم بالترحيل فى كل مرة وهذا يغير النتيجه .... انا اريده ان يرحل مرة واحده فقط طالما لم يتم تغيير البيانات فهل من الممكن ذلك ؟؟ الرجاء انشاء موضوع منفصل للطلب كي يسهل البحث للاعضاء مع ارفاق مثال وبه الكود والحل موجود ان شاء الله 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.