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

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

قام بنشر

تحية طيبة

في المرفق فورم فيه ولست بوكس

المطلوب هو تسمية الأعمدة في اللست بوكس وتحيدها بالصف الأول في الصفحة من A1:E1 بحيث أنه عندما أفتح الفورم تظهر عندي أسماء الأعمدة محددة كما تم ضبطها بالبيانات الموجودة في الخلايا المحددة A1:E1

ولكم جزيل الشكر والاحترام

اسماء رؤوس الاعمدة في Listbox.rar

قام بنشر

شكرا أخي ابراهيم

ولكن هذه الطريقة تحدد مصدر بيانات الليست بوكس وليس أسماء رؤوس الأعمدة

شكرا على جهودك وجزاك الله خيرا

قام بنشر

السلام عليكم

جرب هكذا أخي أبو تميم


Private Sub UserForm_Initialize()

Me.ListBox1.ColumnHeads = False

Me.ListBox1.ColumnCount = 5

Dim Rn As Range

Dim cl As Range

    Set Rn = Range("A1:E1")

    For Each cl In Rn.Columns(1).Cells

	  With ListBox1

		    .AddItem cl.Offset(, 0)

		    .List(.ListCount - 1, 0) = cl.Offset(, 1)

		    .List(.ListCount - 1, 1) = cl.Offset(, 2)

		    .List(.ListCount - 1, 2) = cl.Offset(, 3)

		    .List(.ListCount - 1, 3) = cl.Offset(, 4)

	  End With

    Next cl

End Sub

قام بنشر

جزاك الله خيرا أستاذي ابو نصار

الكود يعمل ولكن إذا قمنا باستعراض البيانات من الملف عبر الفورم يتم إلغاء رؤوس الأعمدة التي تم عرضها

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

علما انه يتم عرض البيانات من خلال الضغط على زر بحث في الفورم

شكرا جزيلا وجزاكم الله خيرا

قام بنشر

شكرا جزيلا أستاذنا القدير ابو نصار

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

فورم بحث - اوفيسنا.rar

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

شكرا أستاذنا القدير ابو نصار

هنا تظهر أسماء الأعمدة ولكن عندما تكون البيانات المعروضة كبيرة ونسحب البيانات إلى الأعلى أو الاسفل فإن رءوس الأعمدة هنا تتحرك مع تحرك البيانات وعندما نستعرض البيانات السفلية فإن رؤوس الأعمدة هنا تبقى في أول الجدول ولا تظهر لأنها كما أسلفنا تتحرك مع تحرك البيانات

هل يمكننا أن نبقي رؤوس الأعمدة ظاهرة بحيث إذا حركنا البيانات إلى الأعلى أو الأسفل لا تتحرك معها باعتبارها رئس جدول أو قائمة

جزاكم الله خيرا

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

بإمكانك عمل ليبلات أعلا الليست

بحيث تأخذ البيانات من رؤوس الأعمدة

أكيد بتقولي والسكرول إيه الحل معاه ؟

في أداة بنظري أنها أروع من الليست إسمها " Listview "

تجي لها رؤوس أعمده ثابته

إستخدمتها في عمل سابق في هذا المنتدى

كي تشاهد إستخدامها

http://www.officena.net/ib/index.php?showtopic=41175&st=20

مشاركة رقم 40#

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

شكرا جزيلا أستاذ ابو نصار

أنا شاهدت الملف وسأعمل على تطبيقه بإذن الله تعالى وإن شاء الله يمشي معي

نراكم بالنتائج إن شاء الله وفي حال لم يمشي الحال سنتابع بطريقتكم لأنها أعجبتني من النظرة الأولى

قام بنشر

أستاذ ابو نصار جزاك الله خيرا

أعجبتني فكرة Listview ولكن ليس لي أية خبرة فيها

هل يمكن تطبيقها على ملفي السابق بحيث يتم عمل بحث في ورقة معينة وبالخيارات نفسها التي تم تطبيقها في الملف السابق وتغيير Listbox و وضع بدلا منها Listview

جزاكم الله خيرا

قام بنشر

جزاكم الله خيرا أستاذنا القدير ابو نصار

دايما مغلبينك معانا

الله يعطيك ألف عافية ويديمها عليك

دمت في حفظ الله ورعايته

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

جزاك الله خيرا أستاذي ومعلمي القدير ابو نصار

عمل رهيب جدا الله يعطيك ألف عافية

الفورم يعمل معي بشكل ممتاز جدا

ولدي بعد إذنكم أستاذنا القدير استفسار بسيط

1. هل يمكن أن نلغي الترقيم الذي يظهر في الـListView حيث أنه يقوم بترقيم الأسطر التي تظهر فيه مما يعمل على إزاحة البيانات المراد إظهارها بحيث أنها لا تظهر في جدولها الصحيح وإنما تظهر تحت العمود المجاور لها لان الترقيم هنا يأخذ عمود من هذه الاعمدة ويعمل على إزاحة باقي البيانات إلى الأعمدة المجاورة

عدا ذلك البيانات أساسا هي مرقمة بترقيم يعمل بشكل متسلسل عند إضافة البيانات

2. هل يمكن أن يتم ضبط عرض البيانات داخل ListView بحيث تكون الكلمات في وسط العامود وليس إلى اليسار حيث أني حاولت ضبطها ولم أفلح بذلك .. إضافة إلى ذلك ضبط رؤوس الأعمدة أيضا بحيث تكون في الوسط حيث أنها تظهر إلى اليسار

ملاحظة بسيطة لم أفهمها

في الملف الأصلي ( المعدل من قبلكم ) يعمل بشكل ممتاز بدون مشاكل

في ملف العمل عندي لم يعمل الفورم حتى قمت يتعديل الكود التالي :

Private Sub UserForm_Activate()

Dim wColmn As String

Dim i As Integer

Dim ww As Double

With ListView1

.View = lvwReport

.HideSelection = False

.FullRowSelect = True

.HotTracking = True

.HoverSelection = False

End With
ليصبح كما يلي :
Private Sub UserForm_Activate()

Dim wColmn As String

Dim i As Integer

Dim ww As Double

With ListView1

.View = 3

.HideSelection = False

.FullRowSelect = True

.HotTracking = True

.HoverSelection = False

End With

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

جزاكم الله خيرا

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

أستاذنا القدير أبو نصار

جزاك الله خيرا كفيت و وفيت ولا يكلف الله نفسا إلا وسعها

وإذا توصلتم إلى حل للتوسيط مستقبلا أرجو أن تضعوه لنا في هذا المنتدى في موضوع منفصل حتى يستفيد منه جميع الاعضاء

جزاكم الله خيرا وبارك فيكم أستاذنا القدير ابو نصار

واسأل الله العلي القدير أن يحفظكم والعائلة الكريمة

دمتم في حفظ الله ورعايته

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