• DİKKAT

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

2 Excel Dosyası Tek DosyaOlabilirmi

Katılım
30 Ağustos 2006
Mesajlar
67
Excel Vers. ve Dili
Microsoft Excel 2016 64 Bit
Diyelimki arkadaşlar a.xls uzantılı bir dosyamız var a.xls dosyasının 1 nci sayfasını alıp b.xls dosyasının 2 nci sayfasına kopyalanmasını istiyoruz bunu yapmamızın bir yolu varmı çünkü a dosyasındaki a sayfadaki bilgileri birden fazla b dosyası gibi dosyalara kopyalamam lazım,
 
Merhaba
Değeri Halit03 hocanın kodları işini görür sanırım
b.xls dosyasında bir modül açıp kodları kopyalayıp yapıştırın ve bir düğmeye atayın
Kod:
Sub sayfakopyalama()
dosya_adı = ActiveWorkbook.Name
Sayfa_Adı = ActiveSheet.Name

a = Application.GetOpenFilename(filefilter:="Excel Workbooks,*.xls", Title:="Open a File", MultiSelect:=False)
If a = False Then
MsgBox "Kaynak klasörü seçmediniz"
Exit Sub
End If

Kaynak = Mid(a, 1, Len(a) - Len(Dir(a)) - 1)
deg = "'" & Kaynak & "\" & "[" & Dir(a) & "]" & "x" & "'!R"

Cells(1, 1).Value = "=" & deg & 1 & "C" & 1
Cells(1, 1).Replace What:="=", Replacement:=""

alan1 = Worksheets(ActiveSheet.Name).Cells(1, 1).Value
For k = 1 To Len(alan1)
If Mid(alan1, k, 1) = "]" Then
yer = (Len(alan1) - 6 - k)
sayfaadı = Mid(alan1, k + 1, yer)
End If
Next

Cells(1, 1).Value = sayfaadı

Dim Dosya
Dim wb As Workbook
Dosya = Dir(a)

If a = False Then
MsgBox "Veri alınacak dosyayı seçmediniz.", vbInformation, "DİKKAT"
Exit Sub
Else
End If

Set wb = Workbooks.Open(a)
yeni_dosya_adı = ActiveWorkbook.Name
Windows(yeni_dosya_adı).Activate
Sheets(sayfaadı).Select
On Error Resume Next
Application.DisplayAlerts = False
Sheets(sayfaadı).Copy Before:=Workbooks(dosya_adı).Sheets(1)

Windows(yeni_dosya_adı).Activate
Application.DisplayAlerts = False
'ActiveWorkbook.Save
ActiveWindow.Close

Windows(dosya_adı).Activate
Sheets(Sayfa_Adı).Select
Cells(1, 1).Value = ""
ActiveWindow.WindowState = xlMaximized
MsgBox "işlem tamam"

   
End Sub
 
Geri
Üst