【发布时间】:2017-01-16 11:01:20
【问题描述】:
我想阅读一个工作簿并复制另一个工作簿中的一些单元格。 该代码的目的是将不同工作表中的单元格从一个文件复制到另一个文件。
为了这个提议,我创建了这个代码:
Sub processCopy(file)
'Abrir documento
Workbooks.Open Filename:=file, UpdateLinks:=0
cantn = ThisWorkbook.Sheets.Count
cantv = Sheets.Count - 5
cantn = cantn - 4
'Recorrer los libros del documento abierto
For i = 1 To (Sheets.Count - 5)
'Obtener nombre del libro seleccionado
nombre = Sheets(i + 2).Name
'Filtrar los libros no necesarios
If nombre <> "Instructions" And nombre <> "Executive Summary" And nombre <> "Process Update" And nombre <> "Template" And nombre <> "Notes" Then
If cantv >= cantn Then
ThisWorkbook.Sheets(3).copy after:=ThisWorkbook.Sheets(cantn + 2)
cantn = cantn + 1
ThisWorkbook.Sheets(cantn + 2).Name = nombre
ElseIf nombre <> ThisWorkbook.Sheets(cantn + 2).Name Then
ThisWorkbook.Sheets(cantn + 2).Name = nombre
End If
Workbooks.Open Filename:=file, UpdateLinks:=0
ActiveWorkbook.Worksheets(nombre).Activate
ActiveWorkbook.Sheets(nombre).Range("C4:O23").Select
Selection.copy
ThisWorkbook.Sheets(nombre).Range("C4:O23").PasteSpecial
在完成第一张表中的过程后,我比较在新文件中是否有任何其他表开始该过程。如果不是(总是)我创建一个新工作表以开始复制和粘贴的过程,但是 ThisWorkbook 和 ActiveWorkbook 函数正在同一个工作表上工作(从同一个工作簿复制和粘贴),而不是从一个文件到另一个文件。
这就是为什么,我打开第一个工作簿,但是当复制和粘贴过程完成时,出现以下消息:
我能做些什么来解决这个问题?
谢谢大家
【问题讨论】: