"列印的時候像word一樣自動分欄,可以用新增輔助表和使用indirect()的辦法實現:
假如你的原表是sheet1,新建乙個工作表sheet2,把表頭設定成需要的分欄形式(注意表頭行數要和原表一致,保證第一行資料和原表的行號相同,只是多了幾個列),現在架設你的資料從第2行開始,並且每頁列印5行資料(不含表頭),每頁列印3欄。請在sheet2的a2單元格(第一行資料)輸入如下公式即可返回sheet1工作表a2的資料,:
=indirect(""sheet1!a""&row()+rounddown((row()-2)/5,0)*10)
在sheet2的b2單元格中輸入如下公式可返回sheet1中b1的資料
=indirect(""sheet1!b""&row()+rounddown((row()-2)/5,0)*10)
說明:indirect()函式返回指定單元格內容。引數「sheet1」指要引用的工作表的名字,「a」「b」表示要引用的列號,「-2」表示第一行資料所在行號,「5」在這裡表示每頁的列印資料行數(不含表頭),
「10」表示下頁第乙個數比本頁第一列最後乙個行數的相差數,在這裡每頁列印5行,每頁列印3列,所以這個數就等於3*5-5=10。
好了,a1、b1單元格(其實就是第一欄的資料)好了,現在弄第二欄的資料,即c、d列資料。在c1單元格輸入:
=indirect(""sheet1!a""&row()+rounddown((row()-2)/5,0)*10+5)
和a1相比,只是在後面加了個5,因為這是第二欄,比第一欄多了5個數。
在d1中輸入:=indirect(""sheet1!b""&row()+rounddown((row()-2)/5,0)*10+5)
和b1相比,也只是加了個5,和c1相比,只是取了第b列資料。
同理,很容易寫出e1和f1的公式:
=indirect(""sheet1!a""&row()+rounddown((row()-2)/5,0)*10+10)
=indirect(""sheet1!b""&row()+rounddown((row()-2)/5,0)*10+10)
最後一步,請選中a1到f1單元格,用填充柄向下複製即可。"
另外,兩個巨集:
sub printdoublesided()
dim totalpages as long
dim pg as long
dim oddoreven as integer
on error goto enditt
totalpages = executeexcel4macro("get.document(50)")
oddoreven = inputbox("enter 1 for odd, 2 for even")
for pg = oddoreven to totalpages step 2
activewindow.selectedsheets.printout from:=pg, to:=pg
next pg
enditt:
end sub
sub 手動雙面列印()
dim suiping as integer
dim cuizi as integer
dim zys as integer
dim mybottonnum as integer
dim myprompt as string
myprompt = "請將出紙器中已列印好一面的紙取出並將其放回到送紙器中,然後按下""確定"",繼續列印"
'activesheet.usedrange.cells(activesheet.usedrange.cells.count).select
'suiping = activesheet.hpagebreaks.count '統計當前工作表水平分頁符
'cuizi = activesheet.vpagebreaks.count '統計當前工作表垂直分頁符
'zys = (suiping + 1) * (cuizi + 1) '統計總頁數
zys = executeexcel4macro("get.document(50)") '發現上面統計的總頁數不正確,改用此處
msgbox "總頁數為" & zys '顯示總頁數
for i = 1 to zys step 2 '列印奇數頁
activesheet.printout from:=i, to:=i
next i
mybottonnum = msgbox(myprompt, vbyesno) '提示取出紙張,繼續列印
if mybottonnum = vbyes then
for j = 2 to zys step 2 '列印偶數頁
activesheet.printout from:=j, to:=j
next j
end if
end sub
C 控制Excel的列印格式
工作薄所在的位置 第乙個工作薄 excel.worksheet xlsheet excel.worksheet workbook.worksheets.get item 1 上邊距 double top 0 左邊距 double left 0 右邊距 double right 0 下邊距 doubl...
js控制excel列印完美解決方案
js控制excel列印完美解決方案 好,那麼下一步就是如何實現列印了,這裡我有非常奪得報表,而且一些非常複雜,如學生成績單,需要按照學年 學期計算學分績點,列印 學位授予情況,學籍處理情況,四六級成績,實習,輔修成績,實踐等,那麼我如何把這些資訊完整的列印到客戶端就是非常麻煩的了,所有我用excel...
C 設定Excel列印選項及列印excel文件
c 設定excel列印選項及列印excel文件 列印excel文件是乙個很常見的操作,但有時候我們會碰到各種不同的列印需求,例如只列印乙個excel工作表的其中一部分,或列印時每頁都有表頭,或把工作表中超出1頁所有內容列印到1頁上等等,這時我們需要對excel的列印選項進行設定。這篇文章主要是分享如...