BuFaisal قام بنشر مايو 2, 2010 قام بنشر مايو 2, 2010 (معدل) أعزائي اعضاء المنتدى الاجلاء في مشاركة سابقة للأخ عماد الحسامي كان قد حدد زر لاخفاء الشيت واخر لارجاعها والكود هو Private Sub CommandButton1_Click() Sheet2.Visible = xlSheetVeryHidden End Sub Private Sub CommandButton2_Click() Sheet2.Visible = True End Sub سؤالي وهو بعد محاولات كثيرة وطويلة بائت كلها بالفشل اذا امكن ان يتم اخفاء الشيت 2 اذا كانت قيمة الخلية A1 في Sheet1 لا تساوي 50 اما اذا كانت تساوي 50 فشيت سوف تضهر ولكم خالص تحياتي اخوكم بوفيصل تم تعديل مايو 2, 2010 بواسطه BuFaisal
الحسامي قام بنشر مايو 2, 2010 قام بنشر مايو 2, 2010 اخي ابو فيصل فقط قم بعمل كبسة واحدة فقط لأخفاء الشيت واضهارها وضع الكود التالي : If Sheet1.Range("a1").Value <> 50 Then Sheet2.Visible = xlSheetVeryHidden If Sheet1.Range("a1").Value = 50 Then Sheet2.Visible = True ولكن لايتم وضع الكبسة في الصفحة التي تريد اخفاءها
هشام شلبى قام بنشر مايو 2, 2010 قام بنشر مايو 2, 2010 السلام عليكم =========== اخى ابو فيصل العزيز نفترض عندى ملف اكسيل به 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
أبوعبد الله قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 أخي العزيز / بو فيصل إلى جانب حلول الأخوة الأعزاء هشام وعماد ولإثراء الموضوع هذه فكرة أخرى في نفس الإطار وكما طلبت في طلبك . تحياتي أبو عبدالله HIDE SHEET2 IF A1 IN SHEET1 NOT 50.rar
BuFaisal قام بنشر مايو 3, 2010 الكاتب قام بنشر مايو 3, 2010 (معدل) اساتذتي الافاضل السلام عليكم ورحمة الله ان الغاية من استخدام ميزة الاخفاء هو مقدرة ارسال بيانات سرية لعدد من الاشخاص في ملف واحد على ان يقوم الشخص بأدخال رقمه السري الخاص لتعرض له الشيت الخاصة به. وقد تلاعبت بالكود المقدم من الاستاذ هشام حتى اصبح كتالي 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 للادمنستريتر المنسق للملف حيث ستضهر جميع الشيتات عند ادخاله . سؤال اخير هل يمكن حماية الكود من العرض او العبث بحيث لايستطيع اي شخص اخر من الحصول على الارقام السرية لأشخاص اخرين ودمتم سالمين كثير الاسئلة بقصد المعرفة اخوكم بوفيصل تم تعديل مايو 3, 2010 بواسطه BuFaisal
BuFaisal قام بنشر مايو 3, 2010 الكاتب قام بنشر مايو 3, 2010 بعد التمحيص والتفحيص استطعت ان اجعل الشيت مخفية حتى عن طريق 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 اعلم انه امر بسيط بنسبه للمتمرسين ولكن للمستجدين فهو امر عظيم والمتبقي هو حماية الكود من العرض او العبث بحيث لايستطيع اي شخص اخر من الحصول على الارقام السرية لأشخاص اخرين او تغييره ودمتم سالمين
الحسامي قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 الاخ ابو فيصل حماية الاكواد سهلة ادخل إلى الفيجول tools --- VBAProject properties --- protection --- ثم ادخل الباسورد عندها لا يمكن لاي احد الدخول الى الاكواد إلا بكلمة سر
BuFaisal قام بنشر مايو 3, 2010 الكاتب قام بنشر مايو 3, 2010 جزيل الشكر لكم على هذا الدعم المتواصل واعتذر على كثرة الاسئلة اخوكم بوفيصل
الجزيرة قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 (معدل) أخي أبو فيصل حياك الله ، بالنسبة للتمحيص والتفحيص فقد أثمر والحمد لله ولكن كيف يمكن تغيير مسميات الاوراق مثلا ( خالد ، محمد ، فيصل .. بدلا من Sheet1 , Sheet2 , Sheet3 ) لأنني قمت بالتعديل ولكن الكود لم يعمل ! ! السؤال مطروح للجميع : ) مع خالص التحية تم تعديل مايو 3, 2010 بواسطه الجزيرة
الحسامي قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 ولكن كيف يمكن تغيير مسميات الاوراق مثلا ( خالد ، محمد ، فيصل .. بدلا من Sheet1 , Sheet2 , Sheet3 ) كيف يعني .. سؤالك غير مفهوم
أبوعبد الله قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 أخي العزيز قم بتغيير أسماء الأوراق بالكود إلى أرقام الأوراق على سبيل المثال الورقة التي سميتها خالد والتي كان إسمها Sheet1 إطلع على رقمها من محرر ال VB وضعه بالكود بدل الإسم هكذا (Sheets(1 وهكذا حتى لوغيرت إسمها لأي إسم لن تحتاج لتغيير لكود واتبع هذا مع كل الأوراق بالكود . تحياتي أبو عبدالله
الجزيرة قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 أخي العزيز عماد بمعنى الضغط دبل كليك على اسم الورقة من الاكسل وليس من VB ومن ثم تغيير الاسم: ) -------- أخي العزيز أبو عبدالله لم تنجح معي الطريقة ، مع العلم بأن اسماء الأوراق عندي في الـ VB بالعربي هكذا (ورقة1 ، ورقة2 ... الخ )
الحسامي قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 أخي ابو عبدالله / الجزيرة هناك بعض النسخ للفيجول تحدث مشاكل عند تسمية الأوراق بالعربي يعني عند كتابة الكزد كالتالي Visible=true.("ورقة1")sheets قد لا يتقبله ولكن يمكن اعادته كتابته كالتالي حتى يتقبله Visible=true.("ورقة1")Worksheets
الجزيرة قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 شاهدوا المرفق أرجوا التعديل عليه أو جزء منه وأنا اكمل الباقي : ) اوراق محمية.rar
أبوعبد الله قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 أخي العزيز / ابو عبدالله (الجزيرة) يبدو أنك لم تفهم قصدي وقد قمت بتطبيقه في ملفك المرفق ، اطلع على الورقة 5 لمعرفة الأرقام السرية تحياتي أبو عبدالله اوراق محمية الجزيرة.rar
الجزيرة قام بنشر مايو 3, 2010 قام بنشر مايو 3, 2010 ممتاز كما هي عادتكـ أخي الكريم ولو تكرمت في حالة أدخال رقم 100 (رقم سري للمسؤول) يتم ظهور جميع الأوراق مع امكانية تغييره : )
BuFaisal قام بنشر مايو 4, 2010 الكاتب قام بنشر مايو 4, 2010 اخي الجزيرة في مشاركة التمحيص وتفحيص رقم 6 تم اضافة ارقم السري للمسؤول حيث يضهر جميع الاوراق وهو الموجود في السطر الذي يبتدء ب ElseIf
أبوعبد الله قام بنشر مايو 4, 2010 قام بنشر مايو 4, 2010 أخي العزيز / ابو عبدالله (الجزيرة) طلبك بالمرفق . تحياتي أبو عبدالله اوراق محمية الجزيرة-1.rar
هشام شلبى قام بنشر مايو 4, 2010 قام بنشر مايو 4, 2010 السلام عليكم =========== بارك الله لكم جميعا لاثراء الموضوع ارى ان الفكرة تدور حول عمل كلمة سر لاكثر من مستخدم لدخول صفحة ما فخطرت لى فكرة ان بكون لكل صفحة ومن الاساس كلمة مرور خاصة بها تكون مع صاحب الصفحة وبمكن تطبيق الامر على اكثر من صفحة بهذا الكود البسيط جدا جدا. Private Sub Worksheet_Activate() pword = InputBox("ادخل هنا محتوى الرسالة التى تظهر ", "تذكر هل لك صلاحية الدخول هنا") If pword <> "هنا ادخل كلمة المرور التى تريد" Then ActiveSheet.Visible = False End Sub شاهد المرفق كلمة مرور الشيت الاول123 كلمة مرور الشيت الاول456 تحياتى لكم فتح الشيتات بباس ورد.rar
الجزيرة قام بنشر مايو 4, 2010 قام بنشر مايو 4, 2010 أخي / أبو فيصل شكرا للتنبيه أخي العزيز / ابو عبدالله تعديل أكثر من رائع ، دائما مشاركاتك مفيدة : ) أخي العزيز / هشام شكرا لمشاركتك الراقية والجميلة
BuFaisal قام بنشر مايو 4, 2010 الكاتب قام بنشر مايو 4, 2010 أستاذ هشام انا مستخدم تقليدي قديم لبرنامج الاكسل لكن الاكواد والفجول بيسك جديده على نسبياً لذلك تعجبني الافكار التي تعطي طابع الاحترافية على العمل مثل فكرة خروج مربع للرقم السري لذا اود ان استفسر اذا كان هناك خيارات اخرى للنوافذ المنبثقة سهلة البرمجة ونستطيع استخدامها مثلا : لترحيل البيانات من فورم الى قاعدة بيانات فبدل من استخدام جدول لأدخال البيانات ثم الضغط على زر للترحيل. هل من الممكن استخدام نافذة منبثقة ندخل فيها البيانات المراد ترحيلها في اماكن تم تحديدها مسبقاً ليتم الترحيل الى قاعدة البيانات بلأضافة الى وجود خيارات اخرى في النافذة مثلا بدل من ترحيل البيانات تستطيع الانتقال / اذهاب الى قاعدة البيانات فيكون هناك امران 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.