• DİKKAT

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

Üstteki satırın kopyalanması

  • Konbuyu başlatan Konbuyu başlatan alfaoz
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Ağustos 2010
Mesajlar
126
Excel Vers. ve Dili
office excel 2003/2007
Merhaba arkadaşlar;

Daha önce asi_kral arkadaşım tarafından hazırlanan bir kod için yardıma ihtiyacım var. Kod bir alt satıra geçildiğinde bür üst satırındaki bilgilari alt satıra otomatik kopyalıyor. Ancak ufak bir sıkıntım var. ben 1. satır bilgilerim sabit olduğu için işlemin 2. satırdan itibaren başlamasını istiyorum. yani 2. satır boşken 1. satırdaki bilgiler gelmesin kopyalamaya 3. satırdan itibaren başlasın. Ayrıca üstteki A,B,C ikonlarından bütün satırı seçtiğim zaman en alttaki satırı en üstte kopyalıyor. bunu da yapmamasını istiyorum.
Kod;
Kod:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim STR As Long
STR = Range("A" & Rows.Count).End(xlUp).Row
Application.EnableEvents = False
If Intersect(Target, Range("A" & STR + 1 & ":E" & STR + 1)) Is Nothing Then _
Application.EnableEvents = True: Exit Sub
Cells(Target.Row, "A") = Cells(STR, "A")
Cells(Target.Row, "B") = Cells(STR, "B")
Cells(Target.Row, "C") = Cells(STR, "C")
Cells(Target.Row, "D") = Cells(STR, "D")
Cells(Target.Row, "E") = Cells(STR, "E")
Application.EnableEvents = True

End Sub
 
Merhaba
Kod:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim STR As Long' Değişken atama
STR = Range("A" & Rows.Count).End(xlUp).Row' son dolu hücreyi bulma
Application.EnableEvents = False' Kodun bir kez çalışmasını sağlama
If target.row>=3 then' Kodun 3'üncü satırdan itibaren çalışması
If Intersect(Target, Range("A" & STR + 1 & ":E" & STR + 1)) Is Nothing Then _
Application.EnableEvents = True: Exit Sub' Kodun çalışacağı alanı belirleme
Cells(Target.Row, "A") = Cells(STR, "A")'İşlem yapılan satıra değişken str'dan veri alma
Cells(Target.Row, "B") = Cells(STR, "B")' Üst açıklama
Cells(Target.Row, "C") = Cells(STR, "C")'Üst Açıklama
Cells(Target.Row, "D") = Cells(STR, "D")'Üst Açıklama
Cells(Target.Row, "E") = Cells(STR, "E")'Üst Açıklama
end if' If Sonu
Application.EnableEvents = True'Kodu aktif hale getirme
End Sub
Bunu dener misiniz_?
 
Son düzenleme:
eklediğimiz satırda hata veriyor. Bi şey eksik sanki ama siz de çalıştı mı?
 
teşekkür ederim şimdi oldu. Eline sağlık. bir de ricam komutların işlevlerini açıklayabilir misin? ya da bunları genel olarak bulabileceğim bir link var mı? Örneğin;
Dim STR As Long ne demek,
komutun otomatik çalışmasını nasıl sağladın,
intersect komutu parantez içindeki bilgiler neyi veriyor,
ve şu Cells(Target.Row, "A") = Cells(STR, "A") komutu bakınca bana tersmiş gibi geliyor. nasıl oluyorda çalışıyor :)
aslında balık yemek değil tutmayı öğrenmek istiyorum. ilgin için teşekkürler şimdiden.
 
teşekkür ederim şimdi oldu. Eline sağlık. bir de ricam komutların işlevlerini açıklayabilir misin? ya da bunları genel olarak bulabileceğim bir link var mı? Örneğin;
Dim STR As Long ne demek,
komutun otomatik çalışmasını nasıl sağladın,
intersect komutu parantez içindeki bilgiler neyi veriyor,
ve şu Cells(Target.Row, "A") = Cells(STR, "A") komutu bakınca bana tersmiş gibi geliyor. nasıl oluyorda çalışıyor :)
aslında balık yemek değil tutmayı öğrenmek istiyorum. ilgin için teşekkürler şimdiden.

Kodda kısaca açıklama yaptım. Vaktim az olduğundan kısa ve öz anlatmaya çalıştım umarım işinize yarar.
 
Doğrusunu istersen tam istediğim bu değil ama yine de işime yaradı teşekkürler.
 
Son düzenleme:
Geri
Üst