hücre dolu ise bir alt satıra yazma kodu hk.

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,676
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhabalar,
Userformda bulunan listboxtan click olayına bağlı olarak sayfaya veri aktarıyorum.
.
Olay "E3 satırı boş ise E3 e yaz, dolu ise bir alt satır E4 e yaz."şeklinde.
Bu 36 ncı satıra kadar gidiyor.37 ye yazmıyor. orada msgbox ile "kayıt satırı doldu" mesajı verdiyorum.
Aşağıdaki gibi uzayıp giden bir kod var.
isteğim bu aşağıdaki kodu bir döngü ile kısaltabilirmiyiz.
Teşekür ederim.

Kod:
Private Sub ListBox1_Click()
Application.ScreenUpdating = False

    A = ListBox1.Column(0)
    b = ListBox1.Column(1)
    c = ListBox1.Column(2)
If Range("E3") = "" Then
    Range("I3") = A
    Range("K3") = b
    Range("F3") = c
    Range("J3") = 1
     
    Else
    If Range("E4") = "" Then
    Range("I4") = A
    Range("K4") = b
    Range("F4") = c
    Range("J4") = 1
    Else
    If Range("E5") = "" Then
    Range("E5") = A
    Range("g5") = b
    Range("C5") = c
    Range("F5") = 1
    Else
    If Range("E6") = "" Then
    Range("E6") = A
    Range("G6") = b
    Range("C6") = c
    Range("F6") = 1
    Else
    If Range("E7") = "" Then
    Range("E7") = A
    Range("G7") = b
    Range("C7") = c
    Range("F7") = 1
    Else
    If Range("E8") = "" Then
    Range("E8") = A
    Range("G8") = b
    Range("C8") = c
    Range("F8") = 1
    Else
    If Range("E9") = "" Then
    Range("E9") = A
    Range("G9") = b
    Range("C9") = c
    Range("F9") = 1
    Else
    If Range("E10") = "" Then
    Range("E10") = A
    Range("G10") = b
    Range("C10") = c
    Range("F10") = 1
    Else.......end if..end if....
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,669
Excel Vers. ve Dili
2021 PRO [TR]
kod 3. satır ile 37. satır aralığını kapsar. Eğer boş bir aralık bulursa kayıtları ekler ve döngüden çıkar.
Kod:
Private Sub ListBox1_Click()
Application.ScreenUpdating = False

A = ListBox1.Column(0)
b = ListBox1.Column(1)
c = ListBox1.Column(2)

for i=3 to 37
 if range("E" & i).value="" then
    Range("I" & i) = A
    Range("K" & i) = b
    Range("F" & i) = c
    Range("J" & i) = 1
    exit for
 end if
next i

end sub
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,676
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
merhaba Sn.Systran
3 nolu satıra sürekli veriyi kaydediyor, sürekli değiştiriyor.
E3 dolu ise E4 ikinci seçilen satırı kaydetmesi lazım.
Teşekür ederim.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Sayın systran'ın müsadesiyle...
Dolu satırın bir altına kayır yapar. Deneyiniz
Kod:
son = Range("E37").End(xlUp).Row
If son + 1 = 37 Then
MsgBox "Doldu"
Else
Range("I" & son + 1) = A
Range("K" & son + 1) = b
Range("F" & son + 1) = c
Range("J" & son + 1) = 1
End If
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,676
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba,
BU dosya benim projemdir.
Sisteme yük bindirmesin diye dosya göndermeyim diyordum.
Dosyada detaylı açıklama yaptım.
Teşekkür ederim.
 

Ekli dosyalar

Son düzenleme:

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Ben bir hata göremedim click olayını aşağıdaki şekilde ayarlayın.
Kod:
Private Sub ListBox1_Click()
Application.ScreenUpdating = False

    A = ListBox1.Column(0)
    b = ListBox1.Column(1)
    c = ListBox1.Column(2)
    son = Worksheets("URUN_GIRIS").Range("E37").End(xlUp).Row
If son + 1 = 37 Then
MsgBox "Doldu"
Else
Range("I" & son + 1) = A
Range("K" & son + 1) = b
Range("F" & son + 1) = c
Range("J" & son + 1) = 1
Range("C" & son + 1) = TextBox4.Value
Range("D" & son + 1) = TextBox6.Value
Range("E" & son + 1) = TextBox5.Value
Range("G" & son + 1) = TextBox2.Value
Range("H" & son + 1) = TextBox3.Value
End If
Application.ScreenUpdating = True
End Sub
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,676
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba Sn Mucit bey,
Sorun yok
Emeğiniz ve vaktinizi ayırdığınız için çok teşekkür ederim.
Hakkınızı helal ediniz.
Selametle kalınız.
 
