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

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

قام بنشر (معدل)

أعزائي اعضاء المنتدى الاجلاء

في مشاركة سابقة للأخ عماد الحسامي كان قد حدد زر لاخفاء الشيت واخر لارجاعها والكود هو

Private Sub CommandButton1_Click()

Sheet2.Visible = xlSheetVeryHidden

End Sub

Private Sub CommandButton2_Click()

Sheet2.Visible = True

End Sub

سؤالي وهو بعد محاولات كثيرة وطويلة بائت كلها بالفشل

اذا امكن ان يتم اخفاء الشيت 2 اذا كانت قيمة الخلية A1 في Sheet1 لا تساوي 50

اما اذا كانت تساوي 50 فشيت سوف تضهر

ولكم خالص تحياتي

اخوكم بوفيصل  

تم تعديل بواسطه BuFaisal
قام بنشر

اخي ابو فيصل

فقط قم بعمل كبسة واحدة فقط لأخفاء الشيت واضهارها وضع الكود التالي :

If Sheet1.Range("a1").Value <> 50 Then Sheet2.Visible = xlSheetVeryHidden

If Sheet1.Range("a1").Value = 50 Then Sheet2.Visible = True

ولكن لايتم وضع الكبسة في الصفحة التي تريد اخفاءها

قام بنشر

السلام عليكم

===========

اخى ابو فيصل العزيز

نفترض عندى ملف اكسيل به sheet1 , sheet2, sheet3, sheet4, sheet5

ضع الكود التالى فى sheet1

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Range("Sheet1!A1") >= 50 Then

        Sheets("Sheet4").Visible = False

        Sheets("Sheet5").Visible = False

        Sheets("Sheet2").Visible = True

        Sheets("Sheet3").Visible = True

    Else

        Sheets("Sheet2").Visible = False

        Sheets("Sheet3").Visible = False

        Sheets("Sheet4").Visible = True

        Sheets("Sheet5").Visible = True

    End If

End Sub

قد زدت من عدد الصفحات لتتمكن من الاستفادة بالكود باكبر قدر ممكن

الحالة الاولى

---------- الكلام سيكون على الخلية A1

اذا كانت اقل من 50 سيقوم الكود باخفاء الشيتين 2 و 3 واظهار 4 و 5

الحالة الثانية

------------

اذا كانت قيمتها =50 سيقوم الكود باخفاء الشيتين 4 و 5 واظهار 2 و 3 ويمكنك التحكم بالكود بسهولة ويسر وتطوعه كما تشاء

تحياتى

New ورقة عمل Microsoft Excel.rar

قام بنشر (معدل)

اساتذتي الافاضل السلام عليكم ورحمة الله

ان الغاية من استخدام ميزة الاخفاء هو مقدرة ارسال بيانات سرية لعدد من الاشخاص في ملف واحد على ان يقوم الشخص بأدخال رقمه السري الخاص لتعرض له الشيت الخاصة به.

وقد تلاعبت بالكود المقدم من الاستاذ هشام حتى اصبح كتالي

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("Sheet1!A1") = 30 Then

Sheets("Sheet3").Visible = True

Else

Sheets("Sheet3").Visible = False

End If

If Range("Sheet1!A1") = 40 Then

Sheets("Sheet4").Visible = True

Else

Sheets("Sheet4").Visible = False

End If

If Range("Sheet1!A1") = 20 Then

Sheets("Sheet2").Visible = True

Else

Sheets("Sheet2").Visible = False

End If

If Range("Sheet1!A1") = 50 Then

Sheets("Sheet5").Visible = True

Else

Sheets("Sheet5").Visible = False

End If

End Sub

ولكني فقدة الميزة المقدم من الاستاذ عماد حيث يحمي الشيت من الضهور حتى عند استخدام format …….. Sheet ---------unhide

كما اود ان اضيف انه سيكون من الرائع اذا امكن ايجاد رقم سري مثلاً 100 للادمنستريتر المنسق للملف حيث ستضهر جميع الشيتات عند ادخاله .

سؤال اخير

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

ودمتم سالمين

كثير الاسئلة بقصد المعرفة

اخوكم بوفيصل

تم تعديل بواسطه BuFaisal
قام بنشر

بعد التمحيص والتفحيص استطعت ان اجعل الشيت مخفية حتى عن طريق format …….. Sheet ---------unhide كما اني اضفت رقم للأدمنستريتر 100

وذلك بالكود التالي

Private Sub Worksheet_Selectionchange(ByVal Target As Range)

If Range("Sheet1!A1") = 30 Then

Sheets("Sheet3").Visible = True

ElseIf Range("Sheet1!A1") = 100 Then

Sheets("Sheet3").Visible = True

Else

Sheets("Sheet3").Visible = xlSheetVeryHidden

End If

If Range("Sheet1!A1") = 40 Then

Sheets("Sheet4").Visible = True

ElseIf Range("Sheet1!A1") = 100 Then

Sheets("Sheet4").Visible = True

Else

Sheets("Sheet4").Visible = xlSheetVeryHidden

End If

If Range("Sheet1!A1") = 20 Then

Sheets("Sheet2").Visible = True

ElseIf Range("Sheet1!A1") = 100 Then

Sheets("Sheet2").Visible = True

Else

Sheets("Sheet2").Visible = xlSheetVeryHidden

End If

If Range("Sheet1!A1") = 50 Then

Sheets("Sheet5").Visible = True

ElseIf Range("Sheet1!A1") = 100 Then

Sheets("Sheet5").Visible = True

