Eski Excel Dosyasını "Gözat" Bölümü İle Seçip Verileri Yeni Dosyaya Aktarma

Katılım
16 Aralık 2007
Mesajlar
151
Excel Vers. ve Dili
Office 2007
Arkadaşlar bizim işyerine bağlı bütün şubelerin kullandığı ve her yıl yenilenen bir dosyamız var. İçerik bakımından satır ve sütün başlangıç yerlerinin hepsi standart. Bütün bu şubelerden gelen verileri yine aynı satır ve hücreleri içeren bir dosyaya aktarmam lazım. Kopyala yapıştır yöntemi ile yapılabilir. Fakat son aktaracağım program bu yöntem ile problem çıkartabiliyor.

Kısaca ekte bulunan "Merkez" dosyasına nasıl bir makro yada kod yazmalıyız ki bu dosyadan bir nev'i Gözat yada Dosya Aç yöntemi gibi hedef dosya olan "İmalat Bölümü" dosyasını seçip buradaki verileri "Merkez" isimli dosyaya aktarabilelim. Umarım anlatabilmişimdir.
 

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
Ekli dosyayı inceleyiniz.Her 2 dosyanında açık olması gerekiyor.Merkez dosyasındaki aktar butonuna basınız.
Sayfayı siliyor ve sıfırdan yüklüyor.:cool:
 
Katılım
15 Ekim 2007
Mesajlar
84
Excel Vers. ve Dili
2003
türkçe
Merkez dosyasına ekteki kodları ekleyerek deneyin

Sub Makro1()
On Error Resume Next
yol = ActiveWorkbook.Path
Workbooks.Open Filename:= _
yol & "\İmalat Bölümü.xls"
Range(Cells(1, 1), Cells(65536, 256)).Copy
Windows("Merkez.xls").Activate
Range("a1").PasteSpecial
Application.CutCopyMode = False
Windows("imalat bölümü.xls").Close
End Sub
 
Katılım
16 Aralık 2007
Mesajlar
151
Excel Vers. ve Dili
Office 2007
Ekli dosyayı inceleyiniz.Her 2 dosyanında açık olması gerekiyor.Merkez dosyasındaki aktar butonuna basınız.
Sayfayı siliyor ve sıfırdan yüklüyor.:cool:
Orion2 Hocam aynı dediğim gibi aktarma işlemini başarı ile yapıyor. Bu kod çok işime yarayacak. Fakat sıkıntı şurada şubelerde kullanılan dosya isimleri farklı. İmalat, Satış, Pazarlama vs.. Bu nedenle isimler farklı olduğu için sanırım aktarmada sorun çıkacak. Eğer dosyayı listeden seçip aynı şekilde aktarma yapabilirmiyiz. Yada aklınıza gelen başka bir yol varsa oda olur. Burada önemli olan dosya isimleri farklı. Şimdiden tşk ederim.
 

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
Merkez dosyasına 1 den fazla dosyamı aktarmak istiyorsunuz?
Eğer öyleyse her yeni akatrılan dosya bir öncekinin altına aktarılması gerekecektir.Şu anda merkez dosyasında bir dosya aktarılma yapacak şekilde kodlar yazıldı.:cool:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Alternatif olarak aşağıdaki kodu deneyin.

Kod:
Sub verial()
ad = ThisWorkbook.Name
Range("A2:F65536").ClearContents
Application.ScreenUpdating = False
dosya = Application.GetOpenFilename("Excel Dosyası (*.xls),*.xls", , "Hedef Dosyayı Seçin")
If dosya = False Then Exit Sub
Workbooks.Open Filename:=dosya
sonsat = ActiveWorkbook.ActiveSheet.Cells(65536, "A").End(xlUp).Row
If sonsat < 2 Then Exit Sub
adrs = Range(Cells(2, "A"), Cells(sonsat, "F")).Address
Workbooks(ad).Sheets(1).Range(adrs).Value = ActiveWorkbook.ActiveSheet.Range(adrs).Value
ActiveWorkbook.Close False
Application.ScreenUpdating = True
MsgBox "Aktarma ger&#231;ekle&#351;ti..!!", vbOKOnly + vbInformation, "AKTARMA"
Range("A1").Select
End Sub
 
Katılım
16 Aralık 2007
Mesajlar
151
Excel Vers. ve Dili
Office 2007
Hemen deniyorum kodlar&#305; t&#351;k sonucu bildiririm. &#350;imdiden t&#351;k ederim.
 
Katılım
16 Aralık 2007
Mesajlar
151
Excel Vers. ve Dili
Office 2007
Leventm hocam diğer kodlar gibi bu kodda başarılı bir şekilde aktarma yaptı. Yani benim tam olarak istediğim buydu dosyayı seçip aktarmak. Eline ve emeğine sağlık....

