Çözüldü Son dolu hücrenin altına gitmek

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

SilinenUye8231

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba, hayırlı geceler.

Ekte gönderdiğim excel dosyamda en son dolu hücrenin altındaki boş hücreye gitme kodu mevcut,
1.sayfasındaki butona bastığım zaman hata veriyor.
2.Sayfadaki butona bastığımda çalışıyor.

2.sayfaya gitmeden, 1.sayfadaki butona bastığımda 2.sayfanın son dolu hücrenin bir altındaki boş hücreye gitmek istemiştim.

Neden hata veriyor çözemedim, yardımcı olur musunuz?
 

Ekli dosyalar

Belgenizde sadece bu iki sayfa mı var?
Evet

İşlem için TEK MAKRO mu istiyorsunuz?
Evet

Sayfa1'de hangi sütundaki ilk boş hücreye gidilecek?
Sayfa1'de butona bastığımda Sayfa2'deki en son dolu hücrenin altındaki boş hücreye imlecin gitmesini istiyorum. (Sayfa2'ye geçmeden)
 
Esasında "imleç", Word, Not defteri gibi METİN düzenleyici programlar için doğru kavram.
Excel açısından belli bir sayfadaki aktif hücre demek daha doğru olur.

Excel belgesinde (hatta belgede değil Excel programında demek lazım, çünkü aynı anda 1'den fazla çalışma kitabı da açık olabilir)
-- sadece 1 kitap aktif olabilir,
-- aktif kitapta sadece 1 sayfa aktif olabilir,
-- aktif sayfada sadece 1 hücre aktif hücre olabilir.

Tabi seçim (selection) ayrı bir mevzu.
Örneğin sayfada A5:F20 arasını seçtiniz diyelim .
Seçim (selection) >> A5:F20
Activecell (aktif hücre) >> A5 (seçien alanın sol üst köşesindeki hücre) olur.

Sanıyorum isteğinizin karşılığı aşağıdaki kod satırı.
Her iki düğmeyle, bu ko satırının içinde olduğu makro adını ilişkilendirdiğinizde istenilen olur.

VBA:
You must log in to view content
(1 satır)

.
 
Sayın Ömer Bey, ellerinize sağlık, kod gayet güzel çalışıyor.

Ancak benim istediğim Sayfa1'de butona bastığımda Sayfa2'ye geçmeyecek, imlecin Sayfa2'deki B sütunu en son dolu hücrenin altındaki boş hücrede olmasını istiyorum.
 
İmleç, siz başka bir sayfadayken, o sayfada bir yerde olamaz.
Ha siz diyorsanızki "Sayfa2'ye manuel (alltan sayfa adına tıklayarak) geçiş yaptığınızda, B sütununda son dolu hücresnin altındaki hücre aktif olsun" ya da "Sayfa2'den ayrılırken, ayrılmadan önce bu işlem gerçekleşsin sonra sayfa1'e geçilsin"
O zaman düğme yerine Sayfa2'nin kod bölümüne, istek cümlenizin durumuna göre
Private Sub Worksheet_Activate Private Sub Worksheet_Deactivate kodu oluşturup, verdiğim kod satırını bu prosedürün içine yapıştırın.

Umarım yanlış anlamamışımdır.
Ayrıca diyelim istediğiniz gerçekleşti, o hücrede ne yapacaksınız, o hücrenin adresi mi lazımdır sadece vs. Yani İŞLEM nedir?

.
 
Sayın Ömer Bey, bende aşağıdaki kod gibi düşünmüştüm.
Sayfa2'ye geçmeden kopyala yapıştır yapmak, en son boş hücreye işaretlesin, sonra Sayfa1'e geçsin istemiştim.
Kod hata veriyor zaten.

Sub KopyalaYapıştır()
Sheets("Sayfa1").Range("B" & Sheets("Sayfa1").[B65565].End(3).Row + 1).Copy
Sheets("Sayfa2").Range("B" & Sheets("Sayfa2").[B65565].End(3).Row + 1).PasteSpecial
Sheets("Sayfa2").Range("B" & Sheets("Sayfa2").[B65565].End(3).Row + 1).Select
Sheets("Sayfa1").Range("B2").Select
End Sub
 
Kopyala yapıştır işlemi için; kopyalanacak alanın olduğu sayfanın aktif sayfa olması, kopyalanacak alanın seçilmesi,
yapıştırılacak alanın olduğu sayfanın aktif sayfa haline gelmesi, yapıştırılacak alanın/hücrenin seçilmesi gerekmiyor.

Örneğin belirttiğiniz kodun ilk satırı, Sayfa1'de B sütununda,
aşağıdan yukarı doğru İLK BOŞ HÜCREyi (TEK HÜCRE) kopyalamayı öngörüyor. Boş hücreyi neden kopyalayasınız?

Bence siz doğrudan isteğinizi belirtin. Türkçesi'nin ifade edilebildiği bir kopyala yapıştır işlemi kolaylıkla kodlanabilir.

.
 
Sayın Ömer Bey, aşağıdaki kodu sayfanın kod bölümüne yapıştırarak çözüm oluyor.

Private Sub Worksheet_Activate()
Sheets("Sayfa2").Range("B" & Sheets("Sayfa2").[B65565].End(3).Row + 1).Select
End Sub


Yapmak istediğimde, örneğin Sayfa2'nin kod sayfasında kod yok, Sayfa2'ye geçtiğimde imleç M6'da durduğunu farz edelim, buton ile kopyala yapıştır dediğimizde (sayfa2'ye gitmeden), işlem bittikten sonra imlecinde B sütunu dolu hücrenin altındaki boş hücrede durmasını istemiştim, başka işlemlerden sonra tekrar Sayfa2'ye geçtiğimde imleç hala M6 hücresinde duruyor oluyor.
 
Daha evvel de yazmıştım.
Aktif hücrenin neresi olduğunun bir önemi yok bence.

Diyelim istediğiniz hücre aktif hale geldi. Bu aktif hücrede ne yapılacaksa o işlemi yazmadınız hiç.
Örneğin Sayfa1'de belli bir hücre/alanda veri girişi yapılıyor. Veri girişi tamamlandığında da bu veriler diğer sayfada ilk boş hücreden aşağı doğru aktarılıp (kopyalama denilmeye de bilir aslında) aktarılan veri alanı yeni veri girişi için hazırlanmak üzere siliniyor/boşaltılıyor.
Sonra aynı alana/hücreye yeni veriler girilip tekrar aktarılacak, tekrar ve tekrar.

Bu işlem sırasında, verinin yapıştırılacağı sayfada aktif hücrenin hangisi olduğunun bir önemi yok.
Aktarma (siz kopyalama diyorsunuz) işlemi, diğer sayfada aktif hücre başka yer olsa da hep "ilk boş hücreye aktar" şeklinde devam edebilir.

Kopyala yapıştır işlemi de sorunsuz yapılabilir, kopyala-yapıştır yöntemi dışıda da istenilen aktarma yaptırılabilir. (biçim dahil/hariç).
.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst