• DİKKAT

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

sayfalar arası veri aktarımı

Katılım
20 Ekim 2005
Mesajlar
502
s.a.

ekteki dosyada yazılı olan sorunumu bir türlü çözemedim. yardımlarınız için şimdiden teşekkür ederim
 

Ekli dosyalar

Merhaba,
Kod:
Sub Aktar()
Set s2 = Sheets("Sayfa2")
Sat = s2.[a65536].End(3).Row + 1
For x = 1 To 3
s2.Cells(Sat, x) = Cells(2, x)
Next
End Sub
 

Ekli dosyalar

s.a.

ustam sağolasın, ellerin dert görmesin.

birde sayfa1 deki veriler alt alta olsaydı, yani adı soyadı a1 de, tc kimlik no b1 de, ünvanı c1 de olsaydı, sayfa 2 ye tek satıra kaydedecek şekilde makroyu nasıl düzenlerdik. bilgilendirirsen sevinirim
 
Son düzenleme:
s.a.

ustam sağolasın, ellerin dert görmesin.

birde sayfa1 deki veriler alt alta olsaydı, yani adı soyadı a1 de, tc kimlik no b1 de, ünvanı c1 de olsaydı, sayfa 2 ye tek satıra kaydedecek şekilde makroyu nasıl düzenlerdik. bilgilendirirsen sevinirim
Bu isteğinizi pek anlayamadım. İstediğiniz aktarım şeklini örnek bir dosyada manuel olarak girip ekler misiniz?
 
Kod:
Sub Aktar()
Set s2 = Sheets("Sayfa2")
Sat = s2.[a65536].End(3).Row + 1
For x = 1 To 3
s2.Cells(Sat, x) = Cells(x, "b")
Next
End Sub
 

Ekli dosyalar

hocam benimde bir sorum olacak aynı konuda ek'i gönderiyorum yardımlarınızı bekliyorum
 

Ekli dosyalar

hocam benimde bir sorum olacak aynı konuda ek'i gönderiyorum yardımlarınızı bekliyorum

Syn. cılgın86'lı,
Ne istediğiniz tam anlaşılmıyor. Sanırım aynı aya denk gelen satırları öteki sayfaya aktarmak istiyorsunuz. Peki diğer sayfada var olan veriler ne olacak. Belli bir satırdan sonra toplam satırı vs. var. Aktarım bir süre sonra buraya ulaşacak. Buradaki satırlar ister istemez silinecek. vs. vs.
 
Estağfirullah, sıkıldığım falan yok. Satır satır açıklıyorum.
Set s2 = Sheets("Sayfa2") Bu satırla Sayfa2'yi s2 olarak tanımladım. Bu kod yazarken sadelik ve kolaylık sağlar.
Sat = s2.[a65536].End(3).Row + 1 Bu satırın anlamı sayfa2'nin a sütunundaki son boş satırı bulmayı sağlar. Örneğin 5. satır doluysa Sat değeri 6 olacaktır.
For x = 1 To 3 Bu döngü oluşturmayı sağlar. Kod çalıştığında x değeri sırasıyla 1,2 ve 3 değerini alır ve kendi içindeki kodu 3 defa tekrar ettirir.
s2.Cells(Sat, x) = Cells(x, "b") Bu satırın "="den önceki kısmı Sayfa2'nin son boş satırının 1. sütununda bulunan hücre "=" bu sayfanın 1. satır, b sütunundaki hücreye eşittir. (Bu ilk döngü için geçerlidir. Döngünün 2. turunda sayı 2 değerini, üçüncüde 3 değerini alacaktır, bunu unutmayın.
Next
Umarım açıklayıcı olmuştur. Eğer kodlarda yeniyseniz ve verileriniz sayfanın verdiğiniz örneğe göre farklı yerindeyse uyarlamakta zorlanabilirsiniz. Eğer çözemezseniz, verilerinizin anadosyayla uyumlu yerleştirilmiş şeklini örnek olarak ekleyin, ben uyarlayayım.
 
Syn. cılgın86'lı,
Ne istediğiniz tam anlaşılmıyor. Sanırım aynı aya denk gelen satırları öteki sayfaya aktarmak istiyorsunuz. Peki diğer sayfada var olan veriler ne olacak. Belli bir satırdan sonra toplam satırı vs. var. Aktarım bir süre sonra buraya ulaşacak. Buradaki satırlar ister istemez silinecek. vs. vs.

selam hocam oradaki sayfa zaten fazlaya ayarlanmış durumda ve aynı şekilde 12 tane var sizden sadece bir tanesini yapmanızı istedim diğer sayfalara makroyu ayarlamayacağım yani daha kısaca İ1 sayfasında olan veriler örnektir.
o sayfada en fazla 23-30 satır bilgi olacaktır. yani siz sadece i1 sayfasıı M1 sayfasına bağlanrsanız ben oradaki makroya göre diğer sayfaları ayarlayacağım.
 
