VB VB操作Excel相關處理

2021-07-10 15:08:35 字數 3760 閱讀 5943

option explicit

dim xlbook as excel.workbook '工作簿

dim xlsheet as excel.worksheet '工作表

dim xlchart as excel.chart ' excel chart

'我們打算做的是:開啟/新建乙個excel,在其中對某工作表的一些單元格修改其值,然後另存為test.xls檔案。

private sub excel_out_click()

dim i, j as integer

'xlbook.runautomacros (xlautoopen) '執行excel啟動巨集

'xlbook.runautomacros (xlautoclose) '執行excel關閉巨集

set xlsheet = xlbook.worksheets(1) '設定活動工作表''

''~~~當前工作簿的第一頁,這裡也可以換成「表名」

xlsheet.range(cells(6, 1), cells(6, 10)).merge '合併a1:b2單元格

xlsheet.cells(6, 1) = "合併單元格"

'居中顯示

xlsheet.range("a6").select

with selection

.horizontalalignment = xlcenter

.verticalalignment = xlcenter

.wraptext = false

.orientation = 0

.addindent = false

.indentlevel = 0

.shrinktofit = false

.readingorder = xlcontext

.mergecells = true

end with

'下面就是簡單的在一些單元格內寫入數字

for i = 7 to 15

for j = 1 to 10

xlsheet.cells(i, j) = j '當前工作簿第一頁的第i行第j列

' xlsheet.cells(i, j).interior.colorindex = j '設定背景顏色

xlsheet.cells(i, j).font.color = vbred

next j

xlsheet.rows(i).rowheight = (i mod 2 + 1) * 1 / 0.035 '設定指定行的高度(單位:磅) (設定行高為1厘公尺,1磅=0.035厘公尺)

if i = 10 or i = 14 then

xlsheet.rows(i).pagebreak = 1 '在第10和14行之前插入分頁符

end if

next i

xlsheet.columns(4).pagebreak = 0 '在第4列之前刪除分頁符

for j = 1 to 10

xlsheet.columns(j).columnwidth = j '設定指定列的寬度(單位:字元個數)

next j

xlsheet.range("b3:d3").borders(2).weight = 3 '指定邊框線寬度 (borders引數如下)

'(其中borders引數:1-左、2-右、3-頂、4-底、5-斜、6-斜/)

xlsheet.range("b3:d3").borders(2).linestyle = 1 '設定四個邊框線條的型別

'(linestyle值:1與7-細實、2-細虛、4-點虛、9-雙細實線)

with xlsheet '設定邊框為是實線

.range(.cells(7, 1), .cells(15, 10)).borders.linestyle = xlcontinuous

end with

set xlchart = xlsheet.chartobjects.add(0, 0, 300, 200).chart

xlchart.setsourcedata xlsheet.range(xlsheet.cells(7, 1), xlsheet.cells(15, 10)).resize(9, 10)

xlsheet.pagesetup.centerheader = "報表1" '設定頁首

'設定頁尾

xlsheet.pagesetup.centerfooter = "第&p頁"

'設定頁首到頂端邊距為2厘公尺

xlsheet.pagesetup.headermargin = 2 / 0.035

'設定頁尾到底邊距為3厘公尺

xlsheet.pagesetup.footermargin = 3 / 0.035

'設定頂邊距為2厘公尺

xlsheet.pagesetup.topmargin = 2 / 0.035

'設定底邊距為4厘公尺

xlsheet.pagesetup.bottommargin = 4 / 0.035

'.設定左邊距為2厘公尺

xlsheet.pagesetup.leftmargin = 2 / 0.035

'.設定右邊距為2厘公尺

xlsheet.pagesetup.rightmargin = 2 / 0.035

'.設定頁面水平居中

xlsheet.pagesetup.centerhorizontally = true

'.設定頁面垂直居中

xlsheet.pagesetup.centervertically = true

'.設定頁面紙張大小(1-窄行8511 39-寬行1411)

xlsheet.pagesetup.*****size = 1

'.列印單元格網線

xlsheet.pagesetup.printgridlines = true

'.拷貝整個工作表

xlsheet.usedrange.copy

'.拷貝指定區域

xlsheet.range("a1:e2").copy

'.貼上

xlbook.worksheets("sheet2").range("a1").pastespecial

'.在第2行之前插入一行

xlsheet.rows(2).insert

'.在第2列之前插入一列

xlsheet.columns(2).insert

'.設定字型

xlsheet.cells(2, 1).font.name = "黑體"

'.設定字型大小

xlsheet.cells(1, 1).font.size = 25

'.設定字型為斜體

xlsheet.cells(1, 1).font.italic = true

'.設定整列字型為粗體

xlsheet.columns(1).font.bold = true

'.清除單元格公式

xlsheet.cells(1, 4).clearcontents

' '.列印預覽工作表

' xlsheet.printpreview

' '.列印輸出工作表

' xlsheet.printout

'引用當前工作簿的第二頁

xlsheet.cells(7, 2) = 2008 '在第二頁的第7行第2列寫入2008

else

end if

else

end if

xlbook.close (true)

end sub

Excel相關 去重,POI操作EXCEL

alt f11 在巨集裡面插入模組,然後執行如下 即可在excel中打上 已存在標記 去重 excel 如何用陣列實現多個檔案之間的對比去重 看看這個 sub 資料對比 dim i as integer dim j as integer for i 2 to 12 表1 從第2行開始比較到第12行結...

時間處理相關操作

一 獲取相關時間 常規用法 var date new date thu dec 05 2019 19 11 52 gmt 0800 中國標準時間 date.getyear 獲取當前年份 2位 119 date.getfullyear 獲取完整的年份 4位,1970 2019 date.getmont...

Kettle入門操作處理excel資料

實驗要求 用kettle完成下列實驗,結果儲存到mysql 或者csv 已知excel檔案,包含列 姓名,年齡,身份證號碼,性別,日期時間,門診號 資料若干 自己模擬 生成資料1,包含列 日,性別,兒童 青年 中年 老年,人次 兒童 青年 中年 老年的年齡段自己定義 生成資料2,包含列 省份,hou...