• DİKKAT

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

Otomatik yazma

Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Sayfa 1 D sütunun son satırına yazdığım ismi her defasında sayfa 2 nin D1 hücresine yazma. Sayfa1 d sütunun son satırına sürekli ekleme yapıyorum Her yeni kişi eklediğimde sayfa2 D1 hücresi makro ile nasıl değişir.
 
Merhaba.

Sayfa1 in kod kısımına aşağıdaki kodları kopyalayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SonSatir As Long
    If Not Intersect(Target, Range("D:D")) Is Nothing Then
        SonSatir = Cells(Rows.Count, "D").End(xlUp).Row
        If Target.Row = SonSatir Then
            Worksheets("Sayfa2").Range("D2") = Target
        End If
    End If
End Sub
 
Aynı sayfada aşağıdaki kod var. sizin verdiğinizle nasıl birleştirebilirim.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

   If Selection.Count > 1 Then Exit Sub
   If Intersect(Target, Range("D:G")) Is Nothing Then Exit Sub
   satir = Target.Row
   sutun = Target.Column
 
   sonsatira = Cells(Rows.Count, "D").End(3).Row
   sonsatirb = Cells(Rows.Count, "G").End(3).Row
   If sonsatira > sonsatirb Then SonSatir = sonsatira Else SonSatir = sonsatirb
   Say = 0
   For i = 1 To SonSatir
     veria = Cells(i, "D").Value
     verib = Cells(i, "G").Value
     If veria = Cells(satir, "D").Value And verib = Cells(satir, "G").Value Then Say = Say + 1
   Next i
   If Say > 1 Then
    MsgBox (veria & " ve " & verib & " Mükerrer girildi.")
    
    Application.EnableEvents = False
     Cells(satir, "D").Value = ""
     Cells(satir, "G").Value = ""
    Application.EnableEvents = True

   End If
 
Merhaba ,

Şu kodlardan sonrasına aşağıdaki kodları ekleyip deneyiniz.sonsatirb = Cells(Rows.Count, "G").End(3).Row

Kod:
   If Target.Column = 4 Then
        If Target.Row = sonsatira Then
            Worksheets("Sayfa2").Range("D2") = Target
        End If
   End If
 
bu iki kod bağımsız çalışıyor ama birleştiremiyorum

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

   If Selection.Count > 1 Then Exit Sub
   If Intersect(Target, Range("D:G")) Is Nothing Then Exit Sub
   satir = Target.Row
   sutun = Target.Column
 
   sonsatira = Cells(Rows.Count, "D").End(3).Row
   sonsatirb = Cells(Rows.Count, "G").End(3).Row
    
   If sonsatira > sonsatirb Then SonSatir = sonsatira Else SonSatir = sonsatirb
   Say = 0
   For i = 1 To SonSatir
     veria = Cells(i, "D").Value
     verib = Cells(i, "G").Value
     If veria = Cells(satir, "D").Value And verib = Cells(satir, "G").Value Then Say = Say + 1
   Next i
   If Say > 1 Then
    MsgBox (veria & " ve " & verib & " Mükerrer girildi.")
    
    Application.EnableEvents = False
     Cells(satir, "D").Value = ""
     Cells(satir, "G").Value = ""
    Application.EnableEvents = True

   End If
  
End Sub

ve

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SonSatir As Long
   If Not Intersect(Target, Range("D:D")) Is Nothing Then
        SonSatir = Cells(Rows.Count, "D").End(xlUp).Row
        If Target.Row = SonSatir Then
            Worksheets("Rapor-Kişi").Range("D2") = Target
        End If
    End If
End Sub
 
Hangi satırda hata veriyor ?
 
Worksheets("Sayfa2").Range("D2") = Target

Sayfa adı Rapor-Kişi aslında ama her ikisindede hata verdi
 
Bu şekilde deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

   If Selection.Count > 1 Then Exit Sub
   If Intersect(Target, Range("D:G")) Is Nothing Then Exit Sub
   satir = Target.Row
   sutun = Target.Column
 
   sonsatira = Cells(Rows.Count, "D").End(3).Row
   sonsatirb = Cells(Rows.Count, "G").End(3).Row
    
    If Target.Column = 4 Then
        If Target.Row = sonsatira Then
            Worksheets("Rapor-Kişi").Range("D2") = Target
        End If
    End If
    
   If sonsatira > sonsatirb Then SonSatir = sonsatira Else SonSatir = sonsatirb
   Say = 0
   For i = 1 To SonSatir
     veria = Cells(i, "D").Value
     verib = Cells(i, "G").Value
     If veria = Cells(satir, "D").Value And verib = Cells(satir, "G").Value Then Say = Say + 1
   Next i
   If Say > 1 Then
    MsgBox (veria & " ve " & verib & " Mükerrer girildi.")
    
    Application.EnableEvents = False
     Cells(satir, "D").Value = ""
     Cells(satir, "G").Value = ""
    Application.EnableEvents = True

   End If
 
End Sub
 
Aynı yerde hata veriyor

Worksheets("Rapor-Kişi").Range("D2") = Target
 
Dosyanızı ekleyebilir misiniz ?
 
Boyutu büyük sadeleştirmem lazım. Birde kişilerin tc kimlik bilgileri var. Müsait bi zamanda yükleyeyim. Aslında kodlar ayrı ayrı çalışıyor. Bende bu arada biraz uğraşayım.
 
Bu dosyada dener misiniz ?
 

Ekli dosyalar

Kusura bakmayın sorun çözüldü. Ben hata yapıyormuşum. Kilitli hücreye veri girmeye çalıştığından hata verdi. Düzelttim teşekkür ederim.
 
Geri
Üst