واكل قام بنشر أغسطس 27, 2025 قام بنشر أغسطس 27, 2025 السلام عليكم السادة الزملاء تحية طيبة للكل مرفق ملف اكسيل به بيانات مجمعة والشيت الاخر تقرير بالتاريخ لاظهار بياناته هذا الملف ماخوذ من زميل لنا بالشركة مشكورا على مجهوده اريد التعديل عليه أنه فى شيت رقم 1 الخاص بالتقرير عند تسجيل التاريخ لعمل التقرير يظهر كل الاعمدة حتى من ليس له بيان اريد ان أظهر من له بيانات فقط ونفس الكلام عند الفلترة على مكان المكبس برجاء من سيادتكم الحل وشكرا جزيلا لكم لا داعي لضغط الملف طالما مساحته صغيره W.xlsm
تمت الإجابة عبدالله بشير عبدالله قام بنشر أغسطس 28, 2025 تمت الإجابة قام بنشر أغسطس 28, 2025 وعليكم السلام ورخمة الله وبركاته ربما تفصد اخفاء الاعمدة وليس الخذف كما ورد في طلبك الكود يخفى العمود كله فارغ أو كله قيمه تساوي (0 أو 0%) → يخفي العمود بالكامل. الكود في البداية يظهر كل الأعمدة ثم يعيد إخفاء المناسب تم ربط الكود مع امر الفلترة اظافة التسطير لناتج الفلترة هذا خسب فهمى لطلبكم الكود Sub فلترة_اخفاء() Dim wsSrc As Worksheet, wsDst As Worksheet Dim lastRow As Long Dim rng As Range, col As Range, c As Range Dim hideCol As Boolean Dim rngOut As Range Application.ScreenUpdating = False Set wsSrc = ThisWorkbook.Sheets("المجمع") Set wsDst = ThisWorkbook.Sheets("1") lastRow = wsDst.Cells(wsDst.Rows.Count, "A").End(xlUp).Row If lastRow >= 5 Then wsDst.Rows("5:" & lastRow).ClearContents wsDst.Rows("5:" & lastRow).ClearFormats End If wsDst.Columns("A:W").Hidden = False lastRow = wsSrc.Cells(wsSrc.Rows.Count, "E").End(xlUp).Row If lastRow < 2 Then Exit Sub wsSrc.Range("E1:W" & lastRow).AdvancedFilter _ Action:=xlFilterCopy, _ CriteriaRange:=wsDst.Range("Criteria"), _ CopyToRange:=wsDst.Range("Extract"), _ Unique:=False lastRow = wsDst.Cells(wsDst.Rows.Count, "A").End(xlUp).Row If lastRow < 5 Then GoTo Done Set rngOut = wsDst.Range("A5:W" & lastRow) With rngOut.Borders .LineStyle = xlContinuous .Color = vbBlack .Weight = xlThin End With rngOut.EntireColumn.Hidden = False For Each col In rngOut.Columns hideCol = True For Each c In col.Cells If Not (isEmpty(c.Value) Or c.Value = 0 Or c.Text = "0%") Then hideCol = False Exit For End If Next c If hideCol Then col.EntireColumn.Hidden = True Next col Done: Application.ScreenUpdating = True End Sub الملف W1.xlsm تحياتي 3
واكل قام بنشر أغسطس 28, 2025 الكاتب قام بنشر أغسطس 28, 2025 شكرا اخي الفاضل كثيرا لمتابعة وجاري التجربة
واكل قام بنشر سبتمبر 3, 2025 الكاتب قام بنشر سبتمبر 3, 2025 شكرا وجزاك الله خيرا اخي بشير وشكرا لكل من ساهم ببناء هذا الموقع الرائع ومازال يتواصل فى حل مشاكل السادة الاعضاء ربنا يزيدكم 2
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان