• DİKKAT

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

Veri depolama...

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,472
Excel Vers. ve Dili
Office 2010 & 2013 tr
Selamlar,
Ana sayfada hazırladığım tablodaki verilerin exelin başka bir sayfasında depolanmasını istiyorum. Mesela A1:A25 arası veri giriş sütunu olsun. Buraya girdiğim verileri bir başlık altında başka bir sayfaya kaydetmesini, her girilen yeni veriyi yeni başlık altında depolanan sayfada boş bulduğu ilk yere depolamasını. Sonra eklediğimiz başlığı tıkladığımızda bu verilerin yeniden A1:A25 arasına gelmesini istiyorum. Pek anlatamadım, ama uzmanlarımız sağalsun leb demeden leblebiyi anlıyorlar. Cevabının hemen geleceğine eminim. Yine de bir ek dosya yolluyorum ilgilenirseniz sevinirim.
 
Arkadaşlar,
cevabınızı sabırla bekliyorum.
 
Merhaba,

İki adet kod yazdım. Biri sayfa2 ye aktarmak için, diğeri de Sayfa2 den belirlenen başlık ile çekmek için. Konu Başlığı ile bilgileri getirmek için Sayfa1 deki B sütununda ilgili konu başlığına çift tıklamak yeterli.

İkinci kod Sayfa1 in kod bölümünde.

Konu başlığını belirlerken Çift olup olmadığını kontrol etmedim. Onu da size bıraktım :)

Kod:
Sub Aktar()
Baslik = Application.InputBox("Baslık Belirleyiniz", "Başlık", "Baslık 1")
If Baslik = False Then Exit Sub
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Sat = s1.[B65536].End(3).Row + 1
s1.Cells(Sat, "B") = Baslik
Sat = s2.[A65536].End(3).Row
For i = 2 To s1.[A65536].End(3).Row
    Sat = Sat + 1
    s2.Cells(Sat, "A") = Baslik
    s2.Cells(Sat, "B") = s1.Cells(i, "A")
Next i
MsgBox Baslik & " Altında Sayfa2 ye Aktarılmıştır"
s1.Range("A2:A" & s1.[A65536].End(3).Row).ClearContents
End Sub



Sayfadaki Kod :

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
If Target.Row = 1 Then Exit Sub
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Application.ScreenUpdating = False
s1.Range("A2:A65536").ClearContents
Sat = 1
Set Bul = s2.Columns(1).Find(Target.Value)
    If Not Bul Is Nothing Then
    j = Bul.Row
        Do
            Sat = Sat + 1
            s1.Cells(Sat, "A") = s2.Cells(j, "B")
            j = j + 1
        Loop Until s2.Cells(j, "A") <> Target
    End If
Application.ScreenUpdating = True
MsgBox "Aktar&#305;m Tamamlanm&#305;&#351;t&#305;r"
Son:
End Sub
 
Son düzenleme:
Merhaba,

İki adet kod yazdım. Biri sayfa2 ye aktarmak için, diğeri de Sayfa2 den belirlenen başlık ile çekmek için. Konu Başlığı ile bilgileri getirmek için Sayfa1 deki B sütununda ilgili konu başlığına çift tıklamak yeterli.

İkinci kod Sayfa1 in kod bölümünde.

Konu başlığını belirlerken Çift olup olmadığını kontrol etmedim. Onu da size bıraktım :)

Sn. Hocam, ilginizden dolayı teşekkür ederim. Evet istediğim, hemen hemen bu. Bir kaç farklılık var. İsteğimi daha net ifade edebilmek için maddelendiriyorum:
1- Bendeki giriş tablosu örneğin; B7:B205 arası. Ben bu aralıktaki veriyi diğer sayfanın mesela C sütununa girmek istiyorum ve B7:B205 aralığındaki tüm verilerin tek bir başlığı olmasını istiyorum.
2- Bu başlık örnek C3 hücresinde olsun. Girdiğim veri de bu hücrenin hemen altına yerleşsin. Yani C4:C201 aralığına.
3- Yeni girdiğim verinin de D sütununa yerleşmesini istiyorum. Yani kayıt alta doğru değil, yana doğru ilerlesin.
4- Eğer mümkünse verileri aktarma şeklinde değil, kopyala yapıştır formatında diğer sayfaya kaydatmek istiyorum, aksi taktirde biçim kaydolmuyor.
5- Son olarak, başlıkları hücre içine değilde, eğer oluyorsa açılır liste butonu şeklinde bir şeye kaydetmek istiyorum.

