• DİKKAT

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

Çözüldü Başka bir *.xls dosyasının son sayfasından veri almak?

Katılım
13 Mayıs 2023
Mesajlar
13
Excel Vers. ve Dili
365 Türkçe
Merhaba,

Kurumsal bir firmada çalışıyorum ve tablolarla çok haşır neşirim,
Sürekli olarak veri takibi yaptığım bir *.xls dosyasının bir bölümü var (mesela A1:M50 aralığı) ve o dosyaya
her gün yeni sayfalar farklı bir isimde açılma durumu söz konusu.
Ben masaüstüme bir dosya.xls açıp her zaman en son sayfaya girilen A1:M50 aralığındaki verileri görmek istiyorum.
Forumda araştırdım buna yakın bir şey bulamadım ve bir formül kombinasyonu da kuramadım.

Yardımcı olur musunuz ? İyi çalışmalar.
 
Merhaba,

Kurumsal bir firmada çalışıyorum ve tablolarla çok haşır neşirim,
Sürekli olarak veri takibi yaptığım bir *.xls dosyasının bir bölümü var (mesela A1:M50 aralığı) ve o dosyaya
her gün yeni sayfalar farklı bir isimde açılma durumu söz konusu.
Ben masaüstüme bir dosya.xls açıp her zaman en son sayfaya girilen A1:M50 aralığındaki verileri görmek istiyorum.
Forumda araştırdım buna yakın bir şey bulamadım ve bir formül kombinasyonu da kuramadım.

Yardımcı olur musunuz ? İyi çalışmalar.

Aşağıdaki kodu deneyebilirsiniz
Kod:
    Dim WB1 As Workbook
    Dim WB2 As Workbook
    Dim ws As Worksheet
    Dim s As Byte
    Dim Rng As Range
    
    Set WB1 = ThisWorkbook
    Set WB2 = Workbooks(".......... .xlsx")
    ' Diger dosyanın adını buraya yazın . . .
    Set ws = WB1.ActiveSheet
    ws.Cells.Clear
    
    s = WB2.Worksheets.Count
   
    Set Rng = WB2.Worksheets(s - 1).Range("A1:M50")
    
    Rng.Copy
    
    ws.Activate
    ws.Paste

Application.CutCopyMode = False
 
