الجموعي قام بنشر فبراير 4, 2015 قام بنشر فبراير 4, 2015 السلام عليكم ورحمة الله تعالى وبركاته أساتذي الكرام هل من طريقة في التحكم في Scroll Bars الخاص Frame بمدى ديناميكي المطلوب في المرفق FrameScrollBars.rar
عبدالله باقشير قام بنشر فبراير 4, 2015 قام بنشر فبراير 4, 2015 السلام عليكم جرب هذا Private Sub UserForm_Activate() Dim Sh As Object Dim LastCol, i As Integer Set Sh = ThisWorkbook.Sheets(1) LastCol = Cells(2, Sh.Columns.Count).End(xlToLeft).Column MyTop = 10 For i = 1 To LastCol Set txt = Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) With txt .Text = Cells(2, i) .SpecialEffect = fmSpecialEffectSunken .TextAlign = fmTextAlignCenter .Top = MyTop .Left = 20 .Height = 24 .Width = 114 .BackColor = &HFFFFFF End With MyTop = MyTop + 30 Next Me.Frame1.ScrollHeight = MyTop End Sub 1
الجموعي قام بنشر فبراير 4, 2015 الكاتب قام بنشر فبراير 4, 2015 (معدل) السلام عليكم جرب هذا Private Sub UserForm_Activate() Dim Sh As Object Dim LastCol, i As Integer Set Sh = ThisWorkbook.Sheets(1) LastCol = Cells(2, Sh.Columns.Count).End(xlToLeft).Column MyTop = 10 For i = 1 To LastCol Set txt = Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) With txt .Text = Cells(2, i) .SpecialEffect = fmSpecialEffectSunken .TextAlign = fmTextAlignCenter .Top = MyTop .Left = 20 .Height = 24 .Width = 114 .BackColor = &HFFFFFF End With MyTop = MyTop + 30 Next Me.Frame1.ScrollHeight = MyTop End Sub بارك الله فيك / العلامة عبد الله باقشير أولا وقبل كل شيء الحمد لله على سلامتك إن شاء الله ما أبعدك عنا غير الخير سعدت جدا بمرورك وتعديلك أستاذي ملاحظة بسيطه عند إنقاص البيانات من الأعمدة مثلا تركت 5 بياناات فقط السكرول بار يبقى ظاهر لكن خاصية التمرير لا تظهر هل من إضافة للكود بحيث اذا نقصت البيانات لا يظهر السكرول بار تم تعديل فبراير 5, 2015 بواسطه دغيدى 1
ibn_egypt قام بنشر فبراير 5, 2015 قام بنشر فبراير 5, 2015 اخى الفاضل بعد إذن استاذي القدير أ.عبدالله باقشير .. اجعل الكود هكذا Private Sub UserForm_Activate() Dim Sh As Object Dim LastCol, i As Integer Set Sh = ThisWorkbook.Sheets(1) LastCol = Cells(2, Sh.Columns.Count).End(xlToLeft).Column MyTop = 10 For i = 1 To LastCol Set txt = Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) With txt .Text = Cells(2, i) .SpecialEffect = fmSpecialEffectSunken .TextAlign = fmTextAlignCenter .Top = MyTop .Left = 20 .Height = 24 .Width = 114 .BackColor = &HFFFFFF End With MyTop = MyTop + 30 Next If MyTop + 30 < Me.Height Then Me.ScrollBars = fmScrollBarsNone Me.Frame1.KeepScrollBarsVisible = fmScrollBarsNone Else Me.ScrollBars = fmScrollBarsVertical Me.Frame1.KeepScrollBarsVisible = fmScrollBarsVertical Me.Frame1.ScrollHeight = MyTop End If End Sub تحياتى
الجموعي قام بنشر فبراير 5, 2015 الكاتب قام بنشر فبراير 5, 2015 اخى الفاضل بعد إذن استاذي القدير أ.عبدالله باقشير .. اجعل الكود هكذا Private Sub UserForm_Activate() Dim Sh As Object Dim LastCol, i As Integer Set Sh = ThisWorkbook.Sheets(1) LastCol = Cells(2, Sh.Columns.Count).End(xlToLeft).Column MyTop = 10 For i = 1 To LastCol Set txt = Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) With txt .Text = Cells(2, i) .SpecialEffect = fmSpecialEffectSunken .TextAlign = fmTextAlignCenter .Top = MyTop .Left = 20 .Height = 24 .Width = 114 .BackColor = &HFFFFFF End With MyTop = MyTop + 30 Next If MyTop + 30 < Me.Height Then Me.ScrollBars = fmScrollBarsNone Me.Frame1.KeepScrollBarsVisible = fmScrollBarsNone Else Me.ScrollBars = fmScrollBarsVertical Me.Frame1.KeepScrollBarsVisible = fmScrollBarsVertical Me.Frame1.ScrollHeight = MyTop End If End Sub تحياتى جربت الكود وليس هذا ما أريده إفتراضي الفرام هو بيانات 11 عمود بمعنى عند ظهور بيانات 11 عمود في الفرام لا يظهر السكرول بار وعند إضافة عمود أخر يظهر السكرول بار ويبقى عند أخر بيانات
الجموعي قام بنشر فبراير 5, 2015 الكاتب قام بنشر فبراير 5, 2015 اخى الفاضل تحياتى معذرة أستاذي كان الخطأ من عندي لأني لم أحذف هذا السطر من الكود عندما أدرجت الكود المعدل من طرفك Me.Frame1.ScrollHeight = (Sh.Columns.Count * 2) وبذلك هنالك تعرض في الكود فعلا هو المطلوب وجزاك الله كل الخير أستاذي ماهي الطريقة لتغيير تكست بوكس إلى كمبوبوكس بخاصية إدارة الأسماء مثلا في العمود الثالث في الفووم اريد ان يظهر كمبوبوكس مكان تكست بوكس وهكذا
ibn_egypt قام بنشر فبراير 5, 2015 قام بنشر فبراير 5, 2015 وبذلك هنالك تعرض في الكود فعلا هو المطلوب وجزاك الله كل الخير أستاذي ماهي الطريقة لتغيير تكست بوكس إلى كمبوبوكس بخاصية إدارة الأسماء مثلا في العمود الثالث في الفووم اريد ان يظهر كمبوبوكس مكان تكست بوكس وهكذا أخى الفاضل جرب الملف المرفق لربما به طلبك تحياتي FrameScrollBars.rar
الجموعي قام بنشر فبراير 5, 2015 الكاتب قام بنشر فبراير 5, 2015 وبذلك هنالك تعرض في الكود فعلا هو المطلوب وجزاك الله كل الخير أستاذي ماهي الطريقة لتغيير تكست بوكس إلى كمبوبوكس بخاصية إدارة الأسماء مثلا في العمود الثالث في الفووم اريد ان يظهر كمبوبوكس مكان تكست بوكس وهكذا أخى الفاضل جرب الملف المرفق لربما به طلبك تحياتي أستاذي إبن مصر شكرا على المجهود ليست هذه الطريقة التي اريدها أريد كود مرن بحيث لا ألجأ كل مرة إلى تعديل في الكود
عبدالله باقشير قام بنشر فبراير 5, 2015 قام بنشر فبراير 5, 2015 السلام عليكم جرب هذا Private Sub UserForm_Activate() Dim Sh As Object Dim LastCol, i As Integer Set Sh = ThisWorkbook.Sheets(1) LastCol = Cells(2, Sh.Columns.Count).End(xlToLeft).Column MyTop = 10 For i = 1 To LastCol Set txt = Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) With txt .Text = Cells(2, i) .SpecialEffect = fmSpecialEffectSunken .TextAlign = fmTextAlignCenter .Top = MyTop .Left = 20 .Height = 24 .Width = 114 .BackColor = &HFFFFFF End With MyTop = MyTop + 30 Next Me.Frame1.ScrollHeight = MyTop End Sub بارك الله فيك / العلامة عبد الله باقشير أولا وقبل كل شيء الحمد لله على سلامتك إن شاء الله ما أبعدك عنا غير الخير سعدت جدا بمرورك وتعديلك أستاذي ملاحظة بسيطه عند إنقاص البيانات من الأعمدة مثلا تركت 5 بياناات فقط السكرول بار يبقى ظاهر لكن خاصية التمرير لا تظهر هل من إضافة للكود بحيث اذا نقصت البيانات لا يظهر السكرول بار الله يسلمك ...........جزاكم الله خير بالنسبة لسؤالك يمكنك تغيير الخاصية KeepScrollBarsVisible الى الخيار 0 (fmScrollBarsNone) اثناء التصميم تحياتي 1
الجموعي قام بنشر فبراير 5, 2015 الكاتب قام بنشر فبراير 5, 2015 الله يسلمك ...........جزاكم الله خير بالنسبة لسؤالك يمكنك تغيير الخاصية KeepScrollBarsVisible الى الخيار 0 (fmScrollBarsNone) اثناء التصميم تحياتي بارك الله فيك أستاذي العلامة القديرعلى هذه المساعدة ياريت إضافة للكود ماهي الطريقة لتغيير تكست بوكس إلى كمبوبوكس بخاصية إدارة الأسماء كما فعلت في ملفك كود بحث وتعديل مرن اريد كود سهل وسلس بعيد عند تلك الأكواد المعقدة مثلا في العمود الثالث في الفورم اريد ان يظهر كمبوبوكس مكان تكست بوكس وهكذا حسب إختياري للعمود
عبدالله باقشير قام بنشر فبراير 6, 2015 قام بنشر فبراير 6, 2015 الله يسلمك ...........جزاكم الله خير بالنسبة لسؤالك يمكنك تغيير الخاصية KeepScrollBarsVisible الى الخيار 0 (fmScrollBarsNone) اثناء التصميم تحياتي بارك الله فيك أستاذي العلامة القديرعلى هذه المساعدة ياريت إضافة للكود ماهي الطريقة لتغيير تكست بوكس إلى كمبوبوكس بخاصية إدارة الأسماء كما فعلت في ملفك كود بحث وتعديل مرن اريد كود سهل وسلس بعيد عند تلك الأكواد المعقدة مثلا في العمود الثالث في الفورم اريد ان يظهر كمبوبوكس مكان تكست بوكس وهكذا حسب إختياري للعمود جزاكم الله خيرا اذا كان هناك تعليق على الخلية سيقوم باضافة قائمة Private Sub UserForm_Activate() Dim Sh As Worksheet Dim txt As MSForms.Control Dim LastCol As Integer, i As Integer Set Sh = ThisWorkbook.Sheets(1) LastCol = Sh.Cells(2, Sh.Columns.Count).End(xlToLeft).Column MyTop = 10 For i = 1 To LastCol If Not Sh.Cells(2, i).Comment Is Nothing Then Set txt = Frame1.Controls.Add("Forms.Combobox.1", "MyTxt" & i) Else Set txt = Frame1.Controls.Add("Forms.TextBox.1", "MyTxt" & i) End If With txt .Move 20, MyTop, 114, 24 .Text = Sh.Cells(2, i) .SpecialEffect = fmSpecialEffectSunken .TextAlign = fmTextAlignCenter .BackColor = &HFFFFFF End With MyTop = MyTop + 30 Next Me.Frame1.ScrollHeight = MyTop End Sub المرفق 2003 1
الجموعي قام بنشر فبراير 6, 2015 الكاتب قام بنشر فبراير 6, 2015 الله يسلمك ...........جزاكم الله خير بالنسبة لسؤالك يمكنك تغيير الخاصية KeepScrollBarsVisible الى الخيار 0 (fmScrollBarsNone) اثناء التصميم تحياتي بارك الله فيك أستاذي العلامة القديرعلى هذه المساعدة ياريت إضافة للكود ماهي الطريقة لتغيير تكست بوكس إلى كمبوبوكس بخاصية إدارة الأسماء كما فعلت في ملفك كود بحث وتعديل مرن اريد كود سهل وسلس بعيد عند تلك الأكواد المعقدة مثلا في العمود الثالث في الفورم اريد ان يظهر كمبوبوكس مكان تكست بوكس وهكذا حسب إختياري للعمود جزاكم الله خيرا اذا كان هناك تعليق على الخلية سيقوم باضافة قائمة Private Sub UserForm_Activate() Dim Sh As Worksheet Dim txt As MSForms.Control Dim LastCol As Integer, i As Integer Set Sh = ThisWorkbook.Sheets(1) LastCol = Sh.Cells(2, Sh.Columns.Count).End(xlToLeft).Column MyTop = 10 For i = 1 To LastCol If Not Sh.Cells(2, i).Comment Is Nothing Then Set txt = Frame1.Controls.Add("Forms.Combobox.1", "MyTxt" & i) Else Set txt = Frame1.Controls.Add("Forms.TextBox.1", "MyTxt" & i) End If With txt .Move 20, MyTop, 114, 24 .Text = Sh.Cells(2, i) .SpecialEffect = fmSpecialEffectSunken .TextAlign = fmTextAlignCenter .BackColor = &HFFFFFF End With MyTop = MyTop + 30 Next Me.Frame1.ScrollHeight = MyTop End Sub المرفق 2003 ما شاء الله جزاك الله خيرا لكن ما هي الطريقة التي نغذي بها القائمة انا حاولت بهذا الكود ونجح معي الأمر قمت بإدراج تعليق في العمود الخامس وأضفت هذا الكود للفورم ياريت تعديل ليصبح الإختيار مرن كما فعلت عند إدراج تعليق يدرج كمبوبوكس For i = 5 To 5 Me.Controls("MyTxt" & i).RowSource = "MyRange" Next
عبدالله باقشير قام بنشر فبراير 8, 2015 قام بنشر فبراير 8, 2015 السلام عليكم اذا كان هناك تعليق على الخلية سيقوم باضافة قائمة وسيقوم باستخدام الاسم الموجود في التعليق لنطاق القائمة شاهد المرفق 2003 FrameScrollBars1.rar 4
ياسر خليل أبو البراء قام بنشر فبراير 8, 2015 قام بنشر فبراير 8, 2015 أخي الحبيب ومعلمنا الكبير عبد الله باقشير ما أروعك ما أبدعك ما أجملك ما أخف ظلك ما أحلاك نقف جميعاً أمام إبداعاتك صااااااااااااااااااااااااااااااااامتين ..تأخذنا الدهشة والروعة !! جزيت عنا خير الجزاء في الدنيا والآخرة ، وجمع الله بيننا في الفردوس الأعلى اللهم آمين 4
الجموعي قام بنشر فبراير 8, 2015 الكاتب قام بنشر فبراير 8, 2015 السلام عليكم اذا كان هناك تعليق على الخلية سيقوم باضافة قائمة وسيقوم باستخدام الاسم الموجود في التعليق لنطاق القائمة شاهد المرفق 2003 FrameScrollBars1.rar معلمي القدير جزاك الله كل خير وأثابك الله الجنه إستفسار بسيط قمت بترك عمود فارغ وعند تشغيل الفورم ظهر التكست بوكس فارغ هل من طريقه عند وجود عمود فارغ ينتقل مباشرة لبيانات للعمود الاخر وشكرا
ياسر خليل أبو البراء قام بنشر فبراير 9, 2015 قام بنشر فبراير 9, 2015 أخي الغالي الجموعي جرب الكود بهذا التعديل البسيط ..إذا كانت الخلية فارغة وحتى لو بها تعليق فلن يتم عمل مربع نص لها Private Sub UserForm_Activate() Dim Sh As Worksheet Dim txt As MSForms.Control Dim LastCol As Integer, I As Integer Dim Nam As String On Error GoTo kh_Exit Set Sh = ThisWorkbook.Sheets(1) LastCol = Sh.Cells(2, Sh.Columns.Count).End(xlToLeft).Column MyTop = 10 For I = 1 To LastCol If Not IsEmpty(Sh.Cells(2, I)) Then If Not Sh.Cells(2, I).Comment Is Nothing Then Set txt = Frame1.Controls.Add("Forms.Combobox.1", "MyTxt" & I) Nam = Trim(Sh.Cells(2, I).Comment.Text) If Not IsError(Evaluate(Nam)) Then txt.RowSource = Nam Else Set txt = Frame1.Controls.Add("Forms.TextBox.1", "MyTxt" & I) End If With txt .Move 20, MyTop, 114, 24 .Text = Sh.Cells(2, I) .TextAlign = 2 End With MyTop = MyTop + 30 End If Next Me.Frame1.ScrollHeight = MyTop kh_Exit: End Sub 2
الجموعي قام بنشر فبراير 9, 2015 الكاتب قام بنشر فبراير 9, 2015 أستاذي الفاضل/ ياسر خليل بارك الله فيك ياريت تشرح لي هذه الجزئية من الكود الذي تفضل به العلامة القدير /عبد الله باقشير If Not IsEmpty(Sh.Cells(2, I)) Then If Not Sh.Cells(2, I).Comment Is Nothing Then Set txt = Frame1.Controls.Add("Forms.Combobox.1", "MyTxt" & I) Nam = Trim(Sh.Cells(2, I).Comment.Text) If Not IsError(Evaluate(Nam)) Then txt.RowSource = Nam
ياسر خليل أبو البراء قام بنشر فبراير 9, 2015 قام بنشر فبراير 9, 2015 أخي الحبيب الجموعي السطر الأول لو الخلية في الصف الثاني في العمود I حيث أن I متغير يتغير بتغير الأعمدة ...لو كانت الخلية تحتوي على تعليق السطر الثاني يتم إنشاء قائمة منسدلة السطر الثالث تعيين قيمة للمتغير nam والقيمة هي محتوى نص التعليق مع إزالة المسافات الزائدة السطر الأخير التأكد من صحة النطاق المسمى (على ما أعتقد) ومن ثم تعيين هذا النطاق ليكون مصدر البيانات للقائمة المنسدلة 2
الجموعي قام بنشر فبراير 9, 2015 الكاتب قام بنشر فبراير 9, 2015 أخي الحبيب الجموعي السطر الأول لو الخلية في الصف الثاني في العمود I حيث أن I متغير يتغير بتغير الأعمدة ...لو كانت الخلية تحتوي على تعليق السطر الثاني يتم إنشاء قائمة منسدلة السطر الثالث تعيين قيمة للمتغير nam والقيمة هي محتوى نص التعليق مع إزالة المسافات الزائدة السطر الأخير التأكد من صحة النطاق المسمى (على ما أعتقد) ومن ثم تعيين هذا النطاق ليكون مصدر البيانات للقائمة المنسدلة كفيت ووفيت أستاذي الفاضل جزاك الله كل الخير تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.