所以,我是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,因此很困惑。
答案 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