Girilen Tarihi ya da irsaliyeyi aramak

Katılım
26 Aralık 2007
Mesajlar
13
Excel Vers. ve Dili
2003 / türkçe
Yaptığım çalışmada Anasayfada sevkiyat düğmesine tıklandığında isteğe göre tarih ya da irsaliye numarasını yaklaşık 30 çalışma sayfası içinde arayıp anasayfaya yapıştırmasını istiyorum. bir türlü beceremedim. hatanın ne olduğunu anlayamıyorum. acil yardımlarınızı bekliyorum. dosya ekte. şimdiden teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,646
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodları denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Satır = 1
    For X = 13 To Sheets.Count
    For Y = 2 To Sheets(X).[A65536].End(3).Row
    If Sheets(X).Range("C" & Y) = Val(TextBox1) Then
    Sheets(X).Range("A" & Y & ":D" & Y).Copy Range("A" & Satır)
    Satır = Satır + 1
    End If
    Next
    Next
    Unload Me
End Sub
Private Sub CommandButton2_Click()
    Satır = 1
    For X = 13 To Sheets.Count
    For Y = 2 To Sheets(X).[A65536].End(3).Row
    If Sheets(X).Range("A" & Y) = CDate(TextBox2) Then
    Sheets(X).Range("A" & Y & ":D" & Y).Copy Range("A" & Satır)
    Satır = Satır + 1
    End If
    Next
    Next
    Unload Me
End Sub
 
Katılım
26 Aralık 2007
Mesajlar
13
Excel Vers. ve Dili
2003 / türkçe
Çok Teşekkür ederim işimi hallettim. Bir şey sorucam
şu satırın tam manasını anlayamadım açıklarmısınız?
For Y = 2 To Sheets(X).[A65536].End(3).Row
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,646
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kodda kullanılan X sayfaları temsil etmektedir. Ve bu sayfalardaki verileriniz 2. satırdan başlıyor fakat en son hangi satırda biteceği belli olmadığı için Sheets(X).[A65536].End(3).Row ifadesi ile X 'in aldığı değerdeki sayfadaki A sütunundaki en son dolu satır tesbit ediliyor. Bu şekilde son satır bilgisi dinamik hale geliyor. Siz bu değer yerine 1000 sabitini kullanmıştınız. Halbuki ilgili sayfadaki bilgi belkide 5 satır olabilir. Döngü boşu boşuna 995 satır daha kontrol etmek zorunda kalacak buda işlem süresinin uzamasına sebep olacaktır.

Umarım açıklayıcı olmuştur.
 
Katılım
26 Aralık 2007
Mesajlar
13
Excel Vers. ve Dili
2003 / türkçe
Evet gayet açıklayıcıydı yalnız bir şeyi merak ediyorum. End(3).Row kısmıyla alakalı end ve row ifadelerinin genel manalarını nasıl kullanıldıklarını da açıklarsanız sorun kalmayacak. amacım bu ifadelerin işlervlerini öğrenip kullanabilmek. şimdiden teşekkürler.
 
Katılım
26 Aralık 2007
Mesajlar
13
Excel Vers. ve Dili
2003 / türkçe
Soruma hala cevap alamadım bu end ve row nasıl kullanılır tam olarak manaları nelerdir?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,646
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

End(3).Row ifadesini en kısa şu şekilde açıklayabilirim. Boş bir excel sayfasında A sütununda A65536 hücresini seçin. Daha sonra klavyeden End tuşuna sonrada yukarı ok tuşuna basın. A1 hücresi seçili hale gelecektir. İşte bahsedilen kod bu işlemi yapmaktadır. Aynı işlemi A sütununda herhangi bir hücreye veri girdikten sonra tekrarlayın. Göreceksinizki sütundaki en son dolu hücre seçili hale gelecektir. Bundaki amaçta şudur. Kullandığınız veri alanı sınırlarını sütun yada satır bazında dinamik olarak belirlemektir.

Bu komutun değişik kullanım şekilleri.

Kod:
End(3).Row 'Aşağıdan yukarı doğru son dolu satır indexini verir.
Kod:
End(4).Row 'Yukarıdan aşağı doğru son dolu satır indexini verir.
Kod:
End(1).Column 'Sağdan sola doğru son dolu sütun indexini verir.
Kod:
End(2).Column 'Soldan sağa doğru son dolu sütun indexini verir.
 
Üst