Şartlı veri aktarımı

Katılım
13 Kasım 2007
Mesajlar
309
Excel Vers. ve Dili
2007
Daha öncede sordum fakat faydalı bir cevap alamadığım için tekrarlıyorum.

2 çalışma sayfam var "data" ve "makbuz"

data= B2:B200 aralığını seçip makbuz= B1:B200 aralığına yazacak
data= C2:C200 aralığını seçip makbuz= C2:C200 aralığına yazacak
data= D2:D200 aralığını seçip makbuz= D2:D200 aralığına yazacak
data= H2:H200 aralığını seçip makbuz= E2:E200 aralığına yazacak


1- verileri aktardığımızı varsayıyorum:
"data" sekmesine bir isim daha eklendiğinde gelip "makbuz" sekmesinde aynısı olup olmadığına bakacak ve yoksa onu aktaracak. aktarma da şartlı olacak

örnek: ahmet isimli bir isim eklendi "data"ya … onu "makbuz" da B3:IV3 aralığına satır açarak ekliyecek dolayısı ile yukarda ve aşağıda olan diğer verilerin hesaplaması bozulmamış olacak

açıklama örnek dosyada mevcuttur
teşekkürler
 

Ekli dosyalar

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
bu ilk istediğinizi karşılar mı?
Kod:
Sub datadan_makbuza_transfer()
ss = Sheets("data").Range("b65536").End(3).Row
    Sheets("data").Range("b2" & ":" & "d" & ss).Copy Sheets("makbuz").Range("b2")
    Sheets("data").Range("g2" & ":" & "g" & ss).Copy Sheets("makbuz").Range("e2")
    Application.CutCopyMode = False
End Sub
listeye sonradan eklenen isim neden 3. satıra yazılmak durumunda? hangi formül bozulur?

araya da eklenir, sorun değil ama listenin altında olmasının ne mahsuru var?
 
Katılım
13 Kasım 2007
Mesajlar
309
Excel Vers. ve Dili
2007
tam olarak anlatamın sanırım .. aktarmada sorun yok .. araya satır açarak eklemeli ...ekli dosyada açıklamasını yaptım
 

Ekli dosyalar

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba

bu kısmen işinizi görür ama yeni ad yazdığınızda aktarma işlemini nasıl yapacaksınız?
yeni ad yazıldığında makbuz sayfasında kendisine yer açılır ama diğer bilgilerin giriliş sırasına bakmak lazım.
yani kod hangi şartta tetiklenecek?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [b:b]) Is Nothing Then Exit Sub
yeniad = Target.Text
say = Application.WorksheetFunction.CountIf(Sheets("makbuz").Range("b1:b65536"), yeniad)
If say > 0 Then MsgBox "mükerrer kayıt!!!"
Sheets("makbuz").Range("b3").EntireRow.Insert
Sheets("makbuz").Range("b3") = yeniad
End Sub
 
Katılım
13 Kasım 2007
Mesajlar
309
Excel Vers. ve Dili
2007
sanırım anlatamadım.

örnek ile açıklamak istiyorum.

data sekmesinde :

ali
bahri

diye iki firma olsun ... bunları makbuz sekmesine aktar dedik .. buraya kadar sorun yok

data sekmesine ahmet diye bi firma ekledim mi ve bunu makbuz sekmesine aktar dedim mi ali ile bahri arasına bir satır açsın ve o satıra yazsın..

satır açmaktaki amacım alinin ve bahrinin satırlarında toplama+çarpma işemi yapacağım. tek istediği data sekmesindeki listeyi makbuza kopyalamak. dataya ekleneni makbuza aktarırken A dan Z ye sıralatmak ve yeni eklenilen ismi araya satır açarak eklemek

bu kadar.. teşekkürler
 
Katılım
13 Kasım 2007
Mesajlar
309
Excel Vers. ve Dili
2007
cevap rica edebilirmiyim
 
Üst