• DİKKAT

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

İlk boş hücreyi bul ve seç.

Katılım
2 Şubat 2014
Mesajlar
760
Excel Vers. ve Dili
2007 Türkçe
Merhabalar,
B sütununda yukarıdan aşağıya verilerimiz var.
A1 hücresine ise rakam geliyor başka kod vasıtası ile.
Bu rakamı B sütununun satır no su olarak kullanacağız.

Ve bu bilgiler dahilinde B sütununda ilk boş hücreyi bulub sececek bir kod
blogu lazım. Yani A1 deki veri değiştikçe kod a1 deki rakam değerine göre farklı
hücreleri sececek.
Yardımcı olabilir iseniz sevinirim. saygılar.
 
Merhaba.

Sorunuzun cevabı zor değil ama en iyisi bir örnek belge hazırlamanız ve
-- A1 hücresine şu sayı yazılırsa şu hücre seçilecek,
-- A1 hücresine şu sayı yazılsaydı şu hücre seçilecekti
gibi kısa açıklama eklemeniz,
-- ayrıca A1 hücresine değerin, başka bir kod tarafından yazıldığını söylüyorsunuz.
A1 hücresine değer yazan kod'u da örnek belgede uygun bir hücreye veya metin kutusuna kopyalamanızda yarar var.
.
 
Merhaba; mantığı açıklamaya çalıştım umarım başarılı olmuştur.
g2mMX0.jpg
 
Merhaba.

Kesin daha pratik bir çözüm bulunacaktır. Şu an aklıma gelen For...Next döngüsü oldu.

Sayfanın kod bölümüne uygulayın.
(alt taraftan sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçtiğinizde açılan VBA ekranının sağ tarafına)

-- Mavi renklendirdiğim kod'u kullanabilirsiniz.
-- Eğer A1 hücresine elle veri girişi yapılacaksa, A1'e veri girişi yapıldığında kod'un otomatik olarak işlem yapması için;
mavi kısımla birlikte kırmızı kısmı da ekleyin.
.
Kod:
[FONT="Arial Narrow"][COLOR="Blue"]Sub CARPINTERO()
For sat = [A1] + 1 To Rows.Count
If Cells(sat, 2) = "" Then
Cells(sat, 2).Activate: Exit For: End If: Next
End Sub[/COLOR]

[COLOR="Red"]Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Call CARPINTERO
End Sub[/COLOR][/FONT]
 
Hatırlatma: End(4) kullanılarak, döngüye girmeden tek satır kod ile de olabilir. :ok::
 
Evet Sayın OSMA, elbette ben de onu düşündüm ancak;
konu sahibi, A1 hücresine yazılacak sayının mutlaka B sütunundaki boş bir hücrenin satır numarası olacağını net şekilde söylemiyor.
O nedenle End(4) kullanmadım.

Birkaç deneme yaptığımda da en iyisinin For...Next döngüsü olduğuna karar verdim.

Bu sayede; A1 hücresine B sütunundaki dolu (takip eden hücreler de dolu olabilir tabi) bir hücrenin satır numarası da yazılsa sonuç alınabilir.
.
 
Peki Ömer Bey.. siz daha iyi bilirsiniz.

Saygılar
 
Ömer bey ellerinize sağlık.
Yazdığınız kod sorunumuzu çözdü.
Çok teşekkür ederim.
 
Alternatif;

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    If Target <> "" Then
        Set Bul = Range("B:B").Find(Target, , , xlWhole)
        If Not Bul Is Nothing Then
            If Cells(Bul.Row, 2).End(4).Row = Rows.Count Then
                Bul.Offset(1).Select
            Else
                Cells(Bul.Row, 2).End(4).Offset(1).Select
            End If
        End If
    End If
End Sub
 
Geri
Üst