Проблема вставки значений из одной книги Excel в другие - PullRequest
0 голосов
/ 01 июня 2019

Я хочу скопировать те же значения из одной рабочей книги в другую 30 рабочих книг.Я нашел макрос, который открывает и копирует все значения файлов первой рабочей книги, но я не могу вставить любое значение, и я не уверен, почему.Кроме того, я не знаю, как я мог бы указать название книги, которую я хочу вставить, потому что там много имен.

Думаю, это будет проблемой.«reports.xlms» - это только одно имя файла, есть другие файлы с другими именами.Есть ли способ скопировать и вставить значения без указания имени рабочих листов?может быть, только произнося число, например, рабочий лист (1), например:

Workbooks("Reports.xlsm").Worksheets("Data").Range("A2:D9").PasteSpecial

Также он не копирует никакое значение, даже когда я использую этот простой код:

Range("B2:B5").Select
Selection.Copy
Sheets("Hoja2").Select
Range("B2").Select
ActiveSheet.Paste

Вот мой код:

Sub AbrirArchivos()
 Dim Archivos As String

 'Paso 2: Especificar una carpeta y el tipo de archivo que buscamos
 'en este caso la carpeta se llama "temporal" y el tipo de dato es "xlsx"

 Archivos = Dir("C:\Users\fernandofernandez\Desktop\Prueba\*.xlsx")
 Do While Archivos <> “”

 'Paso 3: Abrir los libros uno por uno
 Workbooks.Open "C:\Users\fernandofernandez\Desktop\Prueba\" & Archivos

'code:

  ***Workbooks("New Data.xlsx").Worksheets("Export").Range("A2:D9").Copy


  Workbooks("Reports.xlsm").Worksheets("Data").Range("A2:D9").PasteSpecial Paste:=xlPasteValues***


 'Paso 5: Cuadro de mensaje, cerrar y guardar cambios

 MsgBox ActiveWorkbook.Name

 ActiveWorkbook.Close SaveChanges:=True

'Paso 6: buscar más archivos en la carpeta para volver seguir la secuencia

 Archivos = Dir
 Loop

End Sub

1 Ответ

2 голосов
/ 01 июня 2019

Есть несколько случаев, когда я каждый раз использовал бы копию PasteValues.Иногда есть случай для форматирования или формул, но для значений я всегда рекомендовал бы использовать подход просто установки Value.Смотрите пример:

Workbooks("Reports.xlsm").Worksheets("Data").Range("A2:D9").Value = _ Workbooks("New Data.xlsx").Worksheets("Export").Range("A2:D9").Value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...