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

هل يمكن منع الكود من العمل في حال تحديد اكثر من ورقة عمل


إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

السلام عليكم

حدثت معي مشكلة حيث ان لدي كود يقوم بنسخ مجموعة من المعادلات للخلايا اللتي انتهيت من ضبط حسابات الزبائن فيها ولصقها كقيم ولكن بالخطأ امس كنت قد حددت عدة صفحات كمجموعة ولدى تطبيق الكود لم انتبه للتحديد فقام بالتطبيق على كل الصفحات المحددة 

هل يوجد اي فكرة لمنع الكود من العمل في حال تحديد اي صفحتين او اكثر مع بعض ؟؟؟؟؟؟؟؟

وشكرا

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

‏السبت‏، 04‏ شعبان‏، 1441

 

السلام عليكم و رحمة الله وبركاته

بعد اذن اخي الكريم : احمد يوسف

 

لا مانع من المحاولة

 

اخي الماتادور

جرب إضافة هذا السطر اول الكود الذي تعمل عليه

مع وضع اسم الصفحة او الورقة بين علامات التنصيص ""

 

If ActiveSheet.Name <> "" Then Exit Sub

 

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

اخي الكريم

بعد اذن الاساتذة واثراء للموضوع 

يمكنك اللجوء الى طرق اخرى لمنع الكود من التنفيذ 

مثلا اضافة شرط اخر من غير الذي اشرت اليه  

فمثلا يمكن التحكم في الكود من خلال محتوى خلية معينة 

جرب جميع الطرق المتاحة 

 

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

  • أفضل إجابة

جرب هذا الملف    انه ينفذ الماكرو على الشيت التي تحتاره انت (في حال تحديد اكثر من شيت واحد)   بواسطة رسالة تطلب منك رقم الشيت الذي تريده

اما اذا كان شيت واحدة محددة فيقوم بتنفيذ الماكرو عليها

Option Explicit

Sub No_Error_In_Sheets()

  Dim ws As Worksheet, wb As Workbook
  Dim col As New Collection
  Dim i%, Inp_Box

  Set wb = ActiveWorkbook

For Each ws In ActiveWindow.SelectedSheets
 i = i + 1
 col.Add ws.Name, CStr(i)
Next ws
On Error Resume Next
If i > 1 Then
  Inp_Box = InputBox("You Have More than One Selected Sheets" & Chr(10) & _
       "Please Type The index Of the Sheet you need " & Chr(10) & _
       "Example: " & "1,2,3,etc...", 1)
   Sheets(col(Inp_Box)).Select
      If Err.Number > 0 Then
          MsgBox "you select Wrong number: " & """" & Inp_Box & """"
         On Error GoTo 0
         Exit Sub
      End If
End If
   On Error GoTo 0
 '++++++++++++++++++++++++++++++++
'Type here your macro
'Example
 ActiveSheet.Range("a1:a10") = 100
 '++++++++++++++++++++++++++++++
End Sub

الملف للتجربة

Run_macro.xlsm

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

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