اذهب الي المحتوي
أوفيسنا

عند الضغط على checkbox يقوم بنسخ محتويات العمود من شيت1 الى شيت2


Alaaq3
إذهب إلى أفضل إجابة Solved by محمد هشام.,

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

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

انتبه من فضلك .. مشاركة مكررة فقد تــــم بالفعل حذف المشاركة الأخرى

check column.jpg

check column.xlsm

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

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

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

جرب  هذا  الملف  ..لقد  تم  وضع  زر  لمسح  بيانات  الورقة  الثانية اذا  اردت  بدء  العملية من جديد

check column (1).xlsm

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

  • أفضل إجابة

بعد ادن الاستاد  عبدالفتاح في بي اكسيل     ..اليك حل اخر يغنيك عن اضافة ازرار اخرى

Option Explicit
Private Sub CheckBox1_Click()
    Call ForAllCheckBoxes(CheckBox1)
End Sub
Private Sub CheckBox2_Click()
    Call ForAllCheckBoxes(CheckBox2)
End Sub
Private Sub CheckBox3_Click()
    Call ForAllCheckBoxes(CheckBox3)
End Sub
Private Sub CheckBox4_Click()
    Call ForAllCheckBoxes(CheckBox4)
End Sub
Private Sub CheckBox5_Click()
    Call ForAllCheckBoxes(CheckBox5)
End Sub
Private Sub ForAllCheckBoxes(ChkBox As Control)
    Dim fndHead As Range, col As Long
   If ChkBox.Value = True Then
    With Sheets("Sheet2")
        Set fndHead = .Range("1:1").Find(What:=ChkBox.Caption, LookIn:=xlValues, _
                                        LookAt:=xlWhole, SearchOrder:=xlByColumns, _
                                        SearchDirection:=xlNext, MatchCase:=False)
        If Not fndHead Is Nothing Then
            MsgBox "The " & ChkBox.Caption & " column already exists" & vbLf & _
                   "You need to uncheck to remove existing first"
            Exit Sub
        End If
    End With
      
    With Sheets("Sheet1")
        Set fndHead = .Range("1:1").Find(What:=ChkBox.Caption, LookIn:=xlValues, _
                                        LookAt:=xlWhole, SearchOrder:=xlByColumns, _
                                        SearchDirection:=xlNext, MatchCase:=False)
        If Not fndHead Is Nothing Then
                       .Columns(fndHead.Column).Copy
        Else
            MsgBox ChkBox.Caption & "Not found"
            Exit Sub
        End If
    End With
        With Sheets("Sheet2")
        If .Cells(1) = "" Then
            col = 1
        Else
            col = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1
        End If
                .Columns(col).PasteSpecial
    End With
        Application.CutCopyMode = False
    Else
        With Sheets("Sheet2")
        Set fndHead = .Range("1:1").Find(What:=ChkBox.Caption, LookIn:=xlValues, _
                                        LookAt:=xlWhole, SearchOrder:=xlByColumns, _
                                        SearchDirection:=xlNext, MatchCase:=False)
        If Not fndHead Is Nothing Then
                        .Columns(fndHead.Column).Delete
        End If
    End With
End If
End Sub

check column.xlsm

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

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

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

@Alaaq3  هل  قرات توقيعي في  الاسفل  حتى تطلب  متطلبات جديدة .

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

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

كان  وجب  عليك  اضافة كل  تفاصيلك  بدلا  من  كل  مرة  تطلب  شيء .

تحياتي .

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

الاخ العزيز عبد الفتاح.. شكراً لمتابعتك مواضيع المنتدى بشكل دقيق ومجدي وقد اجبت عن موضوعي مشكوراً، كذلك انا رأيت توقيعك بعدم التعديل وتفهمت الموضوع ولم اطلب تعديلاً بناءً على توقيعك الموقر وقلت(اردتُ ان اطلب) وبالفعل لم اطلب هذا في الواقع .

اما بخصوص تنويهك بإضافة كل تفاصيل الموضوع من البداية بدلاً من طلبات التعديل في كل مرة؟! 

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

تحياتي 🌹

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

اقتباس

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

 لم  تشير  الى  اي  شيء اسمه  حدف  عندما  تقوم  بالغاء  اختيار  checkbox 

اقتباس

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

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

هنا  اتعامل  عن  تركيبة  البيانات  في  الورقة  واليوزرفورم  ثم  تنشر  النتائج  المتوقعة كيف  تكون  في  كل  حالة . 

لذلك  لا  تستغرب  ان  لا  احد  ينظر  الى  موضوعك  وتكرره  اكثر  من  مرة  دون  ابداء  اي  استعداد  منك  لمراجعة  ملفك  ونشر  مزيد  من  التفاصيل .

على  الاقل  لماذا   لم  تحاول  حتى  محاولة  من  خلال قراءة كود @Mohamed Hicham  لتفهمه  كان  من  الممكن  فعل  ذلك  من خلال فكرة بسيطة . 

في موديول  اليوزرفورم 

 

Private Sub ForAllCheckBoxes(ChkBox As Control)
Dim fndHead As Range
With sh2
 Set fndHead = .Rows("1:1").Find(What:=ChkBox.Caption, LookAt:=xlWhole)
    If Not fndHead Is Nothing Then .Columns(fndHead.Column).Delete
End With
End Sub

 

وقم  باستدعائه لكل واحد  منهم  من حدث التشيك بوكس  مع  مراعاة رقمه

If .Value = False Then Call ForAllCheckBoxes(CheckBox1)

 

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

أُستاذنا العزيز عبد الفتاح... اجدد شكري وتقديري لحظرتك وأُقدر حرصك على المواضيع التي تُطرح في المنتدى. استاذنا لم اطلب مراجعة جميع أسطر المحرر بل اعتمدت على شكل اليوزر فورم من خلال الملف المرفق والصورة لذلك من البديهي إن خاصية وعمل أداة الـ checkbox هي اتخاذ إجراء وإلغاءه (check & Uncheck) 

أما عن المحاولات فإني حاولت كثيراً ولم افلح لذلك التجأت للاساتذة في هذا المنتدى. تحياتي

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

السؤال  الذي  يطرح  نفسه   هل  قلت  يجب  الحدف  عند  الغاء  checkbox    لم  تشير  اليها  اطلاقا  في  شرحك . 

من  قال  لك  من  البديهي  ايضا  الغاء  الاجراء  يمكن  استخدامه  في  امور  كثيرة  ماذا  لوكان  عند  الغاءه  يتم  الحفاظ  عليه  ماذا  لو  عدت لاختياره  يقوم  بنسخ متكرر  كل  هذه  الامور  لم  توضحها .

هل  يجب  ان  اخمن  ما  يدور  في  عقلك . اذا  كنت  تُصر  على  ان  موضوعك  واضح ،  اعذرني  لقد  اخطأت  بالدخول  الى  الموضوع  الخاطئ  ولن  اخوض  في  مواضيعك  مستقبلا .

تحياتي .

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information