Else

Sheets("Sheet5").Visible = xlSheetVeryHidden

End If

End Sub

اعلم انه امر بسيط بنسبه للمتمرسين ولكن للمستجدين فهو امر عظيم

والمتبقي هو

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

ودمتم سالمين

قام بنشر

الاخ ابو فيصل

حماية الاكواد سهلة

ادخل إلى الفيجول

tools --- VBAProject properties --- protection ---

ثم ادخل الباسورد

عندها لا يمكن لاي احد الدخول الى الاكواد إلا بكلمة سر

قام بنشر (معدل)

أخي أبو فيصل

حياك الله ، بالنسبة للتمحيص والتفحيص فقد أثمر والحمد لله

ولكن كيف يمكن تغيير مسميات الاوراق مثلا ( خالد ، محمد ، فيصل .. بدلا من Sheet1 , Sheet2 , Sheet3 )

لأنني قمت بالتعديل ولكن الكود لم يعمل ! ! السؤال مطروح للجميع : )

مع خالص التحية

تم تعديل بواسطه الجزيرة
قام بنشر

ولكن كيف يمكن تغيير مسميات الاوراق مثلا ( خالد ، محمد ، فيصل .. بدلا من Sheet1 , Sheet2 , Sheet3 )

كيف يعني .. سؤالك غير مفهوم

قام بنشر

أخي العزيز

قم بتغيير أسماء الأوراق بالكود إلى أرقام الأوراق على سبيل المثال الورقة التي سميتها خالد والتي كان إسمها Sheet1 إطلع على رقمها من محرر ال VB وضعه بالكود بدل الإسم هكذا (Sheets(1 وهكذا حتى لوغيرت إسمها لأي إسم لن تحتاج لتغيير لكود واتبع هذا مع كل الأوراق بالكود .

تحياتي

أبو عبدالله

قام بنشر

أخي العزيز عماد

بمعنى الضغط دبل كليك على اسم الورقة من الاكسل وليس من VB ومن ثم تغيير الاسم: )

--------

أخي العزيز أبو عبدالله

لم تنجح معي الطريقة ، مع العلم بأن اسماء الأوراق عندي في الـ VB بالعربي هكذا (ورقة1 ، ورقة2 ... الخ )

قام بنشر

أخي ابو عبدالله / الجزيرة

هناك بعض النسخ للفيجول تحدث مشاكل عند تسمية الأوراق بالعربي

يعني عند كتابة الكزد كالتالي

Visible=true.("ورقة1")sheets

قد لا يتقبله

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

Visible=true.("ورقة1")Worksheets

قام بنشر

ممتاز كما هي عادتكـ أخي الكريم

ولو تكرمت في حالة أدخال رقم 100 (رقم سري للمسؤول) يتم ظهور جميع الأوراق مع امكانية تغييره : )

قام بنشر

اخي الجزيرة في مشاركة التمحيص وتفحيص رقم 6 تم اضافة ارقم السري للمسؤول حيث يضهر جميع الاوراق وهو الموجود في السطر الذي يبتدء ب ElseIf

قام بنشر

السلام عليكم

===========

بارك الله لكم جميعا

لاثراء الموضوع

ارى ان الفكرة تدور حول عمل كلمة سر لاكثر من مستخدم لدخول صفحة ما

فخطرت لى فكرة ان بكون لكل صفحة ومن الاساس كلمة مرور خاصة بها تكون مع صاحب الصفحة

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

Private Sub Worksheet_Activate()

pword = InputBox("ادخل هنا محتوى الرسالة التى تظهر ", "تذكر هل لك صلاحية الدخول هنا")

If pword <> "هنا ادخل كلمة المرور التى تريد" Then ActiveSheet.Visible = False

End Sub

شاهد المرفق

كلمة مرور الشيت الاول123

كلمة مرور الشيت الاول456

تحياتى لكم

فتح الشيتات بباس ورد.rar

قام بنشر

أخي / أبو فيصل

شكرا للتنبيه

أخي العزيز / ابو عبدالله

تعديل أكثر من رائع ، دائما مشاركاتك مفيدة : )

أخي العزيز / هشام

شكرا لمشاركتك الراقية والجميلة

قام بنشر

أستاذ هشام

انا مستخدم تقليدي قديم لبرنامج الاكسل

لكن الاكواد والفجول بيسك جديده على نسبياً

لذلك تعجبني الافكار التي تعطي طابع الاحترافية على العمل

مثل فكرة خروج مربع للرقم السري

لذا اود ان استفسر اذا كان هناك خيارات اخرى للنوافذ المنبثقة سهلة البرمجة ونستطيع استخدامها مثلا :

لترحيل البيانات من فورم الى قاعدة بيانات فبدل من استخدام جدول لأدخال البيانات ثم الضغط على زر للترحيل.

هل من الممكن استخدام نافذة منبثقة ندخل فيها البيانات المراد ترحيلها في اماكن تم تحديدها مسبقاً ليتم الترحيل الى قاعدة البيانات

بلأضافة الى وجود خيارات اخرى في النافذة مثلا بدل من ترحيل البيانات تستطيع الانتقال / اذهاب الى قاعدة البيانات فيكون هناك امران

1- ترحيل المدخلات الى قاعدة البيانات

2-اذهاب الى قاعدة البيانات

هذا مجرد مثال وسيكون من المفيد جداً لي ولكل من رغب في المزيد اذا تكرمت انت ومن لديه المعرفة في أثراء هذا النوع من الامثلة وشروحات

اخوك بوفيصل

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