复制粘贴工作表名称到另一个工作簿

我很难做到这一点。 当我启动macros时,它不会产生任何错误,但不会引起任何结果。

Sub EmpresasCubiertas() Dim x As Workbook Dim y As Workbook '## Open both workbooks first: Set x = Workbooks.Open("G:\Estudios\Biblioteca\Mercado Accionario Chileno\InsertarEmpresa.xlsm") Set y = Workbooks.Open("G:\Estudios\Biblioteca\Mercado Accionario Chileno\Procesamiento.xlsm") For i = 3 To x.Sheets.Count 'Now, paste to y worksheet: y.Sheets(1).Range(“A” & i) = x.Sheets(i).Name Next i End Sub 

请注意,工作簿“y”是我首先打开运行macros的工作簿。 即它已经开放,如果有任何帮助的话。

问题在于你的循环中Range旁边缺lessValue属性。 它应该阅读,

 y.Sheets(1).Range(“A” & i).Value = x.Sheets(i).Name 

我假设你故意select从i = 3开始复制工作表名称。如果你需要所有的工作表,只要将i的值改为1即可。

尝试这个:

 Sub CopyWorkBookNames() Application.ScreenUpdating = False 'To avoid screen flickering Dim y As Workbook Dim x As Workbook Set y = Application.ActiveWorkbook Set x = Application.Workbooks.Open("FilePathToCopyFrom.xlsx") 'Copy and paste worksheet names, in the workbook running the code, starting from cell A3. 'If You want to paste into cell A1, decrement i in the range below accordingly For i = 3 To x.Sheets.Count y.ActiveSheet.Range("A" & i).Value = x.Sheets(i).Name Next i x.Close 'Add SaveChanges Options as needed Application.ScreenUpdating = True End Sub