• DİKKAT

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

Dolu alanı tanımlama..

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,202
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

"A2:AZ100" (Rng) hücre aralığında; ekli görselde görüleceği üzeri verilerin bulunduğu üst-alt satır ve üst-alt sütun alanı tarayıp;

bu alanı "Set Rng2 = SH.Range("..........") olarak tanmlamasını kolay yoldan nasıl yapabiliriz?

Kod:
Set SH = Sayfa3
LR = SH.Cells(SH.Rows.Count, "A").End(xlUp).Row
Set Rng = SH.Range("C2:AC100")

teşekkürler,
iyi çalışmalar.
 

Ekli dosyalar

  • 1638713849935.JPG
    1638713849935.JPG
    36.9 KB · Görüntüleme: 6
Şöyle olabilir mi?

PHP:
Sub sec()
    son = WorksheetFunction.Max(19, Cells(Rows.Count, "AH").End(3).Row, Cells(Rows.Count, "AI").End(3).Row, Cells(Rows.Count, "AJ").End(3).Row)
    Range("AH19:AJ" & son).Select
End Sub
 
Şöyle olabilir mi?

PHP:
Sub sec()
    son = WorksheetFunction.Max(19, Cells(Rows.Count, "AH").End(3).Row, Cells(Rows.Count, "AI").End(3).Row, Cells(Rows.Count, "AJ").End(3).Row)
    Range("AH19:AJ" & son).Select
End Sub
Hocam Range("AH19:AJ" & son) buradaki sütun ve satır numaraları değişebilmektedir. nerede başlıyor, nerede bitiyor
ben görseli örnek olması açısından göndermiştim
 
O zaman şöyle sormak gerekir: nerden başlatacağımızı ve nerede bitireceğimizi nerden bileceğiz? Başka bir deyişle Excel nerenin seçileceğini nasıl anlayacak?

Not: Sayfanın başka yerleri boşsa aşağıdaki satır kullanılan alanı seçmektedir:

ActiveSheet.UsedRange.Select
 
Son düzenleme:
Merhaba,

Sayfada başka hücreler dolu değilse eğer Yusuf beyin verdiği yöntem en kestirme yoldur.

Alternatif olarak aşağıdaki gibi de sonuca gidilebilir. Uzun yoldan...

C++:
Option Explicit

Sub Test()
    Dim S1 As Worksheet, Alan As Range
    Dim First_Row As Long, First_Column As Integer
    Dim Last_Row As Long, Last_Column As Integer
    
    Set S1 = Sheets("Sheet1")
    
    First_Row = Evaluate("=MIN(IF('" & S1.Name & "'!A2:AZ100<>"""",ROW('" & S1.Name & "'!A2:AZ100)))")
    First_Column = Evaluate("=MIN(IF('" & S1.Name & "'!A2:AZ100<>"""",COLUMN('" & S1.Name & "'!A2:AZ100)))")

    Last_Row = Evaluate("=MAX(IF('" & S1.Name & "'!A2:AZ100<>"""",ROW('" & S1.Name & "'!A2:AZ100)))")
    Last_Column = Evaluate("=MAX(IF('" & S1.Name & "'!A2:AZ100<>"""",COLUMN('" & S1.Name & "'!A2:AZ100)))")

    Set Alan = S1.Range(S1.Cells(First_Row, First_Column), S1.Cells(Last_Row, Last_Column))
    
    MsgBox "Sayfa Adı ; " & Alan.Parent.Name & vbCrLf & vbCrLf & _
           "Hücre Adresi ; " & Alan.Address
End Sub
 
Merhaba,

Sayfada başka hücreler dolu değilse eğer Yusuf beyin verdiği yöntem en kestirme yoldur.

Alternatif olarak aşağıdaki gibi de sonuca gidilebilir. Uzun yoldan...

C++:
Option Explicit

Sub Test()
    Dim S1 As Worksheet, Alan As Range
    Dim First_Row As Long, First_Column As Integer
    Dim Last_Row As Long, Last_Column As Integer
   
    Set S1 = Sheets("Sheet1")
   
    First_Row = Evaluate("=MIN(IF('" & S1.Name & "'!A2:AZ100<>"""",ROW('" & S1.Name & "'!A2:AZ100)))")
    First_Column = Evaluate("=MIN(IF('" & S1.Name & "'!A2:AZ100<>"""",COLUMN('" & S1.Name & "'!A2:AZ100)))")

    Last_Row = Evaluate("=MAX(IF('" & S1.Name & "'!A2:AZ100<>"""",ROW('" & S1.Name & "'!A2:AZ100)))")
    Last_Column = Evaluate("=MAX(IF('" & S1.Name & "'!A2:AZ100<>"""",COLUMN('" & S1.Name & "'!A2:AZ100)))")

    Set Alan = S1.Range(S1.Cells(First_Row, First_Column), S1.Cells(Last_Row, Last_Column))
   
    MsgBox "Sayfa Adı ; " & Alan.Parent.Name & vbCrLf & vbCrLf & _
           "Hücre Adresi ; " & Alan.Address
End Sub
Çok teşekkürler Korhan Hocam,
iyi ki varsınız!
 
Geri
Üst