国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

淺談Excel的VB編程

2019-11-18 17:47:19
字體:
供稿:網(wǎng)友
Excel是一個(gè)優(yōu)秀的電子表格軟件,如果你編的程序需要以報(bào)表的形式顯示最終結(jié)果,它會(huì)是個(gè)不錯(cuò)的選擇。你可以通過VB控制Excel顯示數(shù)據(jù)表格。如果你不愿意深入了解Excel這些瑣碎的細(xì)節(jié),也不是沒有權(quán)宜之計(jì):你可以打開Excel中的工具→宏→錄制新宏,然后進(jìn)行手工操作,結(jié)束后把所錄的宏代碼貼進(jìn)你的VB程序就行。這樣得到的程序一般都能正常運(yùn)行,但其中的宏代碼往往不夠簡潔,效率和可讀性都不高。

----Excel編程碰到的第一個(gè)問題是表頭。有時(shí)表頭的形式比較復(fù)雜,需要橫向或縱向合并單元格。請放心,只要沒有斜杠,Excel都能應(yīng)付得了。

----例如合并A2~A5這4個(gè)單元格,你錄制的宏代碼會(huì)是這樣:

Range("A2:A5").Select

WithSelection

.HorizontalAlignment=xlCenter

.VerticalAlignment=xlBottom

.WrapText=False

.Orientation=0

.AddIndent=False

.ShrinkToFit=False

.MergeCells=False

EndWith

Selection.Merge
----而自己編程只要一句Range.(“A2:A5”).mergecells=True就可以解決問題。

----表頭形式定了,再就是表頭的內(nèi)容。如果單元格中的文本長度超過了列寬,往往只能顯示部分內(nèi)容,行尾那一格的內(nèi)容則會(huì)“越境”進(jìn)入右邊那個(gè)空白單元格,很不美觀。這個(gè)問題可以通過在程序中設(shè)置列寬加以解決。

----Columns(14).columnwidth=12‘設(shè)置第14列列寬為12(缺省列寬為8.38)

----如果你不愿意勞神去逐列估計(jì)實(shí)際所需的列寬,干脆來一行

----Columns(“a:i”).autofit‘a(chǎn)到i列自動(dòng)調(diào)整列寬

----讓Excel隨機(jī)應(yīng)變吧。

----但也許你不喜歡這種方法,認(rèn)為表頭撐大了列寬,弄得瀏覽一張小表格還得向右滾動(dòng),太不方便了。要是能保持默認(rèn)列寬,讓文本自動(dòng)換行就好了。沒問題,Excel包你滿意。

----Rows(3).WrapText=True‘讓第三行各單元格中的文本自動(dòng)換行

----不過你最好再加一句Rows(3).VerticalAlignment=xlTop讓表頭自動(dòng)向上對齊,這樣比較符合習(xí)慣。

----你還可以給表頭打上底色,讓你的讀者不至于看了打哈欠。

----Rows(2).Interior.ColorIndex=5'設(shè)置第2行底色為藍(lán)色

----再給表格的標(biāo)題上色,這樣更醒目一點(diǎn)。

----Rows(1).Font.ColorIndex=4

----表頭完成后該填數(shù)據(jù)了,一個(gè)一個(gè)地填實(shí)在是太慢了,如果你的數(shù)據(jù)是存放在一個(gè)二維數(shù)組中,那問題就簡單多了。

DimData(3,4)

…………‘?dāng)?shù)據(jù)處理

Range(“a2:d4”).Value=Data

----這樣可以一次填入一個(gè)表的所有數(shù)據(jù),夠快了吧!不過提醒一句,Range對象大小最好與數(shù)組匹配,小了無法顯示所有數(shù)據(jù),大了則會(huì)在空白單元格只填入“N/A”表示沒有取得數(shù)據(jù)。

----如果需要在結(jié)果中顯示多個(gè)同樣規(guī)格的數(shù)據(jù)表,想在Range對象中加入循環(huán)變量,這也好辦。

Dimcell11,cell2

DimData(3,4)

…………

ForI=1to40

…………‘?dāng)?shù)據(jù)處理

Setcell1=Worksheets("Sheet1").Cells(5*I-4,1)

Setcell2=Worksheets("Sheet1").Cells(5*I-2,4)

Worksheets("Sheet1").Range(cell1,cell2).value=Data

NextI

----表格填完了,現(xiàn)在該打表格線了,以下幾條語句可以滿足你的要求:

WithWorksheets("Sheet1").Range(cell1,cell2).borders

.LineStyle=xlContinuous

.weight=xlThin

EndWith

----好了,關(guān)于Excel的VB編程今天就講到這兒吧。

->


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 瑞丽市| 久治县| 北票市| 迁安市| 广平县| 岐山县| 抚松县| 榕江县| 鸡西市| 吉水县| 若羌县| 廊坊市| 永城市| 鹰潭市| 贡觉县| 彭阳县| 聂拉木县| 灵山县| 广河县| 吉首市| 禹城市| 新安县| 宁陵县| 澄城县| 桦川县| 房山区| 松溪县| 岳普湖县| 民勤县| 揭西县| 米脂县| 武清区| 台南市| 昆山市| 云和县| 乌兰县| 黄山市| 油尖旺区| 宁阳县| 大连市| 隆昌县|