【问题标题】:Pasting values from one Excel Workbook to others将值从一个 Excel 工作簿粘贴到其他工作簿
【发布时间】:2019-08-16 01:42:05
【问题描述】:

我想将相同的值从一个工作簿复制到其他 30 个工作簿。

我找到了一个宏,它可以打开并复制第一个工作簿文件的所有值。

即使我使用这个简单的代码,它也不会复制任何值:

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

另外我不知道如何放置要粘贴的工作簿的名称,因为名称很多。

我认为这就是问题所在。 “reports.xlms”只是其中一个文件名,还有其他文件名。

有没有办法在不指定工作表名称的情况下复制和粘贴值?可能只说数字,例如worksheet(1),像这样:

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

这是我的代码:

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

【问题讨论】:

  • 尽量避免选择,如果有帮助,请看看这个,给它投票:stackoverflow.com/q/50776026/4961700
  • @PGCodeRider 你真好 - 我仍然使用那个代码:)
  • 哦,我误会了发生了什么……好吧,现在我真的给你点击!
  • @SolarMike 我不喜欢那里的任何答案!稍后我会发布一个。
  • @PGCodeRider 他们有那么糟糕吗?当您发布您的帖子时,请复制我的内容-我肯定会学到一些东西:) 干杯。注意我不是程序员——你可以从我的代码方法中看出...

标签: excel vba


【解决方案1】:

在少数情况下我会使用副本PasteValues。有时会有格式或公式的情况,但对于值,我总是建议使用仅设置Value 的方法。见例子:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    相关资源
    最近更新 更多