إجمالي مرات مشاهدة الصفحة

السبت، 16 أبريل 2016

إنشاء زر أمر Command Button ActiveX Control واستخدام الدالة IIF للتبديل

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

أقدم لكم كيفية إنشاء زر أمر Command Button والتعرف على دالة مفيدة تشبه الدالة IF والدالة تسمى IIF ويتم التعامل معها من خلال سطر واحد فقط.

إنشاء زر الأمر Command Button ActiveX Control :
قم برسم زر الأمر من خلال التبويب Developer ثم Insert ثم انقر على زر الأمر Command Button كما في الصورة التالية :
قم برسم زر الأمر على ورقة العمل ، ثم كليك يمين على الزر ثم اختر الأمر Properties ثم غير الخاصية Caption إلى Hide أي إخفاء (حيث سنقوم بإخفاء العمودين H و I)
الآن بعد تغيير عنوان زر الأمر قم بعمل دبل كليك على الزر للدخول لمحرر الأكواد ، سيظهر معك
قم بوضع الأسطر التالية ما بين القوسين
Private Sub CommandButton1_Click()
    CommandButton1.Caption = IIf(CommandButton1.Caption = "Hide", "Show", "Hide")
    Columns("H:I").Hidden = Not Columns("H:I").Hidden
End Sub

أخيراً قم بالخروج من وضع التصميم Design Mode بالنقر على الأمر كما في الصورة
الآن نأتي لمرحلة التنفيذ ، قم بالنقر على زر الأمر ولاحظ ما يحدث .. الأعمدة المذكورة تختفي ويتغير عنوان زر الأمر إلى Show .. انقر مرة أخرى سيحدث العكس أي أن الأعمدة المذكورة ستظهر ويتغير عنوان الزر إلى Hide مرة أخرى.

تحميل الملف من هنا

إعداد / ياسر خليل أبو البراء


هناك 9 تعليقات:

  1. بارك الله فيك أخي أبو مالك

    ردحذف
  2. دائما تبدع أخي العزيز ياسر ..وفقك الله لكل خير..
    أخي ياسر عندي كود إخفاء وإظهار صفوف بناءً على قيمة خلية معينة ممكن عمل نفس الطريقة بزر واحد ..مع إحترامي وتقديري... الكود
    Sub show()
    Application.ScreenUpdating = False

    Rows("4:300").Select
    Selection.EntireRow.Hidden = False
    Range("a3").Select

    Application.ScreenUpdating = True

    End Sub

    Sub Hidden()
    Application.ScreenUpdating = False
    Range("g4:g300").Select
    For Each cell In Selection
    If cell.Value = 0 Or cell.Value = "" Then
    cell.EntireRow.Hidden = True
    End If
    Next cell
    Range("a4").Select

    Application.ScreenUpdating = True
    End Sub

    ردحذف
  3. نعم يمكن عمل ذلك إذا كانت الصفوف معروفة ومحددة أما إذا كنت تعتمد على قيمة خلية واختبار الشرط فيها فلابد إما من عمل تكرار للخلايا في النطاق المراد فحص قيمه أو إما باستخدام الفلترة ..

    ردحذف
  4. شكرا لك أخي ياسر ممكن على الإجابة السريعة ..
    ممكن عمل الكود الذي ارسلته بنفس الطريقة التي عملتها .. وعمل موضوع فيها على منتدى أوفسنا واني من متابعين مواضيعك الرائعة ..وشكرا مع إحترامي وتقديري

    ردحذف
  5. أخي الكريم قم بطرح موضوع على المنتدى وارفق ملفك وإن شاء الله إذا تيسر الأمر سأقوم بالعمل عليه

    ردحذف
  6. شكرا لك اخي العزيز ياسر وفقك الله للطاعات

    ردحذف
  7. بارك الله فيك على دعائك الطيب المبارك ، ولك بمثل إن شاء الله

    ردحذف
  8. استاذي ياسر خليل بعد التحية عندي اكثر من موضوع ممكن اعرضة علي سيادتكم لو سمحت لي بارك الله فيكم وجعلكم سندا بعلمكم الواسع لنا ولجميع كل سنة وانتم طيبين

    ردحذف