[英]VBA to Copy-Paste, run Macro and print file
所以,我對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,因此造成了混亂。
一些可以幫助您順利進行的事情:
要查找包含數據的最后一行並復制過來:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.