2011年2月21日 星期一

Excel-取得儲存格的色彩

在 Excel 中,如果想要知道某個儲存格中的色彩,可能要藉助巨集指令中的GET.CELL函數才能辦到。

GET.CELL(type_num, reference)

其中 type_num 共有66個參數,分別代表儲存格不同的傳回值。

如果以上圖實例,在儲存格B2中輸入100,設定數值格式為「取小點2位」、Arial字型、粗體字、綠色底、白色字、上下邊框為白色等。參考下表的結果:

結果

參數

說明

$B$2

1

參照儲存格的絕對位址

2

2

參照儲存格的列號

2

3

參照儲存格的欄號

1

4

類似 TYPE 函數

100

5

參照位址的內容

100

6

文字顯示參照位址的公式

0.00_

7

參照位址的格式,文字顯示

3

8

文字顯示參照位址的格式

0

9

傳回儲存格外框左方樣式,數字顯示。

0

10

傳回儲存格外框右方樣式,數字顯示。

1

11

傳回儲存格外框方上樣式,數字顯示。

1

12

傳回儲存格外框方下樣式,數字顯示。

1

13

傳回內部圖樣,數字顯示。

TRUE

14

如果儲存格被設定 locked傳回 True

FALSE

15

如果公式處于隱藏狀態傳回 True

7.5

16

傳回儲存格寬度

18.75

17

以點為單位傳回儲存格高度

Arial

18

傳回字型名稱

11

19

以點為單位傳回字型大小

TRUE

20

如果儲存格所有或第一個字元為加粗傳回 True

TRUE

21

如果儲存格所有或第一個字元為斜體傳回 True

FALSE

22

如果儲存格所有或第一個字元為單底線傳回True

FALSE

23

如果儲存格所有或第一個字元字型中間加了一條水平線傳回 True

2

24

傳回儲存格第一個字元色彩數位(1至56)。如果設定為自動,傳回 0

FALSE

25

MS Excel不支援大綱格式

FALSE

26

MS Excel不支援陰影格式

0

27

數位顯示手動插入的分頁線設定

1

28

大綱的列層次

1

29

大綱的欄層次

FALSE

30

如果範圍為大綱的摘要列則為 True

FALSE

31

如果範圍為大綱的摘要欄則為 True

[get.cell_test.xlsm]工作表1

32

顯示活頁簿和工作表名稱

FALSE

33

如果儲存格格式為多行文字則為 True

0

34

傳回儲存格外框左方色彩,數位顯示。如果設定為自動,傳回 0。

0

35

傳回儲存格外框右方色彩,數位顯示。如果設定為自動,傳回 0。

0

36

傳回儲存格外框上方色彩,數位顯示。如果設定為自動,傳回 0。

0

37

傳回儲存格外框下方色彩,數位顯示。如果設定為自動,傳回 0。

10

38

傳回儲存格前景陰影色彩,數位顯示。如果設定為自動,傳回 0。

0

39

傳回儲存格背影陰影色彩,數位顯示。如果設定為自動,傳回 0。

一般

40

文字顯示儲存格樣式

100

41

傳回參照地址的原始公式

46.75

42

以點為單位傳回使用中視窗左方至儲存格左方水平距離

36.25

43

以點為單位傳回使用中視窗上方至儲存格上方垂直距離

95.5

44

以點為單位傳回使用中視窗左方至儲存格右方水平距離

55

45

以點為單位傳回使用中視窗上方至儲存格下方垂直距離

FALSE

46

如果儲存格有插入批註傳回 True

FALSE

47

如果儲存格有插入聲音提示傳回 True

FALSE

48

如果儲存格有插入公式傳回 True

FALSE

49

如果儲存格是陣列公式的範圍傳回 True

2

50

傳回儲存格垂直對齊,數位顯示。

0

51

傳回儲存格垂直方向,數位顯示。

 

52

傳回儲存格首碼字元

100.00

53

文字顯示傳回儲存格顯示內容

#N/A

54

傳回儲存格樞紐分析表名稱

#N/A

55

傳回儲存格在樞紐分析表的位置

#N/A

56

樞紐分析

FALSE

57

如果儲存格所有或第一個字元為上標傳回True

粗斜體

58

文字顯示傳回儲存格所有或第一個字元字型樣式

1

59

傳回儲存格底線樣式,數位顯示。

FALSE

60

如果儲存格所有或第一個字元為下標傳回True

#N/A

61

樞紐分析

[get.cell_test.xlsm]工作表1

62

顯示活頁簿和工作表名稱

10

63

傳回儲存格的填滿色彩

0

64

傳回圖樣前景色彩

FALSE

65

樞紐分析

get.cell_test.xlsm

66

顯示活頁簿名稱

 

以上的結果是如何產生的呢?因為在 Excel 2010 中已不提供 GET.CELL 函數,所以得變換一種方式來操作。先命名一個名稱,例如:data。

data的參照值設為:=GET.CELL(ROW(工作表1!1:1),工作表1!$B$2)

ROW(工作表1!1:1)是為了向下複製時產生ROW(1:1)=1 –> ROW(2:2)=2 –> ROW(3:3)=3 –> …

接著在儲存格E2輸入公式:=data。然後將儲存格E2,往下複製66個,可得GEL.CELL函數的66個參數所得到的結果。

你必須將這個 Excel 2010 的檔案儲存成巨集格式(*.xlsm)才可以執行。

有人利用GET.CELL函數來計算相同色彩之儲存格的總和,如此可以不用透過VBA,即可求得結果。

1 則留言:

  1. 您好:
    我是王同學,這幾天在excel的使用上遇到了困難,所以在網路搜尋解決辦法,瀏覽到您的網頁教學,真的非常的詳細,請問是否能用寄信的方式請教您一些問題呢?
    謝謝!

    回覆刪除

好康東東