Çalışma sayfasında excel dosyası açma

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Yine karmaşık ifade kullanıyorsunuz..

Alttaki ifade kafa karışıklığına sebep oluyor.

direk dosyayı seçtiğimizde açarsa çok daha iyi olur.
Bunun yerine X klasöründe bulunan bir dosyayı seçerek actiktan sonra Sayfa1 de bulunan A1:Z100 aralığını aktif dosyadaki Sayfa2 ye kopyalamak istiyorum. Şeklinde açık açık yazarsanız ona göre çözüm önerilebilir.

Siz ısrarla açmak istiyorum ifadesi kullanıyorsunuz. Bunun cevabını Necdet bey zaten önermişti.
 

emrebengul

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
298
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2019 TR 32 Bit
Altın Üyelik Bitiş Tarihi
03-01-2028
Merhaba Korhan Bey

X klasöründe bulunan bir dosyayı seçerek actiktan sonra Sayfa1 de bulunan verileri aktif dosyadaki Sayfa2 ye kopyalamak istiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Sayfa2 isimli sayfanın dosyanızda var olduğunu varsaydım.

C++:
Option Explicit

Sub Transfer_Data()
    Dim WB As Workbook, WS As Worksheet, Target_File As Variant, Target_Sheet As Worksheet
    
    Set WB = ThisWorkbook
    Set WS = WB.Sheets("Sayfa2")
    
    Target_File = Application.GetOpenFilename(FileFilter:="Excel Dosyaları  (*.xls;*.xlsb;*.xlsx;*.xlsm),*.xls;*.xlsb;*.xlsx;*.xlsm", Title:="Lütfen bir dosya seçiniz...", MultiSelect:=False)

    If Target_File = Empty Then
        MsgBox "Lütfen önce dosya seçiniz!", vbExclamation
        Exit Sub
    End If
   
    Application.ScreenUpdating = False
   
    On Error Resume Next
    Set Target_File = Workbooks.Open(Target_File)
    Set Target_Sheet = Nothing
    Set Target_Sheet = Workbooks(Target_File.Name).Worksheets("Sayfa1")
    On Error GoTo 0
   
    If Not Target_Sheet Is Nothing Then
        Target_Sheet.Cells.Copy WS.Range("A1")
        Target_File.Close 0
        WS.Select
        Application.ScreenUpdating = True
        MsgBox "Sayfadaki veriler kopyalanmıştır.", vbInformation
    Else
        Target_File.Close 0
        Application.ScreenUpdating = True
        MsgBox "Sayfa bulunamadı!", vbCritical
    End If

    Set Target_File = Nothing
    Set Target_Sheet = Nothing
    Set WB = Nothing
    Set WS = Nothing
End Sub
 
Üst