VBA kapalı Excel dosyasından veri alma

Katılım
17 Ocak 2022
Mesajlar
13
Excel Vers. ve Dili
excel 2019 türkçe
Öncelikle Merhabalar


Formda açılan konuları inceledim ama yapmak istediğim duruma uygun bir yol bulamadım. Makro kodu ile masaüstünde bir klasör içerisinde kapalı bulunan "örnek".xls isimli excel dosyasının sheet1 sayfasını (yada o sayfadaki tüm verileri) "abc".xlsm çalışma kitabımın sheetx sayfasına olduğu gibi kopyalayıp yapıştırmasını istiyorum. Şimdiden yardımlarınız için teşekkür ederim.
 
Katılım
20 Ekim 2021
Mesajlar
103
Excel Vers. ve Dili
TR 2016
Altın Üyelik Bitiş Tarihi
21-10-2022
Aşağıdaki şekilde arama yaparsanız bir çok örnek dosya ve çözüm görebilirsiniz.
https://www.excel.web.tr/search/241575/?q=Kapalı+++Excel+++Sayfa&o=date
Kod:
Sub test()
  Dim filePath As String, sourceSheet As Worksheet, lastSourceRow As Long, Rng As Range
  
    filePath = "C:\Users\murat\Desktop\örnek.xlsx"
  
    Application.ScreenUpdating = False
  
    GetObject filePath
    Windows(Dir(filePath)).Visible = False
  
    Set sourceSheet = Workbooks(Dir(filePath)).Sheets("Sheet1") 'VERİ ÇEKİLECEK SAYFANIN İSMİ
    lastSourceRow = sourceSheet.Range("A" & Rows.Count).End(xlUp).Row
  
    Set Rng = sourceSheet.Range("A1:E" & lastSourceRow)'çekmek istediğimiz veri aralığı'
  
    Worksheets("sayfa1").Range("A1").Resize(Rng.Rows.Count, Rng.Columns.Count).Cells.Value = Rng.Cells.Value
    'Sayfa1 veriyi çekeceğimiz sayfanın ismi
  
    Workbooks(Dir(filePath)).Close SaveChanges:=False
  
    Application.ScreenUpdating = True

End Sub
Açıklama yaptığım yerleri kendinize göre düzenlersiniz makro haluk beyin yazmış olduğu makrodur
 
Katılım
20 Ekim 2021
Mesajlar
103
Excel Vers. ve Dili
TR 2016
Altın Üyelik Bitiş Tarihi
21-10-2022
Öncelikle Merhabalar


Formda açılan konuları inceledim ama yapmak istediğim duruma uygun bir yol bulamadım. Makro kodu ile masaüstünde bir klasör içerisinde kapalı bulunan "örnek".xls isimli excel dosyasının sheet1 sayfasını (yada o sayfadaki tüm verileri) "abc".xlsm çalışma kitabımın sheetx sayfasına olduğu gibi kopyalayıp yapıştırmasını istiyorum. Şimdiden yardımlarınız için teşekkür ederim.
Kod:
Sub test()

  Dim filePath As String, sourceSheet As Worksheet, lastSourceRow As Long, Rng As Range

 

    filePath = "C:\Users\murat\Desktop\örnek.xlsx"

 

    Application.ScreenUpdating = False

 

    GetObject filePath

    Windows(Dir(filePath)).Visible = False

 

    Set sourceSheet = Workbooks(Dir(filePath)).Sheets("Sheet1") 'VERİ ÇEKİLECEK SAYFANIN İSMİ

    lastSourceRow = sourceSheet.Range("A" & Rows.Count).End(xlUp).Row

 

    Set Rng = sourceSheet.Range("A1:E" & lastSourceRow)'çekmek istediğimiz veri aralığı'

 

    Worksheets("sayfa1").Range("A1").Resize(Rng.Rows.Count, Rng.Columns.Count).Cells.Value = Rng.Cells.Value

    'Sayfa1 veriyi çekeceğimiz sayfanın ismi

 

    Workbooks(Dir(filePath)).Close SaveChanges:=False

 

    Application.ScreenUpdating = True



End Sub
Makro haluk beyin yazmış olduğu makrodur ilgili bölümleri kendi dosyanıza göre revize ediniz
 
Katılım
17 Ocak 2022
Mesajlar
13
Excel Vers. ve Dili
excel 2019 türkçe
Kod:
Sub test()

  Dim filePath As String, sourceSheet As Worksheet, lastSourceRow As Long, Rng As Range



    filePath = "C:\Users\murat\Desktop\örnek.xlsx"



    Application.ScreenUpdating = False



    GetObject filePath

    Windows(Dir(filePath)).Visible = False



    Set sourceSheet = Workbooks(Dir(filePath)).Sheets("Sheet1") 'VERİ ÇEKİLECEK SAYFANIN İSMİ

    lastSourceRow = sourceSheet.Range("A" & Rows.Count).End(xlUp).Row



    Set Rng = sourceSheet.Range("A1:E" & lastSourceRow)'çekmek istediğimiz veri aralığı'



    Worksheets("sayfa1").Range("A1").Resize(Rng.Rows.Count, Rng.Columns.Count).Cells.Value = Rng.Cells.Value

    'Sayfa1 veriyi çekeceğimiz sayfanın ismi



    Workbooks(Dir(filePath)).Close SaveChanges:=False



    Application.ScreenUpdating = True



End Sub
Makro haluk beyin yazmış olduğu makrodur ilgili bölümleri kendi dosyanıza göre revize ediniz
Yardımlarınız için ayrı ayrı teşekkür ederim. :) :)
 
Üst