خطا در شمارش سلولهای پر (که hidden ها شمرده نشود)

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • hs208

    • 2013/12/13
    • 74

    خطا در شمارش سلولهای پر (که hidden ها شمرده نشود)

    با سلام دوستان

    من میخوام با فشردن دکمه shomaresh تعداد خونه های ستون D که فیلتر نشدن و توی اونا نوشته good شمرده بشه و توی F2 نوشته بشه

    این خط کد رو هم براش نوشتم
    Range("F2").Value = Application.WorksheetFunction.CountIfs(Range("D:D" ), "good", Range("D:D"), Cells.Height > 0)

    ولی نمیدونم چرا تعداد رو صفر میده ؟

    در فایل پیوست کد نوشته شده

    در واقع میخوام خونه هایی که با فیلتر hidden شدن شمرده نشن به خاطر همین از شرط Cells.Height > 0 استفاده کردم ولی جواب رو صفر میده؟
    مشکل کجاست و راه حلش چیه؟ یا اینکه آیا روش بهتری وجود داره ؟

    ممنون

    khata dar shomaresh.xlsm
  • hs208

    • 2013/12/13
    • 74

    #2
    دوستان متاسفانه در بالا آدرس range("D: D") رو با شکلک :D نشان داده

    کد صحیح در فایل پیوستی موجود است

    کامنت

    • امين اسماعيلي
      مدير تالار ويژوال بيسيك

      • 2013/01/17
      • 1198
      • 84.00

      #3
      با درود

      ابتدا اون ردیف رو که ایجاد کردین . ردیف دوم که خالی هستش رو منظورم هست. بعد
      یه سل رو مثلا E1 رو داخلش بنویسین good یا اون شرطی که باید برسی بشه. بعد کد زیر رو برای همون باتن که گذاشتی بنویس
      کد:
      If Sheet1.Range("E1").Value = "" Then
      MsgBox "Please enter your condition in range E1 ", vbInformation
      Sheet1.Range("E1").Select
      Exit Sub
      End If
      Dim lastRow As Long
      
       lastRow = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row
      
      j = 0
      For Each c In Sheet1.Range("D2:D" & lastRow)
              If Not c.Rows.Hidden = True And c.Value = Sheet1.Range("E1").Value Then
                  j = j + 1
                        
              End If
          Next c
          Sheet1.Range("F1").Value = j
      در پناه خداوندگار ایران زمین باشید و پیروز

      کامنت

      چند لحظه..