Katılım
7 Mart 2014
Mesajlar
2
Excel Vers. ve Dili
Excel2011-for mac ingilizce
Merhaba,
3 tane aktif sheetim var Sheet2 Sheet3 ve Sheet5. Sheet5 de B2den B6ya sırasıyla Mon-Wed, Tue-Thu, Wed-Fri, Mon-Thu, Tue-Fri yazmakta. C2den C6ya sayılar yazmakta. C stünundaki sayıların en küçüğünü bulup hemen yan satırındaki metni Sheet3te bulup hemen altındaki hücre boşsa oraya Sheet2 sütun Udaki 0'dan farklı ilk sayıyı yazdırmak istiyorum. Eğer sheet3 de metinle karşılaştırıp bulduğum sütundaki hücre doluysa o sütundaki ilk boş hücreye yazdırsın. Bu işlemi Sheet2 de U sütunundaki değerler bitene kadar tekrarlasın istiyorum.
Yardım edebilirseniz çok sevinirim.
Şimdiden teşekkürler..
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,669
Excel Vers. ve Dili
2021 PRO [TR]
Merhaba,
3 tane aktif sheetim var Sheet2 Sheet3 ve Sheet5. Sheet5 de B2den B6ya sırasıyla Mon-Wed, Tue-Thu, Wed-Fri, Mon-Thu, Tue-Fri yazmakta. C2den C6ya sayılar yazmakta. C stünundaki sayıların en küçüğünü bulup hemen yan satırındaki metni Sheet3te bulup hemen altındaki hücre boşsa oraya Sheet2 sütun Udaki 0'dan farklı ilk sayıyı yazdırmak istiyorum. Eğer sheet3 de metinle karşılaştırıp bulduğum sütundaki hücre doluysa o sütundaki ilk boş hücreye yazdırsın. Bu işlemi Sheet2 de U sütunundaki değerler bitene kadar tekrarlasın istiyorum.
Yardım edebilirseniz çok sevinirim.
Şimdiden teşekkürler..
anlattıklarınızı ayrıntılı bir şekilde örnek dosya halinde açıklamalı olarak hazırlayıp, herhangi bir dosya paylaşım sitedine yükleyiniz ve linkini buradan paylaşınız.
 
Katılım
26 Kasım 2014
Mesajlar
72
Excel Vers. ve Dili
Excel 2010
Altın Üyelik Bitiş Tarihi
15.10.2022
Merhaba arkadaşlar,

Userform üzerinden sayfa1 veri ekliyorum. Yine userform üzerinden yazdır / Kaydet butonuna basıyorum. Bu butona bastığımda sayfa 1deki yazılı olanların çıktısını alacak aynı zamanda sayfa2 kayıt edecek.Sonrasında sayfa 1deki ilgili alanları temizleyecek.

Sayfa 2 ye kayıt ederken asıl istediğim satır dolu ise alt satıra kayıt etmesi. Hücre dolu ise alt satıra kayıt örneklerini buldum fakat satırla ilgili bi örnek göremedim.

Şuan sayfa 1 ek ekleme ve yazıcıa gönderme kodu olarak bunu kullanıyorum. Sayfa 2 ye kayıt konusunda yardımlarınızı bekliyorum. Satırda 1 hücre doluysa bile alt satıra geçmesi lazım.


Private Sub CommandButton1_Click()
Range("A11").Value = TextBox1.Text
Range("B14").Value = TextBox2.Text
Range("A12").Value = TextBox3.Text
Range("A13").Value = TextBox4.Text
Range("B10").Value = TextBox5.Text
Range("A19").Value = TextBox6.Text
Range("B19").Value = TextBox7.Text
Range("C19").Value = TextBox8.Text
Range("D19").Value = TextBox9.Text
Range("E19").Value = TextBox10.Text
Range("A20").Value = TextBox11.Text
Range("B20").Value = TextBox12.Text
Range("C20").Value = TextBox13.Text
Range("D20").Value = TextBox14.Text
Range("E20").Value = TextBox15.Text
Range("A21").Value = TextBox16.Text
Range("B21").Value = TextBox17.Text
Range("C21").Value = TextBox18.Text
Range("D21").Value = TextBox19.Text
Range("E21").Value = TextBox20.Text
Range("A22").Value = TextBox21.Text
Range("B22").Value = TextBox22.Text
Range("C22").Value = TextBox23.Text
Range("D22").Value = TextBox24.Text
Range("E22").Value = TextBox25.Text
Range("A23").Value = TextBox26.Text
Range("B23").Value = TextBox27.Text
Range("C23").Value = TextBox28.Text
Range("D23").Value = TextBox29.Text
Range("E23").Value = TextBox30.Text
Range("A24").Value = TextBox31.Text
Range("B24").Value = TextBox32.Text
Range("C24").Value = TextBox33.Text
Range("D24").Value = TextBox34.Text
Range("E24").Value = TextBox35.Text
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub
 
Katılım
25 Temmuz 2012
Mesajlar
1
Excel Vers. ve Dili
Vısual Basic
Merhabalar
Exelde sırasıyla A1,B1,C1 sonra alt satıra geçip A2,B2,C2,
yine alt satıra geçip A3,B3,C3 bu şekilde devam etmesini istiyorum.
yardımcı olursanız sevinirim.
 
Üst