Accilisse ve Orion2 Hocalarımada teşekkür etmek istiyorum. Onlarda başla bir yöntemlede olsa sorunu çözdüler... Hepinizin eline emeğine ve yüreğine sağlık....

Eeeee bu sorudan öğrendiğim önemli bir hususta şu... Derdini isteğini tam anlattıktan sonra bu forumda cevabını alamayacağınız konu yok...İyiki varsınız excel.web.tr gönüllüleri.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
.......Eeeee bu sorudan öğrendiğim önemli bir hususta şu... Derdini isteğini tam anlattıktan sonra bu forumda cevabını alamayacağınız konu yok...İyiki varsınız excel.web.tr gönüllüleri.
Öncelikle rica ederim. Yukarıdaki cümleniz içinde ayrıca teşekkür ederim çok önemli bir konuyu net olarak vurgulamışsınız.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Kardeş gerçekten önemli bir konuyu sayende öğrendik. Ama kafama takılan bir konu var. Leventm üstadımızın kodlamasındada dosya ismi standart olmuş. Yani İmalat Bölümü.xls Farklı bir dosyadada bu kodlama çalışmaz. Yani dosya seçten dosya yı seçiyorsun fakat isim aynı değilse çalışmıyor.

Sub verial()
ad = ThisWorkbook.Name
Range("A2:F65536").ClearContents
Application.ScreenUpdating = False
dosya = Application.GetOpenFilename("Excel Dosyası (*.xls),*.xls", , "Hedef Dosyayı Seçin")
If dosya = False Then Exit Sub
Workbooks.Open Filename:=dosya
sonsat = ActiveWorkbook.ActiveSheet.Cells(65536, "A").End(xlUp).Row
If sonsat < 2 Then Exit Sub
adrs = Range(Cells(2, "A"), Cells(sonsat, "F")).Address
Workbooks(ad).Sheets(1).Range(adrs).Value = Workbooks("İmalat Bölümü.xls").ActiveSheet.Range(adrs).Value
Workbooks("İmalat Bölümü.xls").Close False
Application.ScreenUpdating = True
MsgBox "Aktarma gerçekleşti..!!", vbOKOnly + vbInformation, "AKTARMA"
Range("A1").Select
End Sub
Benimde aynı senin gini netsise aktardığım bu şekilde bir dosyam var. Fakat dosyada 5 ayrı sayfa var. Bende verileri "KAYNAK" isimli sayfadan alması lazım. Leventm üstadımızın yukarıda yaptığı Kodlamayı "KAYNAK" isimli sayfadan veril alması için sayfa belirtecek şekilde nasıl düzeltebiliriz. Birde son olarak benim dosyada excel dosyası açılırken

Private Sub Workbook_Open()
Uyari.Show
Sheets("ANA SAYFA").Select
komutu otomatik olarak çalıştığı için direkt ana sayfada çalışıyor ve ekrana bir uyarı sayfası geliyor. Bu nedenle leventm üstadımızın yazdığı bu kod tam verimli çalışmıyor. Acaba bu komutu iptal etmeden seçtiğimiz dosyadan veri aldırmamız mümkün mü ? Yardımlarınızdan dolayı hepinize şimdiden teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Karde&#351; ger&#231;ekten &#246;nemli bir konuyu sayende &#246;&#287;rendik. Ama kafama tak&#305;lan bir konu var. Leventm &#252;stad&#305;m&#305;z&#305;n kodlamas&#305;ndada dosya ismi standart olmu&#351;. Yani &#304;malat B&#246;l&#252;m&#252;.xls Farkl&#305; bir dosyadada bu kodlama &#231;al&#305;&#351;maz. Yani dosya se&#231;ten dosya y&#305; se&#231;iyorsun fakat isim ayn&#305; de&#287;ilse &#231;al&#305;&#351;m&#305;yor............
Bununla ilgili iki sat&#305;rda d&#252;zeltme yapmay&#305; unutmu&#351;um, hat&#305;rlatman&#305;z iyi oldu te&#351;ekk&#252;r ederim. Yukar&#305;da verdi&#287;im kodu yeniledim. Yap&#305;lan sadece Workbooks("&#304;malat B&#246;l&#252;m&#252;.xls") yerine Aktiveworkbook yazmakt&#305;r.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
&#220;stad as&#305;l ben t&#351;k. ederim. &#220;stad birde &#351;u soru cevaplarsan&#305;z sevirim. Dosya i&#351;i tamam ama sayfay&#305; nas&#305;l belirtece&#287;iz. Yani bir dosyada birden fazla sayfa varsa onu oradan veri almas&#305;n&#305; nas&#305;l sa&#287;lar&#305;z ? Benim dosyada oldu&#287;u gibi veriler KAYNAK sayfas&#305;nda. Bu sayfa ismini kodlaman&#305;n neresinde ve nas&#305;l belirtece&#287;iz ?

