• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Bir sütundaki ilk ve son dolu satırı bulmak

Katılım
18 Mayıs 2011
Mesajlar
9
Excel Vers. ve Dili
2007-türkçe
Ben "C" sütununda "C9" dan sonra ilk dolu hücreyi ve son dolu hücreyi bulmak istiyorum. Yardım edebilirseniz sevinirim.
 
tabii bulduktan sonra ne yapılacağı önemli.
ben bulunan hücreleri aktif hale getiren (oraya giden) bir örnek yazdım.

Kod:
Sub ilkson()

Dim ilk As Range, son As Range

Set ilk = Range("C9").End(xlDown)
Set son = Range("C65536").End(xlUp)

ilk.Select 'C9'dan sonraki ilk dolu hücreyi seçer
son.Select 'C sütunundaki son dolu hücreyi seçer

End Sub
 
Son düzenleme:
Yardımın için çok Teşekkürler. Bulunan satır ve sütunla alan tanımlayabilir miyiz ?
 
Son düzenleme:
rica ederim.

yalnız ilk dolu hücre için şuna dikkat etmek lazım.
C9, C10, C11, C12, C13 dolu; C14, C15, C16 boş; C17-C2500 dolu; C2501-C65536 boş olsun.

ilk bu durumda C13 olacaktır. (son da C2500).
siz C10'u arıyorsanız kodu aşağıdaki gibi revize etmek uygun olacaktır.
(bu yapıda, C9 da boş bir hücre ise, ilk'i bulan kod C10'a gidecektir. )

Kod:
Sub ilkson()

Dim ilk As Range, son As Range

If Range("C10") <> "" Then
    Set ilk = Range("C10")
Else
    Set ilk = Range("C9").End(xlDown)
End If

Set son = Range("C65536").End(xlUp)

'diğer kodlar
'diğer kodlar
'diğer kodlar
'diğer kodlar




Set ilk = Nothing
Set son = Nothing

End Sub
 
Yardımın için çok Teşekkürler. Bulunan satır ve sütunla alan tanımlayabilir miyiz ?

tam anlamadım. bulunan hücrenin satır ve sütun numarasını mı istiyorsunuz.

yoksa ilk ve son arasındaki alanı bir değişkene atamak mı?
 
ilk dolu hücre ile son dolu hücre arasındaki aralığı seçmek için:
satır ve sütun numaraları da değişkenlere atanmıştır. ihtiyaç halinde kullanılabilir.

Kod:
Sub ilkson()

Dim ilk As Range, son As Range
Dim ilksat As Long, ilksut As Long
Dim sonsat As Long, sonsut As Long

If Range("C10") <> "" Then
    Set ilk = Range("C10")
Else
    Set ilk = Range("C9").End(xlDown)
End If

Set son = Range("C65536").End(xlUp)

ilksat = ilk.Row
ilksut = ilk.Column
sonsat = son.Row
sonsut = son.Column

'diğer kodlar
'diğer kodlar
'diğer kodlar
'diğer kodlar

Range(ilk, son).Select 'ilk bulunan ile son bulunan arasındaki aralığı seçer


Set ilk = Nothing
Set ilk = Nothing

End Sub
 
Kodu bu şekilde revize ettim. Tekrar teşekkürler.

Sub ilkson()
Dim ilk As Integer, son As Integer
ilk = Range("C9").End(xlDown).Row
son = Range("C65536").End(xlUp).Row
Range("d" & ilk, "d" & son) = "evrim"
End Sub
 
rica ederim.

ilk mesajda ne istendiği tam belirtilse idi 2. mesajda konu kapanacaktı.

bak tam 8 mesaj olmuş.

:icelim:
 
Geri
Üst