ياسر خليل أبو البراء قام بنشر مارس 3, 2016 قام بنشر مارس 3, 2016 السلام عليكم ورحمة الله وبركاته إخواني الكرام تعودنا على التلقي وفقط .. ويبدو أن أسلوب التلقي لن يوصلنا إلى الترقي .. من ثم سنتجه نحو منحدرٍ آخر لعلنا نصل إلى العلياء بعد الانحدار خطر ببالي فكرة ... وهي أن نتناول موضوع للبحث كل أسبوع (كل يوم جمعة) إن شاء الله ، نبحث جميعاً ونوجد الحلول ونستخدم كل الإمكانيات الممكنة للوصول لأفضل الحلول .. والتي من شأنها تجعلنا نرتقي ونتقدم في هذا المجال موضوعنا اليوم للبحث هو كيفية إخفاء كل الأعمدة ما عدا أعمدة محددة... حتى نكون أكثر دقة دعنا نخفي كل الأعمدة ونبقي فقط العمود 1 و 3 و 5 و 10 و 15 و 26 ..أي أن هذه الأعمدة ستكون هي فقط الأعمدة الظاهرة كل يدلي بدلوه في موضوع البحث تقبلوا وافر تقديري واحترامي 2
أبوبسمله قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 حبيبى الغالى أبو البراء دى مساهمه بسيطه منى من اجل التعلم والبحث المثمر فى سبيل التعلم طبعا انا عارف ان فى طرق ابسط واسهل من كده بس هحاول برضه للاحسن Sub hid() Sheets("ورقة2").Select Columns("b").Hidden = True Columns("d").Hidden = True Columns("f:i").Hidden = True Columns("k:n").Hidden = True Columns("p:y").Hidden = True Columns("aa:xfd").Hidden = True End Sub جزاك الله كل خير يا ابو البراء hid_ahmed.rar 2
سليم حاصبيا قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 كود بسيط لهذا الغرض Sub xx() Columns.Hidden = True Range("a1,c1,e1,j1,o1,z1").EntireColumn.Hidden = False End Sub 5
ياسر خليل أبو البراء قام بنشر مارس 4, 2016 الكاتب قام بنشر مارس 4, 2016 أخي الحبيب أحمد بارك الله فيك على مساهماتك في كافة الموضوعات .. الكود مباشر بهذا الشكل ... والسؤال ماذا لو كانت الأعمدة المطلوبة أكثر من ذلك ؟ فلنقل 20 عمود ..أعتقد وقتها سيكون عليك كتابة المزيد من الأسطر أخي الغالي سليم كودك رائع وفي منتهى البساطة في نفس الوقت ، ويفي بالغرض وزيادة .. هكذا يجب أن يكون التفكير بشكل بسيط ويؤدي الغرض ويسهل التعامل معه تقبلوا وافر تقديري واحترامي 2
محمد علي سالم قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 موضوع جميل جدا من استاذي ياسر خليل ابو البراء وحلول اجمل من المبدعين في هذا الصرح الجميل أحمد الفلاحجي وسليم حاصبيا بارك الله فيكم ونفع بكم الامه الاسلامية ملاحظة صغير لاخي المبدع احمد الفلاحجي هو اني إذا تم حذف عمود لا يمكن استرجاعه في الكود تبعك بمعنى اني إذا حذفت العمود c ثم اردت استرجاعة لا يمكن استرجاع العمود بالكود تبعك ولك كل التقدير والاحترام 1
أبوبسمله قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 اخى سليم تسلم ايدك حل بسيط وجميل اخى ابو البراء اعلم انه اذا كانت اكثر من ذلك لكتبت اكثر من السطور ولكن وانت ادرى بذلك انه ليس لى فى كتابة الاكواد ياراجل انا قعدت ادور لمدة ساعة هههههههههه عما لاقيت حاجه تبل ريقى ههههههههه اخى محمد على سالم اود ان اقول لك بان هذا الموضوع لا يتكلم عن الحذف بل يتكلم عن الاخفاء فقط ثم انك ان حذفت سواء عمود او صف يقوم الاكسيل بادراجه مره اخرى لعلى لم افهم ما تشير اليه بالشكل الصحيح ولاكن ليس هذا موضوعنا نحن هنا للمشاركه بالبحث عن حلول وليس تقديم حلول فكما قال اخى ابو البراء دائما نتلقى فاردت ان اتوجه كما قال اخى ابو البراء لارتقى مع علمى بانه يوجد ابسط حلول من حلى ولاكن التعلم ليس بالشىء السهل ولا بالصعب ولاكن بالبحث عن المعلومات اللتى تريد ان تتعلمها انا الحين لا اشارك لاجل استفسار معين لى بل لمزيد من الرقى بالتعلم والاستفاده جزاكم الله كل خير احبابى فى الله جمعنا الله على طاعته ومحبته 3
ياسر خليل أبو البراء قام بنشر مارس 4, 2016 الكاتب قام بنشر مارس 4, 2016 أخي الحبيب أحمد الفلاحجي أنا ممتن جداً لمشاركتك ..بالعكس مشاركتك قيمة جداً ، والموضوع مقدم للمناقشة حول الأكواد المقدمة وايس تقديم الحلول فحسب .. فمن شأن النقاش أن يعلمنا أفضل الطرق ويعملنا أساليب جديدة وطرق شتى للوصول لحل ثم إنه في النهاية يمكن الدمج بين الحلول المختلفة لخلق حل جديد لم يكن يخطر ببال أحد منا .. فليشارك الجميع ..أريد ان يكون الموضوع إيجابي الموضوع سيكون إن شاء الله ممتد لأسبوع .. ابحثوا وحاولوا وتعلموا واجتهدوا .. وليكن شعارنا معاً نرتقي تقبلوا تحياتي 2
أبوبسمله قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 قمت بعمل تجربه بكود اخى سليم ونجحت برضه قمت بتسمية النطاق ولم التزم بالنطاق للسرعه اخترت عمود وعمود ثم كتبت اسم النطاق اشارككم بها hid_ahmed-slim.rar 1
ياسر خليل أبو البراء قام بنشر مارس 4, 2016 الكاتب قام بنشر مارس 4, 2016 وبمكنك بدلاً من تسمية نطاق معرف .. يمكن الإشارة إلى النطاق في الكود نفسه بهذا الشكل Sub xx() Dim rng As Range Set rng = Range("a1,c1,e1,j1,o1,z1") Columns.Hidden = True rng.EntireColumn.Hidden = False End Sub وهي نفس فكرة أخونا الغالي سليم بالضبط مع فصل النطاق لنعبر عنه بمتغير .. بدلاً من تسمية نطاق بهذا الشكل .. =ورقة1!$A:$A,ورقة1!$C:$C,ورقة1!$E:$E,ورقة1!$G:$G,ورقة1!$I:$I,ورقة1!$K:$K,ورقة1!$M:$M,ورقة1!$O:$O,ورقة1!$Q:$Q,ورقة1!$S:$S,ورقة1!$U:$U,ورقة1!$W:$W,ورقة1!$Z:$Z ابحث عن الأيسر والأسهل تقبل تحياتي 2
saad abed قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 Sub saadabed() Dim X As Long For X = 1 To 147 Sheets("Table").Columns("a").Offset(, X).EntireColumn.Hidden = True Next Range("a1,c1,e1,j1,o1,z1").EntireColumn.Hidden = False End Sub اخوانى الاعزاء تلميذ من تلاميذ الاخ ياسر يحاول ان يشارك معكم استخدام حلقات التكرارية لاخفاء كل الاعمده ثم اظهار المطلوب منها فقط 2
ياسر خليل أبو البراء قام بنشر مارس 4, 2016 الكاتب قام بنشر مارس 4, 2016 أخي الحبيب سعد عابد بارك الله فيك وجزيت خيراً على مشاركتك القيمة والرائعة استخدام الحلقات التكرارية غير مجدي حيث يمكن الاستغناء عنها تماماً .. بسطر واحد وبدون تكرار ..حيث يتم تحديد عمود البداية وعمود النهاية لإخفاء كل الأعمدة فيما بينهما بما فيها العمودين أقصد جرب استخدام Columns وبعدين افتح قوس وبعدين قوس تنصيص واكتب أول عمود وليكن A ثم نقطتين فوق بعض ثم آخر عمود وليكن AZ .. واقفل التنصيص واقفل القوس وبعدين نقطة واستخدم الخاصية Hidden وخلي القيمة الخاصة بيها True ... ومن غير داعي للحلقات التكرارية التي من شأنها أن تبطيء عمل الكود تقبل وافر تقديري واحترامي 2
saad abed قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 (معدل) اخى العزيز ابوالبراء اشكرك على النصائح الغالية واتمنى فتح مواضيع تفاعلية كهذه نشارك معك وتنصحنا بما هو واجب فى كتابة الاكواد ننتظر مواضيع كثيره كالفقه الافتراضى نفترض مساءله وحلها اشكرك تم تعديل مارس 4, 2016 بواسطه سعد عابد 2
محمد علي سالم قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 انا لا اعلم شي عن الاكواد ولكن إن شاء اتعلمها اخي احمد عندي افكار ولكن لما استطع تنفيذها بالاكواد يكفيك شرف المحاولة فانت افضل مني اما انا فلم استطع انا افعلها وانا اتعلم منكم انا اقصد ليس الحذف وانما اخفيت خانني التعبير اخي احمد اعذرني بمعنى عندما ابدل حرف السي مثلا إلى b في الكود ثم اعود وابدل حرف b إلى حرف السي لا يظهر العمود السي مرة اخرى ولا انا عندي خطأ في إكسل 2010 وانت ما شاء الله عليك مبدع ويكفيك شرف المحاولة ارفع القبعة لك احتراما وتقديرا بارك الله فيك وبارك الله فيكم جميعاً 1
أبوبسمله قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 جزاك الله خير اخى محمد على هذه الكلمات فهمت مقصدك قم بوضع سطر اخر لاظهار ما تريد بمعنى Columns("c").Hidden = false حاول اخى محمد ولا تخاف من الفشل لان الفشل اول طريق النجاح وصدقنى انا كل ما فعلته اننى بحثت فى جوجل هههههههههههههه لاصل لهذا الكود ابحث وحاول واسال وسال ولن يقصر معك احد باذن الله تعالى فكلنا هنا اخوه فى الله واسره واحده اسمها اسرة اوفيسنا السعيده بحب الله ورضاه 1
ياسر خليل أبو البراء قام بنشر مارس 4, 2016 الكاتب قام بنشر مارس 4, 2016 أخي العزيز محمد علي سالم شرفتنا بتواجدك معنا في الموضوع سأقوم بشرح بسيط لكود الأستاذ سليم علها تكون البداية لك Sub xx() Columns.Hidden = True Range("a1,c1,e1,j1,o1,z1").EntireColumn.Hidden = False End Sub السطر الأول يبدأ بكلمة Sub يليها اسم الإجراء واسم الإجراء أنت حر فيه سمه بما تريد وأفضل أن تكون التسمية معبرة عن الهدف من الكود مثلاً UnhideSpecificColumns .. وفي آخر سطر قفلة الكود بالجملة End Sub ما بين السطرين البداية والنهاية هذا هو لب الكود (ودا ملوش علاقة بالسوداني .. ولا المصري !!) السطر الأول في الكود يقوم بإخفاء الأعمدة كلها ...أينعم حيث أن الخاصية المستخدمة هي الخاصية Hidden وتعني مخفي .. إذاً ترجمة السطر الأعمدة. مخفي =صح يعني إخفاء كل الأعمدة لو غيرنا القيمة True إلى False تفتكر ايه اللي ممكن يحصل ؟؟ معروف إن True عكسها False ..إذاً سيقوم السطر في هذه الحالة بإظهار كل الأعمدة السطر الأول إذاً يقوم بإخفاء كل الأعمدة مرة واحدة (دفعة واحدة وفي نفس واحد) ثم السطر الثاني يأتي ليحدد اعمدة يعينها للتعامل معها وإظهارها .. وهنا أخونا الغالي سليم استخدم أول خلية في كل عمود من الأعمدة المراد إظهارها ، فالخلية a1 تمثل العمود الأول .. المهم جمع الخلايا في نطاق واحد كما هو مشار في الكود بهذا الشكل Range("a1,c1,e1,j1,o1,z1") ثم استخدم الخاصية EntireColumn والتي تتعامل مع العمود بالكامل ثم الخاصية Hidden والتي تحدثنا عنها ، وهنا إشارة لكل الأعمدة المطلوبة وفي النهاية تم وضع القيمة False لها لإظهارها دون سواها أرجو أن أكون وفقت في توصيل المعلومة تقبل تحياتي 3
أبوبسمله قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 جزاك الله كل خير يا ابو البراء على هذا الشرح الميسر الرائع بس والنبى ابقى زود اللب شويه لانى مدمن لب سورى هههههههههههههههههههه
محمد علي سالم قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 ماشاء الله عليك استاذي ياسر حليل ابوالبراء الله يزيدك من العلم ويبارك فيك يارب شرح جميل جدا ومفهوم جزاك الله خير وجعلة الله في ميزان حسناتك وشكرا اخي احمد على الكلمات الجميلة وإن شاء الله بحاول فيها ولن ايأس الله يوفقكم جميعا ويحفظكم يارب 2
ياسر خليل أبو البراء قام بنشر مارس 4, 2016 الكاتب قام بنشر مارس 4, 2016 هو لب ولا سوداني ولا سوري ولا أي جنسية في الوطن العربي ..؟؟! 1
محمد عادل عبد الغنى قام بنشر مارس 4, 2016 قام بنشر مارس 4, 2016 (معدل) السلام عليكم جزاكم الله خيرا على ما تقدمونه لدى حل بعيد عن البرمجه اود المشاركه به هو القيام بعمل تحديد للاعمده المراد اخفائها فقط بالضغط عليها مع زر ctrl ثم نقف على العمود الذى يلى اخر عمود مراد اظهاره وتضغط ctrl +shift + سهم لليسار ثم الضغط على unhide تم تعديل مارس 4, 2016 بواسطه محمد عادل عبد الغنى
ناصر سعيد قام بنشر مارس 5, 2016 قام بنشر مارس 5, 2016 في ٤/٣/٢٠١٦ at 12:24, ياسر خليل أبو البراء said: وبمكنك بدلاً من تسمية نطاق معرف .. يمكن الإشارة إلى النطاق في الكود نفسه بهذا الشكل Sub xx() Dim rng As Range Set rng = Range("a1,c1,e1,j1,o1,z1") Columns.Hidden = True rng.EntireColumn.Hidden = False End Sub وهي نفس فكرة أخونا الغالي سليم بالضبط مع فصل النطاق لنعبر عنه بمتغير .. بدلاً من تسمية نطاق بهذا الشكل .. =ورقة1!$A:$A,ورقة1!$C:$C,ورقة1!$E:$E,ورقة1!$G:$G,ورقة1!$I:$I,ورقة1!$K:$K,ورقة1!$M:$M,ورقة1!$O:$O,ورقة1!$Q:$Q,ورقة1!$S:$S,ورقة1!$U:$U,ورقة1!$W:$W,ورقة1!$Z:$Z ابحث عن الأيسر والأسهل تقبل تحياتي اخي الكريم لماذا تضع الكود كصوره اين خاصيه نسخ الاكواد في المنتدى
ياسر خليل أبو البراء قام بنشر مارس 5, 2016 الكاتب قام بنشر مارس 5, 2016 أخي الكريم ناصر سعيد المشاركة ليست صورة ويمكن أخد نسخة من الأكواد بكل بساطة .. حاول تغير المتصفح الذي تعمل عليه لربما يكون هناك مشكلة بمتصفحك ..
ناصر سعيد قام بنشر مارس 5, 2016 قام بنشر مارس 5, 2016 اكواد وفكره رائعه وستزداد قيمه بوضع ملف بصيغة2003 وصيغه اخرى2010
رجب جاويش قام بنشر مارس 5, 2016 قام بنشر مارس 5, 2016 السلام عليكم أفضل تحية لأخى الحبيب ياسر على فتح موضوعات تفيد الجميع وتفتح نقاشات جميلة تعود بالنفع على جميع الأعضاء بالنسبة لهذ الموضوع ( اخفاء جميع الأعمدة ما عدا أعمدة محددة ) الكود الذى قدمه أخى المبدع سليم هو أبسط كود يقوم بعمل المطلوب فعلا ولكن لاثراء الموضوع هذه فكرة أخرى وفيها يتم تحديد الأعمدة المراد عدم اخفاءها عن طريق الماوس داخل inputBox وفى حالة تحديد أعمدة غير متجاورة يستخدم مفتاح CTRL أثناء التحديد Sub ragab() Dim Rng As Range On Error Resume Next Application.DisplayAlerts = False Set Rng = Application.InputBox(Prompt:="قم بتحديد الأعمدة التى لا تريد اخفاءها عن طريق الماوس وعند اختيار أعمدة غير متجاورة اضغط مفتاح Ctrl أثناء التحديد", Title:="اخفاء مخصص", Type:=8) Application.DisplayAlerts = True If Rng Is Nothing Then Exit Sub Columns.Hidden = True Rng.EntireColumn.Hidden = False End Sub 2
ياسر خليل أبو البراء قام بنشر مارس 5, 2016 الكاتب قام بنشر مارس 5, 2016 أخي الغالي رجب جاويش لكم يسعدني مشاركتك بالموضوع والمشاركة رائعة جداً وتثري الموضوع بشكل كبير مناقشة الكود لا تعني التقليل منه على الإطلاق إنما الموضوع أصلاً متعمد فيه عملية المناقشة وليس تقديم حلول فحسب .. فإذا كانت لديك أية أفكار حول الموضوع أو حول أي كود فلتقم بتقديم ملاحظاتك ليستفيد الجميع فرأيي أن مناقشة الأكواد تكسب المتعلم الجديد مهارات لن يكتسبها وحده ، وتثقل أداء المحترف ..ألست توافقني الرأي في تلك النطة (اتكتبت غلط أنا أقصد النقطة بس يبدو إن البطة مسيطرة على تفكيري) بالنسبة لكودك جميل جداً في حالة إذا كانت الأعمدة قريبة من بعضها والتي تمكن المستخدم من الاختيار بسهولة ولكن لو كانت الأعمدة متباعدة جداً سيكون الأمر مرهق .. هذه نقطة .. وبما أنك جعلت المستخدم يختار الأعمدة فكان من الأيسر بدلاً من الكود أن يقوم بتلك الخطوة ثم كليك يمين على رؤوس الأعمدة ثم يختار الأمر Hide .. فلن يكون للكود أهمية وصدقني لا أقصد على الإطلاق تقليل الكود ولكن المناقشة مفتوحة للجميع لكي يبدي رأيه تقبل وافر تقديري واحترامي 1
رجب جاويش قام بنشر مارس 5, 2016 قام بنشر مارس 5, 2016 أخى الحبيب ياسر بالعكس أنا أسعد كثيرا بهذه النوعية من النقاش لانها تثرى الموضوع ويستفيد منها الجميع أولا : النقطة الخاصة بتحديد الأعمدة ثم كليك يمين على رؤوس الأعمدة ثم يختار الأمر Hide يكون سهل فعلا فى حالة الاخفاء ولكن فى هذه الحالة أنت تريد تحديد الأعمدة المراد اظهارها وليس اخفاءها وبالتالى لا يمكن تنفيذ ذلك الا من خلال الكود والا كان الأمر فى منتهى الصعوبة بدون الكود 2
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.