• DİKKAT

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

Bir hucredeki veri (tarih) baska bir calisma sayfasina ?

Katılım
23 Aralık 2005
Mesajlar
37
Excel Vers. ve Dili
English
Merhaba arkadaslar. Size bir sorum olacak Mesela Sayfa1 de hucre B6 ya girilen veri (tarih) ye göre hucre b7 deki degerleri sayfa2 sayfa3 e kaydede bilirmiyim? Ã?rnegin
Sayfa1
A__________B__________C
1 15.TEM.05 DENEME

(bu sekilde girdigim veri)




sayfa2
A__________B__________C
1 15 temmuz 2005 listesi
2 DENEME
(sayfa2 ye bu sekilde tek tek siralanabilir mi?)
 
Sorunuz için bir örnek dosya eklermisiniz.
 
Aşağıdaki kodu blad1 isimli sayfanın kod sayfasına kopyalayın. Tarihi girdiğinizde yolcu adı ilgili sayfaya aktarılacaktır.

[vb:1:7253b38f10]Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [i:i]) Is Nothing Then Exit Sub
ad = Format(Target, "ddmmmyy")
sonsat = Sheets(ad).[c65536].End(3).Row
Sheets(ad).Cells(sonsat + 1, "b") = sonsat - 2
Sheets(ad).Cells(sonsat + 1, "c") = [d6]
Exit Sub
10 MsgBox "YAZDIÐINIZ TARİHE AİT SAYFA ADI BULUNAMADI"
End Sub
[/vb:1:7253b38f10]
 
leventm' Alıntı:
Aşağıdaki kodu blad1 isimli sayfanın kod sayfasına kopyalayın. Tarihi girdiğinizde yolcu adı ilgili sayfaya aktarılacaktır.

[vb:1:d540ded9bf]Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [i:i]) Is Nothing Then Exit Sub
ad = Format(Target, "ddmmmyy")
sonsat = Sheets(ad).[c65536].End(3).Row
Sheets(ad).Cells(sonsat + 1, "b") = sonsat - 2
Sheets(ad).Cells(sonsat + 1, "c") = [d6]
Exit Sub
10 MsgBox "YAZDIÐINIZ TARİHE AİT SAYFA ADI BULUNAMADI"
End Sub
[/vb:1:d540ded9bf]

Levent bey cevabiniz icin tesekkur ederim Benim gönderdigim örnekte blad isimli sayfa degisken olacak her degisiklik yaptigimda diger sayfalara tarihlerine göre siralayacak.Ben her degistirdigimden sonra kayit edecegim. Sizin örneginizde sanirim bir satir olarak yaziyor sonradan yazdigimda 2. satir 3.satir olarak devam etmiyor. Bana bir örneek dosya gönderebilirmisiniz lutfen iyi calismalar
 
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [i:i]) Is Nothing Then Exit Sub
ad = Format(Target, "ddmmmyy")
sonsat = Sheets(ad).[c65536].End(3).Row
Sheets(ad).Cells(sonsat + 1, "b") = sonsat - 2
Sheets(ad).Cells(sonsat + 1, "c") = [d6]
Sheets(ad).Cells(sonsat + 1, "d") = [e6]
Exit Sub
10 MsgBox "YAZDIGINIZ TARIHE AIT SAYFA ADI BULUNAMADI"
End Sub

Burada sadece tarihe göre kontrol edip listeleme yapiyor baska bir hucre belirtip orada ki veriye ve tarihe göre baska dosyaya listeleme yapabilir mi?
 
Burada sadece tarihe göre kontrol edip listeleme yapiyor baska bir hucre belirtip orada ki veriye ve tarihe göre baska dosyaya listeleme yapabilir mi?
Bu sorunuzu biraz daha açarmısınız.
 
Sizin verdiginiz visual basic koduna göre tarihe göre yolcu ismini alip ayni tarih ismindeki dosyaya liste olusturuyor. Sadece tarihi dikkate alarak kayit yapiyor Mesela 10-jun-05 yazinca tarih kismina yolcu ismini alip 10jun05 adli dosyaya listeliyor ve siraliyor. Benim ögrenmek istedigim örnegin a5 hucreye ankara yazdik d5 e de 10-jun-05 yazdik a1 e de yolcu adi. Buradan Yolcu adi yani a1 deki veriyi ANKARA10JUN05 diye dosyaya nasil listeleyebiliriz. Diger cevabinizda sadece tarihe göre yapmistik simdi Bir hucreyi de dikkate alip dosyaya kayit yapilacak kodu nasil ekleyebiliriz? Tesekkurler
 
Aşağıdaki gibi deneyin. Kırmızı renkli yer ilave edilmiştir.

[vb:1:d048689daf]Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [i:i]) Is Nothing Then Exit Sub
ad = [a5]&Format(Target, "ddmmmyy")
sonsat = Sheets(ad).[c65536].End(3).Row
Sheets(ad).Cells(sonsat + 1, "b") = sonsat - 2
Sheets(ad).Cells(sonsat + 1, "c") = [d6]
Exit Sub
10 MsgBox "YAZDIÐINIZ TARİHE AİT SAYFA ADI BULUNAMADI"
End Sub
[/vb:1:d048689daf]
 