Hocam bu kodlardan anlamam ama çalıştıramadım.. :(
 
Son düzenleme:
Hocam bu kodlardan anlamam ama çalıştıramadım.. :(

10xXR-9iOJE8gUWzAkMidDjuY5GRT3f8V
Sadece Dosya adını yazın,
"AYLIK ÜRETİM LT HESAPLAMA.xlsx"
 
Ekran görüntüsünü paylaşır mısınız
Pek anlamam VBA dan ama Module de ekledim olmadı. Masaüstündeki vardiya dosyasını yazdım, hatta acaba dosyayı açmam mı gerekiyor diye vardiya.xlsx dosyasını da açtım yine olmadı.
Bir video ekleyerek anlatma şansınız varmı?


APg5EOaYVawJcN2Tzm7m_f5SGq8Xdk-2hqBJU3YDqUZCZc8mBk1G6jLyvRiUm5HqBXBAKDkkIhFRDd0zNKY4-8LgAzD9LCUxFhWFTY_EsnNbx94AqkdaRiduw7Zsew8SB_BZHnHUif9EcmLCC5v16HtwgLjaW3Xab62CQn3kMDgz2ivMN9GqI7S2PQN0QlRycKTVMDvaA6r_DVCUR_KgsJ2TrLts70gXwN0q2u5IZ3_OZylCxp7KyR7x2w8sSI2oNGobnuSfRw4kKIalPKt_iCb729eSpBxYams85W4BwJUWal-j_CRVBh7ztSYUkEBDxxKi5dMit23-qA_mktNTidhVVjNAag14rx1Qug3JTmUCCcsvVFTF03R6ghL2rNoMk2B20Xf0SFVJjGLoNHeMv4sp58U04Qsw--thU7rddUqjjpdUQbjaUmeS3cn4bOLZpgS9oY3QxCaYt1Cr87vcbvnILQp1YjZ-Pr2g1hl4e0FHAO4MNCFMRJkkfKqPs8DUfug6qn_AcCAafzEa56U15ceGcl83mwkSDELEwnjBZVdVLOUBBFCnYWMSLj2nIOgjewn_0uRTfbx0nYFlUqe8YmvWn8PF_uw7Fjnc7KvwNmMKVPYvofhZN9TKC5iPPS8xHvrpx2-Vcj6t9gDpGEGrYWvjzu2GsXDes1XQrP-Tg-GDGKiI80q7xy5tWfxkihs_7luV2N6lVkS6g3zgpHetr6J6pFY7QBMzsmLahrdqIT4p0RJv87VpoFvCMuRiFQxeRctut2QcknLnFMc2f5BhRtxgLpzpBx9gqgRP0g_SeuNwegxjD0FYQVGWQgG_m3uIFVKlMZrtuZjYZiOUetATfXGdt2YW7OcgZ_LDSf-CMLd3W4Z0GiuC0rAdUuPvHixUmmh3MEJ3TMRDB-YyVPTNB9CpBDgwRDif8j7dPMVnx5TqoH-MlJujaQmrKQ20FI1NF8Yh4f6fXNVPX0JP0YSRto637-gOM1hrg0fw7lkB0NtjMxGWkgJUYiVZPelCaTy_1lcg_C8Jx1Kjya-YNjUed04-rERQ0TBWWXPQN9ZuZBel7FjRtNOYygXeIzxbXJ-kvwITWrJAaWmC55KykHnaixPrwEvNkp9g9JX4wjq6YBuzAP0FwvmSfoHw6rDmALvgUrBDWZo_0Yt4f2qnbMGPyGvvlEqHeSiM71FvxWPRzha9DjsHnh7t-Wgb2-kJnX40jz-LbXqVfcRZZqxv6vMyahQUdZ2GKGvEuk0affBrbk3VvP3twy5P0KV-xdY9CxvWiMPwzdfik1KoP30pHnJ2caQgVJEM-uz6XA448bEeYDaylgbLdCFwLBq_9kFNB_bR3eR3bMiMirM3Uu9nEowuCaw6-DRm0cTPaQypNgv5Hz7ry5AV_6XqoG4acfZxzDyEFMh28I-t-QgE_bjg5BrINmuyEzRuo5K8TaFKXBAx9aazH82JYAbDo75Iqw2BKvFxcKUhS7Wx9L4r5MBwlgWdi6DDgzelIl6S=w1366-h560
 
Son düzenleme:
bir de bu dosyanın açık olması gerekiyor.

Bir hata göremedim, Dosyanızın uzantısı "xlsx" midir?
 
Merhaba,

Şöyle bir eksiklik var.

Kodun başlığı ve bitiş satırı yok. Bunu ekleyip denerseniz sorun büyük ihtimalle düzelecektir.

C++:
Sub Aktar()
   'Önerilen kodlar...
   'Önerilen kodlar...
   'Önerilen kodlar...
End Sub
 
bir de bu dosyanın açık olması gerekiyor.

Bir hata göremedim, Dosyanızın uzantısı "xlsx" midir?
Evet uzantısı .xlsx . Dosya sürekli açık olursa başka biri kayıt yapamayacak.
O yüzden kodu biraz değiştirdim. Çalışıyor fakat sondan bir önceki sayfayı kopyalıyor

Kod:
Sub Aktar()
Dim WB1 As Workbook
    Dim WB2 As Workbook
    Dim ws As Worksheet
    Dim s As Byte
    Dim Rng As Range
   
    Set WB1 = ThisWorkbook
    Set WB2 = Workbooks.Open(ThisWorkbook.Path & "\vardiya.xlsx")
    ' Buraya dosya yolu yazınca Dosya bulunamadı hatası veriyor
    Set ws = WB1.ActiveSheet
    ws.Cells.Clear
   
    s = WB2.Worksheets.Count
 
    Set Rng = WB2.Worksheets(s - 1).Range("A1:M50")
   
    Rng.Copy
   
    ws.Activate
    ws.Paste
    WB2.Close SaveChanges = False
Application.CutCopyMode = False
End Sub


Merhaba,

Şöyle bir eksiklik var.

Kodun başlığı ve bitiş satırı yok. Bunu ekleyip denerseniz sorun büyük ihtimalle düzelecektir.

C++:
Sub Aktar()
   'Önerilen kodlar...
   'Önerilen kodlar...
   'Önerilen kodlar...
End Sub

Bu şekilde çalıştırdım fakat son sayfayı değil de sondan bir önceki sayfayı kopyalıyor.

APg5EOYjLeH0F3BeSaQdYisHQgW-7LU7JO3peu-KDURejDSD6ClT3lhKNsJ626NXeFe4nmWZQJ-3HiTrOLwY7CPMfGnglz0k6NdAnLa2zit44gSdfNUM8YYN7l4xfab8mPgNScZamgsjBiZdtbC16TB8uV0DSHABIXFrE6wLukrd21qjqYCTBYlYYOLNVjQHFAzKtUZGvta9uQnfOT7szyFrC_mbQKxG0WTxkLeume9NkLhq9fx612r-jD5oA_nzgKb4X7-NNVFjJJ-1_j27fglBW0fm0hPgl4GZRl6NRsj8w9BzENjZ6CTJ16jSX2nrz-cfkKRzDaMkNOtDqQC1nDMOJpCxA27zrkMjmANDsv_QXdFIVoPcmKZzOWKSGtzR65kbtS-EeqdkwviIEL0TVYUuYA5zC6bk0a2re69LV62h5-hP9kN77IsIrQLkyGBYZ0WciZnacr0bdP161yCsRWdPDR6BLxyiKM18756--EcWnCmvB5z5kqezD0otwZfA-8ULlalXzXkCIdkQ43b8K68NCiTFAgMviX7ThdJfmoKMpwmo_eGjnAHz5J0pzk2vxp5Nymob16cKn84m2QcRBhypu_OObbUxxQ5OrPN8225DqJMXyo-CKu0VC_wTygHHCUq6KMx4KDsWbyEhpVS1jur-EU75Gr5tOVVhSjrK1kNgO85nUoT2p-0ATcufUGeWv0DwdEuLyCyNfK-e2ieKSvCf7052wRuIPqAL5mK-QtLVgtFnAeOaWmYOYua0GqOuSZwJyZ4n_tAkrmcGYK816_nb2fQeuqJgG3GyX7EmAHZd-tafnYSKWnwf2Yzsv6mk9C-VJouadfp5tRifBdMesPHtiM305Igl44dT3NG_kqB3vZXE3wc2X8zpUdrk-FoxEeYCp5inLGI1RCLCZJEiVcqV9L8VKQAsae8p-62TT0lnVps596ez80hurGXDB3mAetqnZlP26oWfIf1yxUafuyC5OQQo1GkFeOJW8ImUJMseLFEUCFtAt4tpboW7_Vh6NnBZFpcdQxngoSReQb70QWc0NTmE-m1YSWxDW8iR6ore0wnlIubPZs8NXq_Lq8L9Va9F3jpklk18_jMq3ENfDqko7BjwXxtPDsG1HZzZpVvBIFPFvfmerOqi2wv96S8gGF0e5XauFOEP-uq2ZxdDkCWsCQFJDiZAgzu2SEoYpaUcFxRfIJ7DXrSBotSedxQBm2jS-VK7k9ofTlVWtE5H56deq35SKSwkC3UFZzYbh1WkfDTFGQCjxjc33CL0OZy_gmTkM_Xgm_vPKCLGU3grCHuS77K0iHyVA5A37tkkawFMrv2kMAB0UxsToDR7raMO5isc-usSAeptrlKYyly9e3VLYr6a1BcP_clSvGN4kNdzXny_fN-ie68YsuA_ZHtnqu3AjBrI9Kls09UkHWYHYlOSvg20Om--Se48G8plPAoe4_uPGv8iG8cFD6UAfpErmr3VOAkX7B_AmpU0Hlb9K0W46KoH_IM88wyiGi2AaNRJPVxlOixY7mlajOD0HwEHKql-OER6U2iGBeyg68cpKFhR5OascePl4GIuvw=w1920-h902
 
Son düzenleme:
Evet uzantısı .xlsx . Dosya sürekli açık olursa başka biri kayıt yapamayacak.
O yüzden kodu biraz değiştirdim. Çalışıyor fakat sondan bir önceki sayfayı kopyalıyor

Kod:
Sub Aktar()
Dim WB1 As Workbook
    Dim WB2 As Workbook
    Dim ws As Worksheet
    Dim s As Byte
    Dim Rng As Range
  
    Set WB1 = ThisWorkbook
    Set WB2 = Workbooks.Open(ThisWorkbook.Path & "\vardiya.xlsx")
    ' Buraya dosya yolu yazınca Dosya bulunamadı hatası veriyor
    Set ws = WB1.ActiveSheet
    ws.Cells.Clear
  
    s = WB2.Worksheets.Count

    Set Rng = WB2.Worksheets(s - 1).Range("A1:M50")
  
    Rng.Copy
  
    ws.Activate
    ws.Paste
    WB2.Close SaveChanges = False
Application.CutCopyMode = False
End Sub




Bu şekilde çalıştırdım fakat son sayfayı değil de sondan bir önceki sayfayı kopyalıyor.

APg5EOYjLeH0F3BeSaQdYisHQgW-7LU7JO3peu-KDURejDSD6ClT3lhKNsJ626NXeFe4nmWZQJ-3HiTrOLwY7CPMfGnglz0k6NdAnLa2zit44gSdfNUM8YYN7l4xfab8mPgNScZamgsjBiZdtbC16TB8uV0DSHABIXFrE6wLukrd21qjqYCTBYlYYOLNVjQHFAzKtUZGvta9uQnfOT7szyFrC_mbQKxG0WTxkLeume9NkLhq9fx612r-jD5oA_nzgKb4X7-NNVFjJJ-1_j27fglBW0fm0hPgl4GZRl6NRsj8w9BzENjZ6CTJ16jSX2nrz-cfkKRzDaMkNOtDqQC1nDMOJpCxA27zrkMjmANDsv_QXdFIVoPcmKZzOWKSGtzR65kbtS-EeqdkwviIEL0TVYUuYA5zC6bk0a2re69LV62h5-hP9kN77IsIrQLkyGBYZ0WciZnacr0bdP161yCsRWdPDR6BLxyiKM18756--EcWnCmvB5z5kqezD0otwZfA-8ULlalXzXkCIdkQ43b8K68NCiTFAgMviX7ThdJfmoKMpwmo_eGjnAHz5J0pzk2vxp5Nymob16cKn84m2QcRBhypu_OObbUxxQ5OrPN8225DqJMXyo-CKu0VC_wTygHHCUq6KMx4KDsWbyEhpVS1jur-EU75Gr5tOVVhSjrK1kNgO85nUoT2p-0ATcufUGeWv0DwdEuLyCyNfK-e2ieKSvCf7052wRuIPqAL5mK-QtLVgtFnAeOaWmYOYua0GqOuSZwJyZ4n_tAkrmcGYK816_nb2fQeuqJgG3GyX7EmAHZd-tafnYSKWnwf2Yzsv6mk9C-VJouadfp5tRifBdMesPHtiM305Igl44dT3NG_kqB3vZXE3wc2X8zpUdrk-FoxEeYCp5inLGI1RCLCZJEiVcqV9L8VKQAsae8p-62TT0lnVps596ez80hurGXDB3mAetqnZlP26oWfIf1yxUafuyC5OQQo1GkFeOJW8ImUJMseLFEUCFtAt4tpboW7_Vh6NnBZFpcdQxngoSReQb70QWc0NTmE-m1YSWxDW8iR6ore0wnlIubPZs8NXq_Lq8L9Va9F3jpklk18_jMq3ENfDqko7BjwXxtPDsG1HZzZpVvBIFPFvfmerOqi2wv96S8gGF0e5XauFOEP-uq2ZxdDkCWsCQFJDiZAgzu2SEoYpaUcFxRfIJ7DXrSBotSedxQBm2jS-VK7k9ofTlVWtE5H56deq35SKSwkC3UFZzYbh1WkfDTFGQCjxjc33CL0OZy_gmTkM_Xgm_vPKCLGU3grCHuS77K0iHyVA5A37tkkawFMrv2kMAB0UxsToDR7raMO5isc-usSAeptrlKYyly9e3VLYr6a1BcP_clSvGN4kNdzXny_fN-ie68YsuA_ZHtnqu3AjBrI9Kls09UkHWYHYlOSvg20Om--Se48G8plPAoe4_uPGv8iG8cFD6UAfpErmr3VOAkX7B_AmpU0Hlb9K0W46KoH_IM88wyiGi2AaNRJPVxlOixY7mlajOD0HwEHKql-OER6U2iGBeyg68cpKFhR5OascePl4GIuvw=w1920-h902

Set Rng = WB2.Worksheets(s).Range("A1:M50")

olarak dener misiniz
 
Set Rng = WB2.Worksheets(s).Range("A1:M50")

olarak dener misiniz

Evet şuanda stabil çalışıyor. Peki kopyalanan hücrelerin boyutlarını bozmadan yapıştırmasını nasıl sağlarım.
Acaba sadece sütunları kopyalasak "A:N" gibi, boyutlarını da taşımış olurmuyuz?
 
Evet şuanda stabil çalışıyor. Peki kopyalanan hücrelerin boyutlarını bozmadan yapıştırmasını nasıl sağlarım.
Acaba sadece sütunları kopyalasak "A:N" gibi, boyutlarını da taşımış olurmuyuz?

Evet.
Set Rng = WB2.Worksheets(s).Range("A:N")
Böyle daha iyi oldu. Teşekkür ederim
 
Geri
Üst