Private Sub Workbook_Open()
Uyari.Show
Sheets("ANA SAYFA").Select

Ayr&#305;ca yukar&#305;da belirtti&#287;im kod dan dolay&#305; dosya direkt "ANA SAYFA" isimli sayfada a&#231;&#305;l&#305;yor ve ekranda Uyari.Show dosyas&#305; &#231;al&#305;&#351;&#305;yor. Bu nedenle veri aktar&#305;m&#305; yap&#305;lam&#305;yor. Veri aktar&#305;m&#305; yapabilmek i&#231;in bu yukar&#305;da belirtilen kodlamay&#305; ge&#231;ici bir s&#252;re nas&#305;l pasif hale getirebiliriz. T&#351;k.
 
Son düzenleme:
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Yokmu bu soruyu cevaplayacak bir arkada&#351;... L&#252;tfen bu konuda yard&#305;mlar&#305;n&#305;z&#305; bekliyorum
Private Sub Workbook_Open()
Uyari.Show
Sheets("ANA SAYFA").Select

Ayr&#305;ca yukar&#305;da belirtti&#287;im kod dan dolay&#305; dosya direkt "ANA SAYFA" isimli sayfada a&#231;&#305;l&#305;yor ve ekranda Uyari.Show dosyas&#305; &#231;al&#305;&#351;&#305;yor. Bu nedenle veri aktar&#305;m&#305; yap&#305;lam&#305;yor. Veri aktar&#305;m&#305; yapabilmek i&#231;in bu yukar&#305;da belirtilen kodlamay&#305; ge&#231;ici bir s&#252;re nas&#305;l pasif hale getirebiliriz. T&#351;k.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
"Uyari.Show" yerine "Uyari.Show 0" yazarak denermisiniz.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
"Uyari.Show" yerine "Uyari.Show 0" yazarak denermisiniz.
Üstad maalesef olmuyor. Veriyi alacak dosyayı seçtikten sonra uyari.show dosyası aktif oluyor. Bu nedenle işlem burada yarıda kesiliyor. Yani veri alma işlemi tamamlanmıyor. Bu konunun çözümüne fayfası olrmu bilmem ama bu uyarı.show komutu 10 saniye çalışacak şekilde ayarlandı. Yani 10 saniye sonra kendiliğinden kapanıyor. Acaba bu dikkate alınarak yani makronunda 10 saniye beklemesi ve sobra çalışmaı gibi bir işlem yapılabilirmi. Birde veri alınacak dosya açıldığı zaman ANA SAYFA isimli sayfa açılıyor. Ama alınacak veriler de KAYNAK isimli sayfada. Yani buradada bir sıkıntı var. Lütfen bu konudada desteklerini bekliyoruz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu &#351;ekilde &#231;&#246;z&#252;m bulmak zor, dosyalar&#305;n&#305;z&#305;n birer &#246;rne&#287;ini ekleyin.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Bu şekilde çözüm bulmak zor, dosyalarınızın birer örneğini ekleyin.
Üstad örnek dosyaları ekledim. Burada sayfa seçimi problemini çözdüm ama bu açılışta gelen 10 saniyelik user formun veri aktarımı yaparken çalışmasını engelleyemedim.

NOT: 10 saniyelik user formun süresi bittikten sonra aktarım başarı ile tamamlanıyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ben ne yapmak istedi&#287;inizi anlayamad&#305;m. Bu 10 snlik userform ekranda iken ayn&#305; anda veri aktar&#305;m&#305;n&#305;nda yap&#305;lmas&#305;n&#305;m&#305; istiyorsunuz.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Aktar&#305;m yap&#305;laca&#287;&#305; i&#231;in user formun &#231;al&#305;&#351;mamas&#305;n&#305; istiyorum. Yani pasif olmas&#305;n&#305; istiyorum. &#199;&#252;nk&#252; baz&#305; dosyalarda bekleme s&#252;resi belirtilmemi&#351; veya 30 saniyeye g&#246;re ayarlanm&#305;&#351;. Kusura bakmay&#305;n b&#246;yle ayr&#305;nt&#305;larla sizleri u&#287;ra&#351;t&#305;r&#305;yorum.

yorum.halil arkada&#351;&#305;m&#305;z gibi derdimi tam anlatamad&#305;m ama onunda dedi&#287;i gibi iyiki vars&#305;n&#305;z
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
imalat b&#246;l&#252;m&#252;.xls dosyas&#305;n&#305;n thisworkbook mod&#252;l&#252;nde bulunan kodlar&#305;n t&#252;m&#252;n&#252; silin.
 
Üst