Farklı İse Alt Satıra Kaydetmek

Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Merhabalar;
Ekli örnek dosyada dikili girişi sayfasında T9 hücresindeki veriyi butona bastığımızda A3 hücresinden başlayarak sırasıyla alt alta kayıt yapmak istiyorum. Eğer aynı kayıt varsa üzerine kayıt olacak. Kayıt farklı ise bir alt satıra kayıt yapacak.
Örneğin:T9 hücresinde ALİ varsa AU3 hücresine ALİ yazacak. T9 hücresinde VELİ varsa AU4 hücresine VELİ yazacak.Yardımcı olur musunuz?


 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
"Eğer kayıt varsa üzerine kayıt olacak" ifadesinden kastınız nedir? Örneğin Ali zaten Au sütununda varsa Ali olan hücreye tekrar Ali mi yazılacak? Neden, saçma olmaz mı?
 
Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Yusuf bey merhabalar,
Aynen o şekilde olacak.Örnegin : Ali,Veli,Ahmet yazıp,tekrar Ali yazdıgimda Ahmet'in sonuna tekrar Ali yazmayacak.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Yani Ali varsa listede değişiklik olmayacak değil mi?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki makroyu deneyiniz:

PHP:
Sub aktar()
Set s1 = Sheets("Dikili Girişi")
son = WorksheetFunction.Max(3, s1.Cells(Rows.Count, "AU").End(3).Row)
If s1.[T9] = "" Then
    MsgBox "Lütfen önce cins giriniz!", vbCritical
    s1.Activate
    s1.[T9].Select
ElseIf WorksheetFunction.CountIf(s1.Range("AU3:AU" & son), s1.[T9]) > 0 Then
    MsgBox "Daha önce kaydedilmiş!", vbCritical
    s1.Activate
    s1.[T9].Select
Else
    s1.Cells(son + 1, "AU") = s1.[T9]
End If
End Sub
 
Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Yusuf bey veri aktarımını AU4:AU20 arasında sınırlayabilirmiyiz ?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki gibi deneyin:

PHP:
Sub aktar()
Set s1 = Sheets("Dikili Girişi")
son = WorksheetFunction.Max(3, s1.Cells(Rows.Count, "AU").End(3).Row)
If s1.[T9] = "" Then
    MsgBox "Lütfen önce cins giriniz!", vbCritical
    s1.Activate
    s1.[T9].Select
ElseIf WorksheetFunction.CountIf(s1.Range("AU3:AU20"), s1.[T9]) > 0 Then
    MsgBox "Daha önce kaydedilmiş!", vbCritical
    s1.Activate
    s1.[T9].Select
ElseIf WorksheetFunction.CountBlank(s1.Range("AU3:AU20")) > 0 Then
    Set c = s1.Range("AU3:AU20").Find("")
    If Not c Is Nothing Then
        a = c.Row
        s1.Cells(a, "AU") = s1.[T9]
    End If
Else
    MsgBox "AU3:AU20 aralığında boş hücre bulunmadığından işlem yapılmadı!", vbInformation
End If
End Sub
 
Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Yusuf bey çok teşekkür ederim
 
Üst