İlgili Sayfaya Veri Aktarımı

Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
Merhaba,

Ekteki örnek excel dosyasından da anlaşılacağı gibi MS sayfasındaki verileri A sütunundaki hücre değerlerine göre ilgili sayfalara aktarıyorum.Ama hergün MS sayfasına yeni veriler girdikçe ilgili sayfalardaki veri aktarımları yavaşlamaya başladı.En baştan başlayıp tekrar aktarıyor haliyle çok bekliyorum.Bu işin daha kolay bir yolu varmıdır arkadaşlar şuanda bende 5000 satır oldu bu örnektekin den daha fazla takımı iligili sayfalara aktarıyorum hergün 1 saat bu güncellemeye ayırmaya başladım MS sayfasına o ligte bir maç oynasa bile yazıyorum ilgili sayfadaki lige bu veriyide aktarmam gerektiği için veri aktar dediğimde epey bekliyorum.Durumumu umarım izah edebilmişimdir yardımlarınızı rica ediyorum.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Tasaramınızı benim yaptığım gibi yapmalısınız.
Bu konunun böyle tasarlanması lazım.
Dosyanız ektedir:cool:

Kod:
Private Sub CommandButton1_Click()
Dim sh1 As Worksheet, sat1 As Long, sat2 As Long, list(), a As Long, i As Long
Dim sh2 As Worksheet
'coder : evrengizlen@hotmail.com
'date : 22/09/2011
Application.ScreenUpdating = False
Sheets("rapor").Select
Set sh2 = Sheets("rapor")
sh2.Range("B2:F1040000").ClearContents
Set sh1 = Sheets("MS")
sh1.Range("A1").AutoFilter
sat1 = sh1.Cells(65536, "A").End(xlUp).Row
sat2 = 2
For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then
        sh1.Range("A1").AutoFilter field:=1, Criteria1:=ListBox1.list(i, 0)
        sh1.Range("C2:C" & sat1).SpecialCells(xlCellTypeVisible).Copy sh2.Range("B" & sat2)
        sh1.Range("D2:D" & sat1).SpecialCells(xlCellTypeVisible).Copy sh2.Range("E" & sat2)
        sh1.Range("E2:F" & sat1).SpecialCells(xlCellTypeVisible).Copy sh2.Range("C" & sat2)
        sh1.Range("A2:A" & sat1).SpecialCells(xlCellTypeVisible).Copy sh2.Range("F" & sat2)
        sat2 = sh2.Cells(65536, "B").End(xlUp).Row + 1
        'Sheets("rapor").ListBox1.Selected(i) = False
    End If
Next
If sh1.AutoFilterMode Then sh1.AutoFilterMode = False
Application.ScreenUpdating = True
Unload Me
MsgBox "İşlem tamamlandı.", vbOKOnly + vbInformation, "evrengizlen@hotmail.com"
End Sub
 

Ekli dosyalar

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,547
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Sayın Evren Gizlen,

Günaydın. Süpersiniz.

Katkınız için teşekkürler.

Sevgi ve saygılar.
 
Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
Tasaramınızı benim yaptığım gibi yapmalısınız.
Bu konunun böyle tasarlanması lazım.
Dosyanız ektedir:cool:

Kod:
Private Sub CommandButton1_Click()
Dim sh1 As Worksheet, sat1 As Long, sat2 As Long, list(), a As Long, i As Long
Dim sh2 As Worksheet
'coder : evrengizlen@hotmail.com
'date : 22/09/2011
Application.ScreenUpdating = False
Sheets("rapor").Select
Set sh2 = Sheets("rapor")
sh2.Range("B2:F1040000").ClearContents
Set sh1 = Sheets("MS")
sh1.Range("A1").AutoFilter
sat1 = sh1.Cells(65536, "A").End(xlUp).Row
sat2 = 2
For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then
        sh1.Range("A1").AutoFilter field:=1, Criteria1:=ListBox1.list(i, 0)
        sh1.Range("C2:C" & sat1).SpecialCells(xlCellTypeVisible).Copy sh2.Range("B" & sat2)
        sh1.Range("D2:D" & sat1).SpecialCells(xlCellTypeVisible).Copy sh2.Range("E" & sat2)
        sh1.Range("E2:F" & sat1).SpecialCells(xlCellTypeVisible).Copy sh2.Range("C" & sat2)
        sh1.Range("A2:A" & sat1).SpecialCells(xlCellTypeVisible).Copy sh2.Range("F" & sat2)
        sat2 = sh2.Cells(65536, "B").End(xlUp).Row + 1
        'Sheets("rapor").ListBox1.Selected(i) = False
    End If
