2016-03-21 26 views
0

Aşağıda, sayfaları kaynağından kopyalamak ve sonra yeniden adlandırmak ve bir hedefe yerleştirmek için kullanılan kod kullanılır.Kopyalandıktan sonra Sayfayı Yeniden Adlandırın ve Ana Çalışma Kitabı Oluşturun

Yeni oluşturulan dosyada Sayfa Adı'nı yeniden adlandırmak için başka bir hücre başvurusu kullanmak üzere işlevselliği genişletmek istiyorum. (Kopyalanan tüm çalışma kitaplarının yalnızca bir sayfası olduğunu unutmayın.) Tüm çalışma kitaplarının kopyalanmasından, yeniden adlandırılmasından ve sayfalarının yeniden adlandırılmasından sonra, tüm çalışma kitaplarını hedef yoldaki bir ile birleştirin.

Sheets("SheetName").Name = "New Name" 

veya

Sheets(2).Name = "New Name" 

son için: aktif levha mesele buysa, aktif tabaka değilse

Sub CopyRenameFile() 
Dim src As String, dst As String, fl As String, f2 As String 
Dim rfl As String 
Dim rf2 As String 

'Source directory 
src = Range("B3") 

'Destination directory 
dst = Range("D3") 

'File name 
fl = Range("B6") 
f2 = Range("B7") 

'Rename file 
rfl = Range("D6") 
rf2 = Range("D7") 

On Error Resume Next 
    FileCopy src & "\" & fl, dst & "\" & rfl 
    FileCopy src & "\" & f2, dst & "\" & rf2 
    If Err.Number <> 0 Then 
     MsgBox "Copy error: " & src & "\" & rfl 
    End If 
On Error GoTo 0 

Dim xL As Excel.Application 
Set xL = New Excel.Application 
xL.Visible = True 
Dim wb As Excel.Workbook 
Set wb = xL.Workbooks.Open(F6) 

'In case you don't know how here are two ways to reference a sheet: 
Dim sh As Excel.Worksheet 
Set sh = xL.Sheets(1) 

sh.Name = "TestMeOut" 

'Saving and closing are important... 
wb.Save 
Set wb = Nothing 
xL.Quit 
Set xL = Nothing 

End Sub 
+0

Orada herhangi bir kod kopyalama sayfası göremiyorum. Bu soruyla nasıl alakalı? –

+0

Yukarıdaki, kaynak dizinden bir dosya f1 alır ve dosyayı yeniden adlandırır ve hedef dizine yerleştirir. Yeni adlandırılmış dosyayı almak ve sayfa adını değiştirmek için buna eklemek istiyorum. Bundan sonra listedeki tüm dosyalar kopyalanır ve yeniden adlandırılır, daha sonra makro yürütülürken tek bir çalışma kitabında birleştirilir. –

cevap

0

sonra kullanmak

ActiveSheet.Name = "New Name" 

kullanmak bir, endeks (örnekte 2)

Dim xL As Excel.Application 
Set xL = New Excel.Application 
xL.Visible = True 
Dim wb as Excel.Workbook 
Set wb = xl.Workbooks.Open(put your filename here as a literal or variable) 

'In case you don't know how here are two ways to reference a sheet: 
Dim sh As Excel.Worksheet 
Set sh = xL.Sheets("Sheet1") 
' or 
Set sh = xL.Sheets(1) 

'put your code here 

'Saving and closing are important... 
wb.Save 
Set wb = Nothing 
xL.Quit 
Set xL = Nothing 

NOT: 1.

başlayan soldan sağa sayarak sayı dosya adına göre bir Excel çalışma kitabını açmak için Excel başvuruları kullanmak, Aracı => Referanslar gidin ve Microsoft Office xx arayın .x Nesne Kitaplığı (xx.x sürümü).

+0

Sayfa etkin değilse, dosya adına başvurmalı veya sayfa yeniden adlandırma işleminin yapılacağı çalışma kitabını seçmem gerekiyor mu? –

+0

Bir çalışma kitabını nasıl açacağınızı gösteren daha fazla kod ekledim. – PKatona

+0

Bu yüzden kodumu verdiğiniz tavsiyeye göre güncelledim. F6 çalışma sayfasının dosya yoludur. Ancak, bunu çalıştırdığında, yeni bir excel penceresi açılır, ancak daha sonra Çalışma zamanı hatası 1004'de hatalar giderilir "Üzgünüz, bulamadık. Taşınmış mı, yeniden adlandırılmış mı yoksa silinmiş mi?" –

İlgili konular