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

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

قام بنشر

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

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

ولكم جزيل الشكرمحمد_2.xlsm

  • أفضل إجابة
قام بنشر (معدل)

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

المشكلة ليست في الحل

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

Dim Col(), WSData, Largeur(), MyRng, ligne, F, ColSearch(), J

Private Sub UserForm_Initialize()
Dim A, B, C, D
' اسماء الجداول
    A = [Tableau1]: B = [Tableau2]: C = [Tableau3]: D = [Tableau4]
    ' التعامل مع ورقة العمل النشطة
  Set WSData = ActiveSheet
  ' نطاق البيانات
  Set MyRng = WSData.Range("C10:M" & WSData.[C65000].End(xlUp).Row)
  F = WSData.Range("C10:M" & WSData.[C65000].End(xlUp).Row).Value
  
  ' ترتيب الاعمدة الظاهرة على الليست بوكس
  Col = Array(11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
  ' عرض الاعمدة
  Largeur = Array(60, 50, 60, 80, 65, 75, 75, 80, 170, 50, 15)
  Me.ListBox2.ColumnCount = UBound(Col) + 1
  Me.ListBox2.ColumnWidths = Join(Largeur, ";")
  ' اظهار البيانات على الليست بوكس
  On Error Resume Next
  Me.ListBox2.List = Application.Index(MyRng, Evaluate("Row(1:" & MyRng.Rows.Count & ")"), Col)
  On Error GoTo 0
 'اعمدة خاصة بفلترة الليست بوكس
  ColSearch = Array(11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1) '  تم تحديد عمود اسم الطالب  (يمكنك تعديله)
  J = UBound(ColSearch) + 1
  'عناوين الليست بوكس
   Transférer
   Me.ListBox1.Visible = False
   Me.Show_file.Caption = "إظهار ملف العمل"
  ' رقم الصف
  ligne = WSData.[C65000].End(xlUp).Row + 1
  Me.N_Row = ligne
   ' عدد الصفوف على الجداول
   NbLigne = [Tableau1].Rows.Count + [Tableau2].Rows.Count + [Tableau3].Rows.Count + [Tableau4].Rows.Count
If Me.ComboBox1.Value = Empty Then Counter.Caption = "المجموع" & " / " & NbLigne Else Counter.Caption = Me.ComboBox1.Text & " / " & ListBox2.ListCount + 0
End Sub
'*******************************
Sub Transférer()
On Error Resume Next
i = 0
  For Each C In Col
      i = i + 1
  Me("MH" & i).Caption = MyRng.Offset(-1).Item(1, C)
    Next
End 
'******************************
Sub Search()
  students_name = "*" & Me.TextBox12 & "*"
  Dim Tbl(): n = 0
  For i = 1 To UBound(F)
    If F(i, 3) Like students_name Then  ' فلترة باسم الطالب
      n = n + 1: ReDim Preserve Tbl(1 To J, 1 To n)
      C = 0
      For Each k In ColSearch
        C = C + 1: Tbl(C, n) = F(i, k)
      Next k
    End If
  Next i
  If n > 0 Then Me.ListBox2.Column = Tbl Else Me.ListBox2.Clear
End Sub

img?id=442933

 

محمد_3.xlsm

تم تعديل بواسطه محمد هشام.
  • Like 4

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