Satırda son dolu hücreden sonraki hücreye nasıl gidilir?

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Kod:
Range("B65535").End(xlUp).Offset(1, 0).Select
code içindeki makro, cursoru B sütunundaki son dolu hücreden sonraki hücreye götürüyor.
Satırdaki son dolu hücreden sonraki hücreye nasıl gidilir?
Saygılarımla
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,196
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

3. satır için:

Cells(3, Columns.Count).End(xlToLeft).Offset(0, 1).Select

.
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Ömer Hocam,
İlginize çok teşekkür ederim. Benim yazdığım kodda arada boşlukta olsa en sondan sonrakine gidiyordu. Sizin verdiğinizde arada boşluk kabul etmiyor.
Saygılarımla
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,196
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Haklısınız dikkatimden kaçmış. #3. mesajı düzelttim.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Ömer Hocam,
Küçük bir örnek yaptım, AB2 değiştiğinde israrla o satırın son boş hücresine değil de sayfanın dolu son sütunundan sonraki sütuna gidiyor. Nerede hata yapıyorum?
İlginize çok teşekkür ederim
Saygılarımla
 

Ekli dosyalar

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Tevfik Bey aşağıdaki kodu deneyebilir misiniz.
Sayfadaki son veri olan satırın altına gider.
Kod:
Sub askm()
 Cells.Find(What:="*", After:=Cells(1, 1), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Offset(1, 0).Select
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Askm,
İlginize teşekkür ederim.
Benim örnekte de var, sorum, satırlarda farklı sayıda dolu hücreler var. Aranan, satırdaki son dolu hücreden sonraki hücreye gitmek.
Saygılarımla
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Tevfik Bey o zaman sizin kodlarda sıkıntı yok. Satırlarda veri dolu gibi gözüküyor. Boş görülen satırların içeriğini temizlerseniz olur.
A02547 için K4 e gidiyor.
A05121 için M7 ye gidiyor. İçerik temizlemezseniz boş karakter algılıyor sanırım.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Yanlış düyünmüyorsum; sizin boş olarak gördüğünüz hücreler aslında,
kelime yerindeyse KİRLİ (daha evvel kullanılmış) hücreler.
İlgili alanlardaki hücrelerin bir kısmını DELETE tuşuyla, bir kısmını "sağ tık İÇERİĞİ TEMİZLE" diyerek silerek denerseniz daha iyi anlaşılır.
Aşağıdaki kod'da boş gibi görünen sütunlar ile gerçekten boş olanların farkı; kod'u aralıklarla F8 tuşuna basarak adım adım çalıştırırsanız
koddaki sağa_ilk_temiz_sut ve sut değişkeninin son alacağı değerlerin farkı, olayı ortaya koyacaktır.
Rich (BB code):
Sub Git_Otur()
    sat = WorksheetFunction.Match(Cells(2, "AB"), Range("G:G"), 0)
    sağa_ilk_temiz_sut = Cells(sat, "G").End(xlToRight).Column + 1
    For sut = 11 To Columns.Count
        If Cells(sat, sut).Value = "" Then
            Exit For
        End If
    Next
MsgBox "G sütunundan sağa ilk TEMİZ sütun: " & sağa_ilk_temiz_sut _
        & vbLf & "G sütunundan sağa ilk BOŞ sütun : " & sut
End Sub
 
Son düzenleme:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın Tevfik_Kursun
Kodunuzu aşağıdaki gibi deneyin.
Kod:
Sub Git_Otur()
sor = MsgBox("Temizlik yapılsın mı?", vbYesNo, "Temizlik")
If sor = vbNo Then GoTo git
    For Each bos In ActiveSheet.UsedRange
        If bos.HasFormula = False Then
             bos.Value = bos.Text
        End If
    Next bos
git:
        sat = WorksheetFunction.Match(Cells(2, "AB"), Range("G:G"), 0)
        Cells(sat, Columns.Count).End(xlToLeft).Offset(0, 1).Select
Application.ScreenUpdating = True
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Evet Sayın Turist Hocam,
Makronuz temizlik yaptıktan sonra benim makro da doğru çalıştı. Sayın Ömer Hocam, Sayın Turist Hocam ilgilerinize çok teşekkür ederim.
Peki bu kirlenme neden oluyor, nasıl oluşuyor olabilir?
Saygılarımla
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
İlgili hücreler, öncesinde dolu iken ya elle DELETE işlemi yapılarak boşaltılmıştır,
ya da makro ile temizlik yapılırken ....="" gibi işlem yapılmıştır diye düşünüyorum. YAnıltmak istemem, denemek lazım.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Evet Sayın Turist Hocam,
Makronuz temizlik yaptıktan sonra benim makro da doğru çalıştı. Sayın Ömer Hocam, Sayın Turist Hocam ilgilerinize çok teşekkür ederim.
Peki bu kirlenme neden oluyor, nasıl oluşuyor olabilir?
Saygılarımla
İyi çalışmalar.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
İlgileriniz için ayrı ayrı teşekkür ederim.
Saygılarımla
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Hepinize teşekkür ediyorum, her fırsatta çalışma azmimi kamçıladığınız için.
Yukarıdaki tip problemin en kolay çözümü, excel sayfasını .txt dosyası haline getirip, onu tekrar aynı sayfaya çekmek olduğunu bugün buldum, ve paylaşayım istedim. Belki bir başka arkadaşın işine yarar.
Saygılarımla
 

ceysuhan

Altın Üye
Katılım
26 Ağustos 2004
Mesajlar
42
Excel Vers. ve Dili
İşte Office 2013 Tr 64 bit
Evde Office 2019 Tr 64 bit
Altın Üyelik Bitiş Tarihi
06-12-2028
Tevfik Kursun Bey, "excel sayfasını .txt dosyası haline getirip, onu tekrar aynı sayfaya çekme" işlemini nasıl yaptığınızı anlatabilirmisiniz.
 
Üst