Bu sekilde calistirdim peki A5 ile A6' ya nasil ayni anda yapabiliriz

If Intersect(Target, [i:i]) Is Nothing Then Exit Sub
ad = [A5] & Format(Target, "ddmmmyy")

Yukarida ki satirda sadece A5 icin gecerli hem A5 hem A6 icin bu satiri kopyalayip digerine A6 yazinca diger dosyaya degerleri cift yaziyor.

B
 
Haklısınız bunu atlamışım, aşağıdaki gibi deneyin.


ad =Target.offset(0,-3) & Format(Target, "ddmmmyy")
 
leventm' Alıntı:
Haklısınız bunu atlamışım, aşağıdaki gibi deneyin.


ad =Target.offset(0,-3) & Format(Target, "ddmmmyy")

Bu sekilde degistirdim ama hucre belirtmedigimiz icin galiba hata veriyor.
Digerinde A5 yazmistik bunda hedef hucre yok? A5 ve A6 yi dikkate alarak tarihe göre nasil bi kod yazmamiz gerekir?
 
Aşağıdaki gibi deneyin.

ad = Cells(Target.Row, "a") & Format(Target, "ddmmmyy")
 
leventm' Alıntı:
Aşağıdaki gibi deneyin.

ad = Cells(Target.Row, "a") & Format(Target, "ddmmmyy")
Sadece belli hucreler belirteler yapabilirmiyim? Alt satirda da benzeri olacak ama onlarin listeye gecmemesi gerekiyor
 
A sutununda hem ucuslar hemde kara transferleri olacak bizim listesini olusturdugumuz sadece ucuslar oldugu icin hucre belirterek kod girersek kara yolu transferi ucus listesine eklenmemis olarak yani örnege göre A sutunun tamami olarak degil de Sadece A5 ve A6 sutununu dikkate alarak nasil yapabiliriz?
 
Aşağıdaki gibi deneyin.

[vb:1:61f84f0055]Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [i:i]) Is Nothing Then Exit Sub
ad = [a5]&Format(Target, "ddmmmyy")
ad1 = [a6]&Format(Target, "ddmmmyy")
sonsat = Sheets(ad).[c65536].End(3).Row
sonsat1 = Sheets(ad1).[c65536].End(3).Row
Sheets(ad).Cells(sonsat + 1, "b") = sonsat - 2
Sheets(ad).Cells(sonsat + 1, "c") = [d6]
Sheets(ad1).Cells(sonsat1 + 1, "b") = sonsat1 - 2
Sheets(ad1).Cells(sonsat1+ 1, "c") = [d6]
Exit Sub
10 MsgBox "YAZDIÐINIZ TARİHE AİT SAYFA ADI BULUNAMADI"
End Sub
[/vb:1:61f84f0055]
 
leventm' Alıntı:
Aşağıdaki gibi deneyin.

[vb:1:ae639d1baa]Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [i:i]) Is Nothing Then Exit Sub
ad = [a5]&Format(Target, "ddmmmyy")
ad1 = [a6]&Format(Target, "ddmmmyy")
sonsat = Sheets(ad).[c65536].End(3).Row
sonsat1 = Sheets(ad1).[c65536].End(3).Row
Sheets(ad).Cells(sonsat + 1, "b") = sonsat - 2
Sheets(ad).Cells(sonsat + 1, "c") = [d6]
Sheets(ad1).Cells(sonsat1 + 1, "b") = sonsat1 - 2
Sheets(ad1).Cells(sonsat1+ 1, "c") = [d6]
Exit Sub
10 MsgBox "YAZDIÐINIZ TARİHE AİT SAYFA ADI BULUNAMADI"
End Sub
[/vb:1:ae639d1baa]

Bu sekilde denedim isimleri ikiser ikiser yaziyor.
 
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [i:i]) Is Nothing Then Exit Sub
ad = Cells(Target.Row, "a") & Format(Target, "ddmmmyy")
sonsat = Sheets(ad).[c65536].End(3).Row
Sheets(ad).Cells(sonsat + 1, "b") = sonsat - 2
Sheets(ad).Cells(sonsat + 1, "c") = [d6]
Exit Sub
10 MsgBox "YAZDIĞINIZ TARİHE AİT SAYFA ADI BULUNAMADI"
End Sub

Bu kodlari sayfa1 de bir dugmeye ekleyip sayfa2 nin A Sutunundaki degerlere göre ayarlayabilirmiyiz?
 
Levent Bey konu ile ilgili dosyayi ekledim.
Visual Basic kodu sayfa1 icin hazirlanmis, benim istedigim bu kodu ana sayfaya bir dugme ekleyerek bilet sayfasindaki degerlere göre islevini yerine getirmesi.
 
Geri
Üst