小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

跟煙花入門VBA:57篇單元格對(duì)象Range(一)

 fzchenwl 2015-04-01

 單元格對(duì)象(Range)大概是VBA代碼中運(yùn)用得最多的對(duì)象了,只要涉及到數(shù)據(jù),最后總是離不開單元格對(duì)象。

  Range對(duì)象可以是單個(gè)單元格,一個(gè)矩形的單元格區(qū)域或者是多個(gè)矩形單元格區(qū)域的聯(lián)合。

  Range對(duì)象是包含在Worksheet對(duì)象里。


  如何引用單元格?

  一、工作表上的所有單元格
  不指定索引號(hào)的Cells屬性

  Worksheets(1).cells

  返回指定工作表上代表所有單元格的Range對(duì)象。


  二、使用A1表示方法引用單元格和區(qū)域

  使用Range屬性引用A1引用樣式中的單元格或單元格區(qū)域

  示例:

    Range('A1') ‘單元格 A1

    Range('A1:B5') ‘從單元格 A1 到單元格 B5 的區(qū)域

    Range('C5:D9,G9:H16') ‘多塊選定區(qū)域

    Range('A:A') ‘A

    Range('1:1') ‘第一行

    Range('A:C') ‘ A 列到 C 列的區(qū)域

    Range('1:5') ‘從第一行到第五行的區(qū)域

    Range('1:1,3:3,8:8') ‘ 13 8

    Range('A:A,C:C,F:F') ‘A 、C F


  三、使用Range對(duì)象引用單元格

  聲明一個(gè)Range類型的對(duì)象變量,然后賦值引用,直接操作對(duì)象變量即可。

  示例:

     Dim rg As Range

     Set rg = Worksheets('Sheet1').Range('A1:D8')

     With rg

         .Formula = '=RAND()'

         .Font.Bold = True

         .Font.Color = vbRed

   End With


  四、使用索引號(hào)引用單元格

  通過指定行列索引號(hào),可以用Cells屬性引用單個(gè)單元格。

     Dim i As Byte, j As Byte, k As Byte

     For i = 1 To 56

         j = (i - 1) \ 8 + 1

         k = i Mod 8

         If k = 0 Then k = 8

         Cells(k, j * 2 - 1).Interior.ColorIndex = i

         Cells(k, j * 2).Value = i

   Next


  五、使用快捷表示法引用單元格

  可用方括號(hào)將A1引用樣式或命名區(qū)域括起來,作為Range屬性的快捷方式。

  示例:

    Worksheets('Sheet1').[A1:B5].ClearContents

    [MyRange].Value= 30


  六、引用相對(duì)于其他單元格的單元格

  以相對(duì)于另一單元格的方法處理某一單元格的常用方法是使用Offset屬性。

  某天在論壇答題時(shí)發(fā)現(xiàn)有童鞋在Change事件這樣引用單元格:

    a = Target.Row

    b =Target.Column

    Cells(a, b + 6)= (Cells(a, b) - Cells(a, b - 1)) / (Cells(a, b - 1) * 1.187)

  其實(shí)這里直接用Offset就省很多事了,又簡潔。

  示例:

    ActiveCell.Offset(1,3).Font.Underline = xlDouble


  七、引用多個(gè)區(qū)域

  使用Range屬性和Union方法可以引用任意區(qū)域組合;

  使用Areas屬性可引用工作表上一組選定的區(qū)域。

  通過在兩個(gè)或多個(gè)引用之間插入逗號(hào),可使用Range屬性引用多個(gè)區(qū)域。

  示例:

    Worksheets('Sheet1').Range('C5:D9,G9:H16,B14:D18').ClearContents

    Range('MyRange,YourRange, HisRange').ClearContents’命名法

  使用Union方法可以將多個(gè)區(qū)域組合到一個(gè)Range對(duì)象當(dāng)中。

  示例:

    Dim r1 As Range, r2 As Range,myMultipleRange As Range

    Set r1 =Sheets('Sheet1').Range('A1:B2')

    Set r2 =Sheets('Sheet1').Range('C3:D4')

    Set myMultipleRange = Union(r1, r2)

    myMultipleRange.Font.Bold = True

  使用 Areas 屬性引用選定的單元格區(qū)域或多塊選定區(qū)域中的區(qū)域集合。

  示例:

    If Selection.Areas.Count > 1 Then

     MsgBox '選擇了多個(gè)單元格區(qū)域'

    End If


  八、引用命名區(qū)域

  用名稱比用 A1 樣式記號(hào)更容易標(biāo)識(shí)單元格區(qū)域。
  若要命名選定的單元格區(qū)域,請(qǐng)單擊編輯欄左端的名稱框,鍵入名稱,再按 Enter。

  示例:

    Range('MyBook.xls!MyRange').Font.Italic= True

    引用“MyBook.xls”工作簿中名為“MyRange”的區(qū)域。

    Range('[Report.xls]Sheet1!Sales').BorderAroundWeight:=xlthin

    引用“Report.xls”工作簿中特定于工作表的區(qū)域“Sheet1!Sales”。


  九、引用行和列

  可用 Rows 屬性 Columns 屬性來處理整行或整列。
  這兩個(gè)屬性返回代表單元格區(qū)域的 Range 對(duì)象。

  示例:

    Rows(1) ‘第一行

    Rows ‘工作表上所有的行

    Columns(1) ‘第一列

    Columns('A') ‘第一列

    Columns ‘工作表上所有的列


  需要注意的是,不同工作表的單元格和區(qū)域是無法用Range屬性或unon方法組合在一塊。

  另外,很多新手在引用單元格(特別是跨簿跨表)時(shí)容易漏掉限定對(duì)象(工作簿,工作表)。

 

點(diǎn)左下角閱讀原文,可以查看所有煙花VBA系列

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多