Biliyorum, isteğim biraz fazla oldu, kusura bakmayın. Şimdiden çok ama çok teşekkür ederim...
 
Merhaba,

Umarım sorunuzu anlamışımdır. Ekli dosyayı inceleyiniz.
 
Necdet Ye&#351;ertener;286257' Alıntı:
Merhaba,

Umar&#305;m sorunuzu anlam&#305;&#351;&#305;md&#305;r. Ekli dosyay&#305; inceleyiniz.

Hocam, yine maddeleyerek aktaraca&#287;&#305;m.
1- &#350;u anki g&#246;nderdi&#287;niz dosyada a&#231;&#305;l&#305;r liste tam istedi&#287;im gibi. Onda bir sorun yok.
2- Ba&#351;l&#305;k verip yana kaydetme k&#305;sm&#305; da istedi&#287;im gibi ama bir sorun var: Veri giri&#351; k&#305;sm&#305;ndan veriyi girip aktar dedi&#287;imde s&#252;rekli sayfa2'nin D s&#252;tununa kaydediyor. B&#246;yle olunca bir &#246;nce girilen veri siliniyor. Benim iste&#287;im, mesela D s&#252;tununa kaydettikten sonra, di&#287;er giri&#351;i E s&#252;tununa, bir sonrakini F'ye kaydetsin. E&#287;er kay&#305;t s&#305;ras&#305;nda s&#252;tun tamamen dolarsa, alt k&#305;s&#305;mdan yeni seri ba&#351;layabilir, yani A30'dan ba&#351;lay&#305;p B30, C30... tabi bu iste&#287;e ba&#287;l&#305;, yoksa &#246;teki de yeterli olur.
3- Yine g&#246;nderdi&#287;iniz &#246;rnekte Aktar&#305; tu&#351;lad&#305;&#287;&#305;m&#305;zda veriyi aktar&#305;rken, ayn&#305; zamanda siliyor. Ben silmesini istemiyorum, onu sil butonuyla hallettim.
4- Bir de veri giri&#351;te belli bir aral&#305;&#287;a veri giri&#351;i yapaca&#287;&#305;m i&#231;in, kopyalama i&#351;leminin belli bir aral&#305;&#287;&#305; kapsamas&#305; bana daha uygun olur. G&#246;rd&#252;&#287;&#252; veriyi de&#287;il de, mesela A5:A25 aral&#305;&#287;&#305;ndaki veriyi al&#305;p kopyalas&#305;n
Hocam, &#351;imdilik bu kadar, size de zahmet veriyorum. &#304;lginizden dolay&#305; &#231;ok te&#351;ekk&#252;r ediyorum. Sa&#287;olun. Cevab&#305;n&#305;z&#305; bekliyorum...
 
Son düzenleme:
Merhaba,

Evet gözümden kaçmış hep aynı kolona kopyalıyordu.
Kodu düzelttim.
 
Merhaba,

Evet gözümden kaçmış hep aynı kolona kopyalıyordu.
Kodu düzelttim.
Üstad, sağolasın, ellerine sağlık. Tam istediğim gibi olmuş. Eliniz değmişken son bir istek, tabi vaktiniz varsa...
Veriyi aktarırken dolgu rengi ve çerçeveyi aktarmasın, veriyi geri getirirken de sadece metni alsın. Sebebine gelince, hazırladığım veri giriş tablosu renkli ve çerçeveli. Veriyi geri çağırınca veri giriş tablosunun rengi beyaza dönüyor.
 
Necdet hocam, daha önce gönderdiğiniz dosyada aynı başlık altında veriyi kaydetmiyor, uyarı veriyordu. Uyarı metni makroda da görünüyor zaten. Son dosyada bu uyarıyı vermiyor ve aynı başlıkta veri kaydına izin veriyor. İlgilenirseniz sevinirim. Bir önceki mesajı da okur musunuz?
 
Merhaba,

Sütundan satıra geçince kontrolü unutmuşum.

B7:B31 arasını kopyalattırdım.
 
Neden indirme yapamiyorum ?

Merhaba,

Eski dosyaların çoğuna ulaşamıyorsunuz. Foruma saldırıdan sonra Server değişikliği sırasında yedek olmadığı için yüklenmedi.

Ancak bazı dosyalar arkadaşlarımızın arşivlerinde varsa ve onlar yüklerse bizde o dosyalara ulaşmış oluyoruz.
 
Geri
Üst