Döngü içinde özel Range ataması hk.

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,044
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Aşağıdaki kodda; "K" sütununda CountIf fonksiyonunda,
döngü içinde bulunduğu satırı atlaması için; Range tanımlamasını nasıl yapabiliriz?

Şöyle:
2. satırda: Set Rng1 = WS.Range("K3:K" & LR)
3. satırda: Set Rng1 = WS.Range("K2:K2") + WS.Range("K4:K" & LR)
4. satırda Set Rng1 = WS.Range("K2:K3") + WS.Range("K5:K" & LR)
5. satırda Set Rng1 = WS.Range("K2:K4") + WS.Range("K6:K" & LR)

hücre aralığınu bu şeklinde tanımlayacak; özetle her satırda Range ataması değişecek.

desteğiniz için şimdiden teşekkürler,
iyi çalışmalar.

Kod:
Sub Hesapla12()
Dim WS As Worksheet
Dim LR As Long, i As Long
Dim d As Double
Dim deg1 As Integer
Dim Rng1 As Range


Set WS = Sayfa1
LR = WS.Cells(WS.Rows.Count, "B").End(xlUp).Row

Set Rng1 = WS.Range("K2:K" & LR)

For i = 2 To LR

    deg1 = WS.Range("M" & i)
    
    d = Application.WorksheetFunction.CountIf(Rng1, deg1)
                        
Next i
 
End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,044
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Aşağıdaki kodda; "K" sütununda CountIf fonksiyonunda,
döngü içinde bulunduğu satırı atlaması için; Range tanımlamasını nasıl yapabiliriz?

Şöyle:
2. satırda: Set Rng1 = WS.Range("K3:K" & LR)
3. satırda: Set Rng1 = WS.Range("K2:K2") + WS.Range("K4:K" & LR)
4. satırda Set Rng1 = WS.Range("K2:K3") + WS.Range("K5:K" & LR)
5. satırda Set Rng1 = WS.Range("K2:K4") + WS.Range("K6:K" & LR)

hücre aralığınu bu şeklinde tanımlayacak; özetle her satırda Range ataması değişecek.

desteğiniz için şimdiden teşekkürler,
iyi çalışmalar.
Tekrar merhaba,
Aşağıdaki şekilde hücre ataması yaptım ama;
Ekli görselde olduğu gibi "WorksheetFunction sınıfının CountIf özelliği alınmayor", şeklinde hata mesaj alıyorum.



Kod:
Public Sub EntireColumnRange()
Dim Rng As Range

k = 10
k2 = 100

Set Rng = ThisWorkbook.Worksheets("Sayfa1").Range("B2:B" & k & ", B12:B" & k2)
a = Rng.Cells.Count
c = Application.WorksheetFunction.CountIf(Rng, "H")
End Sub
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
COUNTIF fonksiyonu tek aralık ister. Siz çoklu aralık tanımlaya çalışıyorsunuz. Zaten bu mantığı normal excel sayfasında formül olarak uygulamak istediğinizde de görebilirsiniz. Excel bu şekilde kullanımda sizi uyaracaktır.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,044
Excel Vers. ve Dili
Office 2013 İngilizce
COUNTIF fonksiyonu tek aralık ister. Siz çoklu aralık tanımlaya çalışıyorsunuz. Zaten bu mantığı normal excel sayfasında formül olarak uygulamak istediğinizde de görebilirsiniz. Excel bu şekilde kullanımda sizi uyaracaktır.
Teşekkürler Korhan Hocam
 
Üst