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

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

قام بنشر

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

برجاء من الإخوه الأفاضل الإفاده بخصوص كود يقوم بجمع الخلايا الظاهره فى صف
على سبيل المثال فى الصف رقم 6 والنطاق من ( E1 : CX1 )

حيث أنه عند البحث وجدت الدالة subtotal ولكنها تقوم على جمع الأعمده ونطاق 29 خليه فقط

فبرجاء الإفاده بخصوص الجمع بالنسبه للصفوف وليس الأعمده

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

  • أفضل إجابة
قام بنشر

فعلا subtotal لا تعمل مع الأعمدة

لكن يمكنك استعمال هذه الدالة 

Function sum_vis_cols(rng As Range) As Double
Dim mysum As Double, c As Range
Application.Volatile
For Each c In rng
mysum = mysum + IIf(c.EntireColumn.Hidden <> True, c.Value, 0)
Next
sum_vis_cols = mysum
End Function

وطريقة استعمالها

=sum_vis_cols(E1:CX1)

بالتوفيق

  • Like 1
قام بنشر

المثال بعد كمة طريقة استعمالها

أولا تضيف موديول في شاشة الفيجوال بيسك

ثم تلصق الدالة الموجودة في الكود الأول في المشاركة السابقة

ثم تكتب المعادلة الثانية في المكان الذي تريد فيه ظهور مجموع الخلايا المرئية فقط

  • Like 1
قام بنشر

للأسف لا يوجد حدث عند إخفاء أو إظهار الأعمدة أو الصفوف في الشيت

ولكن يمكن التحايل على ذلك بوضع كود الحساب في حدث عند تغيير التحديد

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Calculate
End Sub

وطبعا يتم لصق هذا الكود في شاشة الأكواد الخاصة بالشيت الذي به معادلة جميع الأعمدة المرئية فقط

بالضغط دبل كلك على اسم الشيت

  • Like 1

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