沒想到(vba單元格格式設(shè)置成數(shù)字)vba單元格格式怎么寫,Excel VBA學(xué)習(xí)筆記(二):?jiǎn)卧駥?duì)象的屬性,混沌世界1.3攻略,
目錄:
1.vba設(shè)置單元格為文本格式
2.vba數(shù)字格式自定義
3.vba設(shè)置單元格格式為文本格式
4.vba設(shè)置單元格為數(shù)值格式
5.vba設(shè)置單元格為常規(guī)格式
6.vba如何設(shè)置單元格格式為常規(guī)
7.vba單元格轉(zhuǎn)換為數(shù)字格式
8.vba設(shè)置單元格的值
9.vba改變單元格格式
10.vba設(shè)置單元格格式為數(shù)字
1.vba設(shè)置單元格為文本格式
VBA里的“對(duì)象”這個(gè)概念,我也不是很明白就我的簡(jiǎn)單理解:VBA中常用對(duì)象:工作簿、工作表、單元格就這三種;再就是在代碼中用SET賦值的 Set ** = CreateObject(**) ;CreateObject創(chuàng)建對(duì)象的意思,Set 后面的**就是對(duì)象,稱為對(duì)象變量etherscan。
2.vba數(shù)字格式自定義
“對(duì)象”的賦值必須用SET為了加深理解標(biāo)題寫成單元格“對(duì)象”的屬性,因?yàn)槭恰皩?duì)象”才能有屬性,不同類別的“對(duì)象”,屬性不同語(yǔ)法:對(duì)象.屬性(參數(shù))本節(jié)主要講解 單元格的End屬性,End屬性返回當(dāng)前單元格所在連續(xù)區(qū)域邊界處的單元格。
3.vba設(shè)置單元格格式為文本格式
對(duì)連續(xù)區(qū)域簡(jiǎn)單解釋:從選定單元格開始向相鄰單元格擴(kuò)展,只要單元格里的值不為“空”,則都是連續(xù)區(qū)域(等同于在選定單元格按CTRL鍵 +方向鍵(上下左右)得到的單元格)語(yǔ)法表達(dá)形式:Range().End (參數(shù));參數(shù)有4個(gè)值:向左 xlToLeft 數(shù)字簡(jiǎn)寫 1,向右 xlToRight 數(shù)字簡(jiǎn)寫 2,向上etherscan xlUp 數(shù)字簡(jiǎn)寫 3,向下 xlDown 數(shù)字簡(jiǎn)寫4。
4.vba設(shè)置單元格為數(shù)值格式
End屬性返回的是單元格對(duì)象,而不是單元格的值或是行、列的序號(hào)如圖:
5.vba設(shè)置單元格為常規(guī)格式
圖例中還跟上了個(gè)address屬性,得到單元格的地址。A1最下邊的是A7,最右邊的是C1(見圖中“本地窗口”中的值。下面圖例,不接任何屬性看能得到什么:
6.vba如何設(shè)置單元格格式為常規(guī)
可以看出不帶屬性得到的是單元格里的值等同于Range(“a1”).End(xldown).Value其實(shí)大多數(shù)情況下,單元格后不接屬性,默認(rèn)就是.Value,返回單元格的值(但是在寫本文時(shí),我發(fā)現(xiàn)過n得到的值是7,也就是最下邊Aetherscan7單元格的行號(hào)。
7.vba單元格轉(zhuǎn)換為數(shù)字格式
看來(lái),省略“.屬性”的代碼寫法是很不靠譜的)End屬性通常的作用是用來(lái)找指定單元格的連續(xù)區(qū)域數(shù)據(jù)的邊界;就是得到邊界上單元格的行號(hào)和列號(hào)通常使用如下語(yǔ)句:Range(“A1”).End(xldown).Row 或 Range(“A1”).End(xltoright).Column。
8.vba設(shè)置單元格的值
如下圖:
9.vba改變單元格格式
得到區(qū)域最大行號(hào)是7,最大列號(hào)是3,3 X 7 21個(gè)格子。但是End屬性 在使用時(shí)受“空”單元格影響,如下圖:
10.vba設(shè)置單元格格式為數(shù)字
End(xldown)向下遇到“空”單元格就停止了,所以n值等于5了。還etherscan有如下圖情況:只有1行數(shù)據(jù)時(shí),End(xldown)值會(huì)得到工作表最大行號(hào)1048576(EXCEL 2016版的最大行數(shù))。
鑒于此,這些情況就要用end(xlup)。語(yǔ)句:Cells(Rows.count,”A”).End(xlup).Row。見下圖:
此示例中用了Cells表示的單元格Rows.count表示工作表的最大行號(hào),語(yǔ)句意思:Cells(Rows.count,”A”)表示【 A1048576】單元格(A列最下面的單元格),End(xlup)向上找,找到最近的有數(shù)據(jù)的單元格。
找到的單元格就是A列最后一個(gè)有數(shù)據(jù)的這樣就解決了“空”單元格問題與數(shù)據(jù)行只有1行的問題(常見到語(yǔ)句寫Rangeetherscan(”A65535”).End(xlup),同樣的用意)END(xltoleft)與END(xltoright)是同理的用法。
單元格.CurrentRegion屬性 range().CurrentRegion返回指定單元格所在的連續(xù)區(qū)域,區(qū)域是以空行和空列為邊界的區(qū)域在工作表中點(diǎn)選單元格,然后按Ctrl+A得到的區(qū)域就是CurrentRegion。
下圖兩個(gè)示例:
從上圖可看出,在區(qū)域外圍是以空行和空列為邊界里面單一的“空”單元格不影響CurrentRegion區(qū)域大小附:Worksheet對(duì)象的UsedRange屬性; UsedRange屬性返回工作表中已經(jīng)使用的單元格構(gòu)成的矩形區(qū)域(不管這些區(qū)域etherscan間是否有空行,空列或空單元格)。
區(qū)域中會(huì)含蓋所有有數(shù)據(jù)(空格也算數(shù)據(jù)的)的單元格