Dosyanızdaki satır gizleme kodlarında bir kaç değişiklik yaparak sonuç ürettim.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim HÜCRE As Range
    Set s2 = Sheets("M1")
    If Intersect(Target, [B1]) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    If IsDate(Target) Then
 [COLOR="Red"]   s2.[b5:g79,I5:I79] = ""[/COLOR]
    For Each HÜCRE In Range("B3:B" & Range("B65536").End(3).Row)
        If Format(HÜCRE.Value, "m") = Format(Target, "m") And Year(HÜCRE.Value) = Year(Target) Then
           Sat = s2.[b79].End(3).Row + 1
           If Sat = 5 Then Sat = Sat + 1
            s2.Cells(Sat, "b") = HÜCRE
            s2.Cells(Sat, "e") = Cells(HÜCRE.Row, "c")
            s2.Cells(Sat, "d") = Cells(HÜCRE.Row, "d")
            s2.Cells(Sat, "f") = Cells(HÜCRE.Row, "f")
            s2.Cells(Sat, "c") = Cells(HÜCRE.Row, "e")
            s2.Cells(Sat, "g") = Cells(HÜCRE.Row, "g")
            s2.Cells(Sat, "I") = Cells(HÜCRE.Row, "h")
        End If
    Next
    MsgBox "İşlem tamam.", vbInformation
    End If
    Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Son düzenleme:
selam hocam bir kaç tane sorunumuz var
1 firma isimlerini atmıyot
2 değişiklik yaptığım zaman aynı bilgileri tekrardan atıyor
3 çalışma sayfasında her ay kaç çekiyor ise artı en üstünde bir satır ( ör : ocak ayı 31 çekiyor ise üstten 32 satır ) boşluk kalmasını istiyorum
4 toplam sutununu ciro kısmına atması
tekrardan yardım etmenizi bekliyorum
 
Son düzenleme:
Dosyayı güncelledim. Yeniden indirebilirsiniz. 3. sorunuzu anlamadım. Nasıl bir yerleşim istiyorsanız dosyanıza manuel olarak ekleyip buraya ekleyin, onun üzerinden gidelim.
 
Yeni dosyayı ekledim bir bakarsanız m1 sayfasında atılacak bilgiler boş satırlara atılsın öbür bilgileri silmesin
 

Ekli dosyalar

Syn. cılgın86'lı,
Toplamı I sütununa atsın demişsiniz. Onu zaten yapıyor. Toplamda 0 değeri olduğu için farketmiyor olabilirsiniz. Değerleri değiştirip deneyin. Onun dışında bir önceki günün tarihini girebilmeniz için aktarmayı bir satır ileriden başlattım. Boş satırdan aktarmaya devam etmesini istemişsiniz. Onun için de yukarıdaki koddan kırmızı satırı silerseniz bu isteğinizde gerçekleşir.
Dosya ve kodları güncelledim.
 
Hocam yardımlarınız için teşekkür ederim yalnız benim büyük çalışmama uymuyor onu gönderiyorum yardımcı olursanız sevinirim
BİR DE İ1 SAYASINA TARİHİ ATTIKTAN SONRA BİR DAHA TARİH GİRMESEM VE OTOMATİK KENDİSİ GÜNCELLENDİKTEN SONRA İŞLEM YAPSIN
 

Ekli dosyalar

Son düzenleme:
Hocam kolay gelsin ben büyük çalışmayı yaptığınızla birleştirdim ve istediğim şekilde oldu. şimdi bir iki tane sıkıntım kaldı
1.'si tarihi girdiğim zaman ilkini atıyor aynı yere yani güncelleştirme yaptıgımda ikinci defa tarih girdiğimde aynı bilgileri tekrardan atıyor. Aynı bilgiyi ikinci defa atmaması
2.'si ise hangi ay olursa olsun ayarlamak ve bir daha i1 sayfasına veri girmemek bunu olmazsa olmaz değildir ( yani olmuyor ise zorlamıyım sizi )
 
Selamlar,

Sayfa2 de aşağıdaki formülleri uygulayınız.

A18 hücresine isim yazınız.

B18 hücresine;
Kod:
=DÜŞEYARA($A18;Sayfa1!$A:$F;2;0)

C18 hücresine;
Kod:
=DÜŞEYARA($A18;Sayfa1!$A:$F;3;0)

D18 hücresine;
Kod:
=DÜŞEYARA($A18;Sayfa1!$A:$F;6;0)

E18 hücresine;
Kod:
=DÜŞEYARA($A18;Sayfa1!$A:$F;4;0)

F18 hücresine;
Kod:
=DÜŞEYARA($A18;Sayfa1!$A:$F;5;0)
 
Geri
Üst