當前位置:編程學習大全網 - 編程語言 - 用vba對表格中帶有背景顏色的單元格鎖定

用vba對表格中帶有背景顏色的單元格鎖定

您好,

在使用excel處理數據的時候,為了能更清晰的標示出滿足特定條件的單元格,對單元格添加背景色是不錯的選擇。手工處理的方式簡單快捷,但是當遇到大批量數據,就會特別的費時費力,而且不討好(容易出錯)。通過代碼來處理是個不錯的選擇,excel可以通過VBA編程來處理內部數據,在打開excel頁面後,可以通過“alt + F11”組合鍵來啟動VBA編程界面,跟VB的編程界面和語法壹樣,需要註意的是如何調用excel的內容。VBA通過sheet, range和cells三個層次來調用excel中的制定區域,sheet指定要處理的表格頁,ranges制定要處理的範圍,可以是壹個單元格,也可以是多個單元格,cells(i,j)通過制定行下標i和列下表j來定位制定的單元格,通過這三個層次就基本能定位excel中的任意制定位置。

關於vba和excel編程,請詳見:/library/ee814737.aspx

blogs.com/jaxu/archive/2009/04/04/1407004.html

實例:在做驗證性因子分析(Confirmed Factoe Analysis,CFA)的時候,我們通常因子載荷(factor loading)來判斷構念(construct)之間的區別效度(discriminant validity),即同壹構念下的item之間correlation盡可能高,而不同構念的item之間的相關性盡可能低。所以將correlation matrix中大於沒特定閾值單元格用特定背景顏色加以區分,就可以清晰的看出item之間的相關關系。

假設我們有壹個64*64的correlation matrix,那麽在excel中是用vba對不同範圍的correlation值的單元格添加背景顏色的代碼如下:

1 Sub changeBgColor()

2 Dim i As Integer

3 Dim j As Integer

4 Dim r As Integer

5 Dim c As Integer

6

7

8 r = 67 ‘最後壹行是第67行

9 c = 66 ‘最後壹列是第66列

10

11 For i = 3 To r ‘叠代,從第3行開始,壹直到最後壹行

12 For j = 2 To c ‘叠代,從第2列開始,壹直到最後壹列

13

14 If Cells(i, j) > 0.5 And Cells(i, j) < 0.6 Then ‘如果單元格Cells(i,j)的值大於0.5下於0.6,那麽背景顏色代碼為42

15 Cells(i, j).Interior.ColorIndex = 42

16 End If

17

18 If Cells(i, j) > 0.6 And Cells(i, j) < 0.7 Then

19 Cells(i, j).Interior.ColorIndex = 43

20 End If

21

22 If Cells(i, j) > 0.7 And Cells(i, j) < 0.8 Then

23 Cells(i, j).Interior.ColorIndex = 6

24 End If

25

26 If Cells(i, j) > 0.8 And Cells(i, j) < 1 Then

27 Cells(i, j).Interior.ColorIndex = 3

28 End If

29 Next

30 Next

31

32 End Sub

  • 上一篇:醉美石阡
  • 下一篇:數字媒體專業是做什麽的?
  • copyright 2024編程學習大全網