Yukarıdan Otomatik Kopyalama

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba arkadaşlar. Bir dosyada tekrarlanması gereken verilerin makro ile olarak yukarıdan bir aşağıya kopyalanması mümkün mü ? Ekteki dosyada KAYIT sayfasında Tarih ve Bölge sütunları var. Şehir eklendikçe Tarih ve Bölge'nin bir aşağıya kopyalanması mümkün mü ? Örneğin BURSA yazıldığı zaman 01.01.2007 tarih ve Marmara bölgesinin aşağıya kopyalanması.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba


Yapılır fakat ,

1 -Bir sayfaya şehir ve bölge girseniz sonrada düşeyara ile bulunsa daha kolay olmazmı.

2 - B sütunundaki hücreye 1 önceki hücrenin adresini verebilirsiniz.
C3 Bursa ise
B3 hücresine =EĞER(C3="";"";B2) yazabilirsiniz.

3- Sizin isteğinize göre Ankara yazdığınızda Bölgeye Marmara gelir.O zaman ne olacak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,601
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Eğer sayfada sadece bir bölgeyi kullanacaksanız aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [D2:D65536]) Is Nothing Then Exit Sub
    If InStr(1, Target.Address, ":") <> 0 Then Exit Sub
    If Not IsEmpty(Target) Then
    Cells(Target.Row, 1) = WorksheetFunction.Max([A:A]) + 1
    Cells(Target.Row, 2) = Cells(Target.Row - 1, 2)
    Cells(Target.Row, 3) = Cells(Target.Row - 1, 3)
    Else
    Cells(Target.Row, 1) = ""
    Cells(Target.Row, 2) = ""
    Cells(Target.Row, 3) = ""
    End If
End Sub
Eğer farklı bölgeler kullanabilirim derseniz Sn. zafer beyin 1. önerisi sizin için daha faydalı olacaktır.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Sayın Zafer ilginiz için çok teşekkür ederim. Durum gereğince makrolu çözüm gerekiyor.

Her ne kadar dosyadaki Bölge ve Şehir ilişkisi sembolik anlam taşısa da kullanıcının programı yanlış kullanımı onun sorunu oluyor neticede. Buradaki beklenti bilgiler arasındaki ilişkinin doğruluğundan ziyade düz olarak yukarıdaki verinin aşağıya kopyalanması.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Teşekkürler

Sayın Cost Control yardımınız için çok teşekkürler. Bu kodu şu şekilde revize edebilir miyiz. Başka bir bölge yazmamıza rağmen yine de bir yukarıdakini yeni bölge adının üstüne kopyalıyor. Kodun Tarih ve Bölge değişmesine duyarlı olması mümkün mü ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,601
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kodu a&#351;a&#287;&#305;daki &#351;ekilde de&#287;i&#351;tirip denermisiniz. Tarih ve B&#246;lge alan&#305; bo&#351; ise bir &#252;stteki sat&#305;r&#305; a&#351;a&#287;&#305; aktaracakt&#305;r. De&#287;ilse hi&#231;bir de&#287;i&#351;iklik yapmayacakt&#305;r.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [D2:D65536]) Is Nothing Then Exit Sub
    If InStr(1, Target.Address, ":") <> 0 Then Exit Sub
    If Not IsEmpty(Target) Then
    Cells(Target.Row, 1) = Target.Row - 1
    Cells(Target.Row, 2) = IIf(Cells(Target.Row, 2) = "", Cells(Target.Row - 1, 2), Cells(Target.Row, 2))
    Cells(Target.Row, 3) = IIf(Cells(Target.Row, 3) = "", Cells(Target.Row - 1, 3), Cells(Target.Row, 3))
    Else
    Cells(Target.Row, 1) = ""
    Cells(Target.Row, 2) = ""
    Cells(Target.Row, 3) = ""
    End If
End Sub
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Üst