Next
If sh1.AutoFilterMode Then sh1.AutoFilterMode = False
Application.ScreenUpdating = True
Unload Me
MsgBox "İşlem tamamlandı.", vbOKOnly + vbInformation, "evrengizlen@hotmail.com"
End Sub
Üstadım siz ne yapmışınız böyle; çok süper.Çok teşekkür ederim.
 
Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
Üstadım yeni bir takım eklemek istediğimizde userfrom üzerine takımı nasıl ekleyeceğiz bu konuda nasıl yaparız?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Üstadım yeni bir takım eklemek istediğimizde userfrom üzerine takımı nasıl ekleyeceğiz bu konuda nasıl yaparız?
Eğer ülke ekleyecekseniz.ULKELER sayfasındaki ilgili sütuna ekleyiniz.Eklerken aralarında boşluk olmasın.
takım için MS sayfasına normal diğer ekledikleriniz gibi eklemelisiniz.
 
Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
Eğer ülke ekleyecekseniz.ULKELER sayfasındaki ilgili sütuna ekleyiniz.Eklerken aralarında boşluk olmasın.
takım için MS sayfasına normal diğer ekledikleriniz gibi eklemelisiniz.
Evet oldu.İlginiz için çok teşekker ederim.
 
Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
Evet oldu.İlginiz için çok teşekker ederim.
Sayın üstadım,Ben burdaki kodlarınızı kendi excel dosyama aktardım.Fakat ULKE sayfasındaki sekmeleri görmüyor.Sizin yazmış olduğunuz kod içersindede aradım bulamadım.Userfrom1 geliyor fakat üzerinde ülke isimleri yok.Ben nasıl tanıtabilirim.Yardımınızı rica ediyorum.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın üstadım,Ben burdaki kodlarınızı kendi excel dosyama aktardım.Fakat ULKE sayfasındaki sekmeleri görmüyor.Sizin yazmış olduğunuz kod içersindede aradım bulamadım.Userfrom1 geliyor fakat üzerinde ülke isimleri yok.Ben nasıl tanıtabilirim.Yardımınızı rica ediyorum.
Ülke tanımları için ben bir ad ekledim.Ulkeler diye.
propertiestende rowsource karşısınada ulkeler yazdım.
yani tanımladığım alana bir ad vermiştimonu yazdım.
Benim verdiğim dosyadaki ad tanımlamaya bakarak sizde bir ad tanımlayabilirsiniz.
 
Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
Ülke tanımları için ben bir ad ekledim.Ulkeler diye.
propertiestende rowsource karşısınada ulkeler yazdım.
yani tanımladığım alana bir ad vermiştimonu yazdım.
Benim verdiğim dosyadaki ad tanımlamaya bakarak sizde bir ad tanımlayabilirsiniz.
Üstadım properties userfrom tıklıyorum rowsource bulamıyorum.:(
 
Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
listboxa sağ tıklayın ve properties seçin.:cool:
Evet buldum.Benim aktardığım dosya içindekine baktım ulkeler yazısı var.Sayfa adlarınıda aynı sizin örnekteki gibi verdim.Kodlarıda aynı kopyaladım.Ama userfrom üzerine bu ULKE sayfasındaki isimler gelmiyor.Atladığım birşey var..:(
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Evet buldum.Benim aktardığım dosya içindekine baktım ulkeler yazısı var.Sayfa adlarınıda aynı sizin örnekteki gibi verdim.Kodlarıda aynı kopyaladım.Ama userfrom üzerine bu ULKE sayfasındaki isimler gelmiyor.Atladığım birşey var..:(
ad tanımlaması yaptınızmı peki.Yapmamışsınızdır büyük ihtimalle.
yolldığım dosyada ad tanımlamalarına bakarak sizde bir tane ad tanımlayın.
Ad tanımlamayı bilmiyorsanız,forumda ad tanımlama diye arama yapınız.:cool:
 
Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
ad tanımlaması yaptınızmı peki.Yapmamışsınızdır büyük ihtimalle.
yolldığım dosyada ad tanımlamalarına bakarak sizde bir tane ad tanımlayın.
Ad tanımlamayı bilmiyorsanız,forumda ad tanımlama diye arama yapınız.:cool:
Teşekkür ederim ad tanımlamayı biras irdelemem gerekiyor anlaşılan.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Üstadım properties userfrom tıklıyorum rowsource bulamıyorum.:(
Ad tanımlama yapmadan kod yazarakta verileri listboxta görünteleyebiliriz.
Önce propertiesten rowsource de yazdığınız ad tanımı silin.
ben listboxın row source yöntemini kod yazarak userformun initialize olayına yazdım.
Kolay gelsin.:cool:
Dosyanız ektedir.:cool:
 

Ekli dosyalar

Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
Ad tanımlama yapmadan kod yazarakta verileri listboxta görünteleyebiliriz.
Önce propertiesten rowsource de yazdığınız ad tanımı silin.
ben listboxın row source yöntemini kod yazarak userformun initialize olayına yazdım.
Kolay gelsin.:cool:
Dosyanız ektedir.:cool:
Üstadım çok teşekkür ederim.Bu seferki kesin çözüm oldu.Kolay gelsin.
 
Katılım
25 Nisan 2005
Mesajlar
690
Excel Vers. ve Dili
Excel 2003 Türkçe
Altın Üyelik Bitiş Tarihi
06.01.2018
Bu dosyayı excel 2003 olarak kaydedebilirmisiniz...
 
Üst