VBA复制粘贴,运行宏和打印文件

时间:2014-12-30 12:20:01

标签: excel vba excel-vba

所以,我是VBA编程的菜鸟。我正在尝试制作一个VBA代码:打开两个电子表格,将整个内容从一个复制到另一个,在工作表2上运行宏,然后打印第2页并关闭它们。我找到了这些东西中的每一个的点点滴滴,但没有设法将它们整合在一起。这就是我得到的:

Option Explicit
ExcelMacroExample
Sub ExcelMacroExample()
Dim xlApp
Dim xlBook
Sheets("Lista Definitiva.xlsm").Range("A1:AD135").Value = Sheets ("A.xls").Range("A1:AD135").Value
set xlApp = CreateObject("Excel.Application")
set xlBook = xlApp.Workbooks.open("C:\Users\ADM\Lista Chamada\Lista Definitiva.xlsm", 0, true)
xlApp.Run "Editar_chamada"
Sheets.PrintOut(True)
Sheets.PrintOut
xlApp.Quit
set xlBook = Nothing
set xlApp = Nothing
End Sub

我知道这段代码很混乱而且完全错误,但我在VBS上真的很棒。我更习惯于Java和HTML,因此很困惑。

1 个答案:

答案 0 :(得分:0)

有一些事情可以帮助您顺路前进:

查找包含数据的最后一行并复制:

Dim LastRow As Long, DestLast As Long
LastRow = Range("A" & Rows.Count).End(xlUp).Row
Sheets("A.xls").Range("A1:AD" & LastRow).Copy
Sheets("Lista Definitiva.xlsm").Range("A1").PasteSpecial xlPasteValues

然后选择所有项目并设置您的打印区域(甚至是1页宽1页长的奖金:

DestLast = Sheets("Lista Definitiva.xlsm").Range("A" & Rows.Count).End(xlUp).Row
With Sheets("Lista Definitiva.xlsm").PageSetup
  .Zoom = False
  .FitToPagesWide = 1
  .FitToPagesTall = 1
  .PrintArea = Range("A1:AD" & DestLast).Address
End With