<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    問(wèn)題一:在VBA代碼中,如何引用當(dāng)前工作表中的單個(gè)單元格(例如引用單元格C3)?
    回答:
    可以使用下面列舉的任一方式對(duì)當(dāng)前工作表中的單元格(C3)進(jìn)行引用。
    (1) Range("C3")
    (2) [C3]
    (3) Cells(3, 3)
    (4) Cells(3, "C")
    (5) Range("C4").Offset(-1)
    Range("D3").Offset(, -1)
    Range("A1").Offset(2, 2)
    (6) 若C3為當(dāng)前單元格,則可使用:ActiveCell
    (7) 若將C3單元格命名為“Range1”,則可使用:Range("Range1")或[Range1]
    (8) Cells(4, 3).Offset(-1)
    (9) Range("A1").Range("C3")

    問(wèn)題二:在VBA代碼中,我要引用當(dāng)前工作表中的B2:D6單元格區(qū)域,有哪些方式?
    回答:
    可以使用下面列舉的任一方式對(duì)當(dāng)前工作表中單元格區(qū)域B2:D6進(jìn)行引用。
    (1) Range(“B2:D6”)
    (2) Range("B2", "D6")
    (3) [B2:D6]
    (4) Range(Range("B2"), Range("D6"))
    (5) Range(Cells(2, 2), Cells(6, 4))
    (6) 若將B2:D6區(qū)域命名為“MyRange”,則又可以使用下面的語(yǔ)句引用該區(qū)域:
    ① Range("MyRange")
    ② [MyRange]
    (7) Range("B2").Resize(5, 3)
    (8) Range("A1:C5").Offset(1, 1)
    (9) 若單元格B2為當(dāng)前單元格,則可使用語(yǔ)句:Range(ActiveCell, ActiveCell.Offset(4, 2))
    (10) 若單元格D6為當(dāng)前單元格,則可使用語(yǔ)句:Range("B2", ActiveCell)

    問(wèn)題三:在VBA代碼中,如何使用變量實(shí)現(xiàn)對(duì)當(dāng)前工作表中不確定單元格區(qū)域的引用?
    回答:
    有時(shí),我們需要在代碼中依次獲取工作表中特定區(qū)域內(nèi)的單元格,這通常可以采取下面的幾種方式:
    (1) Range(“A” & i)
    (2) Range(“A” & i & “:C” & i)
    (3) Cells(i,1)
    (4) Cells(i,j)
    其中,i、j為變量,在循環(huán)語(yǔ)句中指定i和j的范圍后,依次獲取相應(yīng)單元格。

    問(wèn)題四:在VBA代碼中,如何擴(kuò)展引用當(dāng)前工作表中的單元格區(qū)域?
    回答:
    可以使用Resize屬性,例如:
    (1) ActiveCell.Resize(4, 4),表示自當(dāng)前單元格開(kāi)始創(chuàng)建一個(gè)4行4列的區(qū)域。
    (2) Range("B2").Resize(2, 2),表示創(chuàng)建B2:C3單元格區(qū)域。
    (3) Range("B2").Resize(2),表示創(chuàng)建B2:B3單元格區(qū)域。
    (4) Range("B2").Resize(, 2),表示創(chuàng)建B2:C2單元格區(qū)域。
    如果是在一個(gè)單元格區(qū)域(如B3:E6),或一個(gè)命名區(qū)域中(如將單元格區(qū)域B3:E6命名為“MyRange”)使用Resize屬性,則只是相對(duì)于單元格區(qū)域左上角單元格擴(kuò)展區(qū)域,例如:
    代碼Range("C3:E6").Resize(, 2),表示單元格區(qū)域C3:D6,并且擴(kuò)展的單元格區(qū)域可不在原單元格區(qū)域內(nèi)。
    因此,可以知道Resize屬性是相對(duì)于當(dāng)前活動(dòng)單元格或某單元格區(qū)域中左上角單元格按指定的行數(shù)或列數(shù)擴(kuò)展單元格區(qū)域。

    問(wèn)題五:在VBA代碼中,如何在當(dāng)前工作表中基于當(dāng)前單元格區(qū)域或指定單元格區(qū)域處理其它單元格區(qū)域?
    回答:
    可以使用Offset屬性,例如:
    (1) Range("A1").Offset(2, 2),表示單元格C3。
    (2) ActiveCell.Offset(, 1),表示當(dāng)前單元格下一列的單元格。
    (3) ActiveCell.Offset(1),表示當(dāng)前單元格下一行的單元格。
    (4) Range("C3:D5").Offset(, 1),表示單元格區(qū)域D3:E5,即將整個(gè)區(qū)域偏移一列。
    從上面的代碼示例可知,Offset屬性從所指定的單元格開(kāi)始按指定的行數(shù)和列數(shù)偏移,從而到達(dá)目的單元格,但偏移的行數(shù)和列數(shù)不包括指定單元格本身。

    問(wèn)題六:在VBA代碼中,如何在當(dāng)前工作表中引用交叉區(qū)域?
    回答:
    可以使用Intersect方法,例如:
    Intersect(Range("C3:E6"), Range("D5:F8")),表示單元格區(qū)域D5:E6,即單元格區(qū)域C3:E6與D5:F8相重迭的區(qū)域。

    問(wèn)題七:在VBA代碼中,如何在當(dāng)前工作表中引用多個(gè)區(qū)域?
    回答:
    (1) 可以使用Union方法,例如:
    Union(Range("C3:D4"), Range("E5:F6")),表示單元格區(qū)域C3:D4和E5:F6所組成的區(qū)域。
    Union方法可以將多個(gè)非連續(xù)區(qū)域連接起來(lái)成為一個(gè)區(qū)域,從而可以實(shí)現(xiàn)對(duì)多個(gè)非連續(xù)區(qū)域一起進(jìn)行操作。
    (2) 也可以使用下面的代碼:
    Range("C3:D4, E5:F6")或[C3:D4, E5:F6]
    注意:Range("C3:D4", "F5:G6"),表示單元格區(qū)域C3:G6,即將兩個(gè)區(qū)域以第一個(gè)區(qū)域左上角單元格為起點(diǎn),以第二個(gè)區(qū)域右下角單元格為終點(diǎn)連接成一個(gè)新區(qū)域。
    同時(shí),在引用區(qū)域后使用Rows屬性和Columns屬性時(shí),注意下面代碼的區(qū)別:
    ①Range("C3:D4", "F8:G10").Rows.Count,返回的值為8;
    ②Range("C3:D4,F8:G10").Rows.Count,返回的值為2,即只計(jì)算第一個(gè)單元格區(qū)域。

    問(wèn)題八:在VBA代碼中,如何引用當(dāng)前工作表中活動(dòng)單元格或指定單元格所在的區(qū)域(當(dāng)前區(qū)域)?
    回答:
    可以使用CurrentRegion屬性,例如:
    (1) ActiveCell.CurrentRegion,表示活動(dòng)單元格所在的當(dāng)前區(qū)域。
    (2) Range("D5").CurrentRegion,表示單元格D5所在的當(dāng)前區(qū)域。
    當(dāng)前區(qū)域是指周圍由空行或空列所圍成的區(qū)域。該屬性的詳細(xì)使用參見(jiàn)《CurrentRegion屬性示例》一文。
    [NextPage]
    問(wèn)題九:在VBA代碼中,如何引用當(dāng)前工作表中已使用的區(qū)域?
    回答:
    可以使用UsedRange屬性,例如:
    (1) Activesheet.UsedRange,表示當(dāng)前工作表中已使用的區(qū)域。
    (2) Worksheets("sheet1").UsedRange,表示工作表sheet1中已使用的區(qū)域。
    與CurrentRegion屬性不同的是,該屬性代表工作表中已使用的單元格區(qū)域,包括顯示為空行,但已進(jìn)行過(guò)格式的單元格區(qū)域。該屬性的詳細(xì)使用參見(jiàn)《解析UsedRange屬性》一文。

    問(wèn)題十:如何在單元格區(qū)域內(nèi)指定特定的單元格?
    回答:
    可以使用Item屬性,例如:
    (1) Range("A1:B10").Item(5,3)指定單元格C5,這個(gè)單元格處于以區(qū)域中左上角單元格A1(即區(qū)域中第1行第1列的單元格)為起點(diǎn)的第5行第3列。因?yàn)镮tem屬性為默認(rèn)屬性,因此也可以簡(jiǎn)寫(xiě)為:Range("A1:B10")(5,3)。
    如果將A1:B10區(qū)域命名為”MyRange”,那么Range("MyRange")(5,3)也指定單元格C5。
    (2) Range("A1:B10")(12,13)指定單元格M12,即用這種方式引用單元格,該單元格不必一定要包含在區(qū)域內(nèi)。
    同時(shí),也不需要索引數(shù)值是正值,例如:
    ① Range("D4:F6")(0,0)代表單元格C3;
    ② Range("D4:F6")(-1,-2)代表單元格A2。
    而Range("D4:F6")(1,1)代表單元格D4。
    (3) 也可以在單元格區(qū)域中循環(huán),例如:
    Range("D4:F6")(2,2)(3,4)代表單元格H7,即該單元格位于作為左上角單元格E5的第3行第4列(因?yàn)镋5是開(kāi)始于區(qū)域中左上角單元格D4起的第2行第2列)。
    (4) 也能使用一個(gè)單個(gè)的索引數(shù)值進(jìn)行引用。計(jì)數(shù)方式為從左向右,即在區(qū)域中的第一行開(kāi)始從左向右計(jì)數(shù),第一行結(jié)束后,然后從第二行開(kāi)始從左到右接著計(jì)數(shù),依次 類推。(注:從區(qū)域中第一行第一個(gè)單元格開(kāi)始計(jì)數(shù),當(dāng)?shù)谝恍薪Y(jié)束時(shí),轉(zhuǎn)入第二行最左邊的單元格,這樣按一行一行從左向右依次計(jì)數(shù)。以單元格區(qū)域中第1個(gè)單 元格開(kāi)始,按上述規(guī)則依次為第2個(gè)單元格、第3個(gè)單元格….等等),例如:
    Range("A1:B2")(1) 代表單元格A1;
    Range("A1:B2")(2) 代表單元格B1;
    Range("A1:B2")(3) 代表單元格A2;
    Range("A1:B2")(4) 代表單元格B2。
    這種方法可在工作表中連續(xù)向下引用單元格(即不一定是在單元格區(qū)域內(nèi),但在遵循相同的規(guī)律),例如:
    Range("A1:B2")(5)代表單元格A3;
    Range("A1:B2")(14)代表單元格B7,等等。
    也可以使用單個(gè)的負(fù)數(shù)索引值。
    這種使用單個(gè)索引值的方法對(duì)遍歷列是有用的,例如,Range("D4")(1)代表單元格D4,Range("D4")(2)代表單元格D5,Range ("D4")(11)代表單元格D14,等等。
    同理,稍作調(diào)整后也可遍歷行,例如:
    Range("D4").Columns(2)代表單元格E4,Range("D4").Columns(5)指定單元格H4,等等。
    (5)當(dāng)與對(duì)象變量配合使用時(shí),Item屬性能提供簡(jiǎn)潔并有效的代碼,例如:
    Set rng = Worksheets(1).[a1]
    定義了對(duì)象變量后,像單元格方法一樣,Item屬性允許使用兩個(gè)索引數(shù)值引用工作表中的任一單元格,例如,rng(3,4)指定單元格D3。(By Chip Pearson)

    問(wèn)題十一:在VBA代碼中,如何引用當(dāng)前工作表中的整行或整列?
    回答:
    見(jiàn)下面的示例代碼:
    (1) Range("C:C").Select,表示選擇C列。
       Range("C:E").Select,表示選擇C列至E列。
    (2) Range("1:1").Select,表示選擇第一行。
       Range("1:3").Select,表示選擇第1行至第3行。
    (3) Range("C:C").EntireColumn,表示C列;
       Range("D1").EntireColumn,表示D列。
    同樣的方式,也可以選擇整行,然后可以使用如AutoFit方法對(duì)整列或整行進(jìn)行調(diào)整。

    問(wèn)題十二:在VBA代碼中,如何引用當(dāng)前工作表中的所有單元格?
    回答:
    可以使用下面的代碼:
    (1) Cells,表示當(dāng)前工作表中的所有單元格。
    (2) Range(Cells(1, 1), Cells(Cells.Rows.Count, Cells. Columns.Count)),其中Cells.Rows表示工作表所有行,Cells. Columns表示工作表所有列。

    問(wèn)題十三:在VBA代碼中,如何引用工作表中的特定單元格區(qū)域?
    回答:
    在工作表中,您可能使用過(guò)“定位條件”對(duì)話框。可以通過(guò)選擇菜單“編輯——定位”,單擊“定位”對(duì)話框中的“定位條件”按鈕顯示該對(duì)話框。這個(gè)對(duì)話框可以允許用戶選擇特定的單元格。例如:
    (1) Worksheets("sheet1").Cells.SpecialCells(xlCellTypeAllFormatConditions),表示工作表sheet1中由帶有條件格式的單元格所組成的區(qū)域。
    (2) ActiveCell.CurrentRegion.SpecialCells(xlCellTypeBlanks),表示當(dāng)前工作表中活動(dòng)單元格所在區(qū)域中所有空白單元格所組成的區(qū)域。
    當(dāng)然,還有很多常量和值的組合,可以讓您實(shí)現(xiàn)特定單元格的查找并引用。參見(jiàn)《探討在工作表中找到最后一行》一文。

    問(wèn)題十四:在VBA代碼中,如何引用其它工作表或其它工作簿中的單元格區(qū)域?
    回答:
    要引用其它工作表或其它工作簿中的單元格區(qū)域,只需在單元格對(duì)象前加上相應(yīng)的引用對(duì)象即可,例如:
    (1) Worksheets(“Sheet3”).Range(“C3:D5”),表示引用工作表sheet3中的單元格區(qū)域C3:D5。
    (2) Workbooks(“MyBook.xls”).Worksheets(“sheet1”).Range(“B2”),表示引用MyBook工作簿中工作表Sheet1上的單元格B2。

    問(wèn)題十五:還有其它的一些情形嗎?
    回答:
    列舉如下:
    (1) Cells(15),表示單元格O1,即可在Cells屬性中指定單元格數(shù)字來(lái)選擇單元格,其計(jì)數(shù)順序?yàn)樽宰笾劣摇纳系较拢秩鏑ells(257),表示單元格B1。
    (2) Cells(, 256),表示單元格IV1,但是如果Cells(, 257),則會(huì)返回錯(cuò)誤。

    結(jié)語(yǔ)
    我們用VBA對(duì)Excel進(jìn)行處理,一般是對(duì)其工作表中的數(shù)據(jù)進(jìn)行處理,因此,引用單元格區(qū)域是ExcelVBA編程中最基本的操作之一,只有確定了所處理的單元格區(qū)域,才能使用相應(yīng)的屬性和方法進(jìn)行下一步的操作。
    上面列舉了一些引用單元格區(qū)域的情形和方式,可以看出,引用單元格區(qū)域有很多方式,有一些可能不常用,可以根據(jù)工作表的所處的環(huán)境和個(gè)人編程習(xí)慣進(jìn)行選擇使用。
    當(dāng)然,在編寫(xiě)程序時(shí),也可能會(huì)將上面的一些屬性聯(lián)合使用,以達(dá)到選取特定操作對(duì)象的目的,例如Offset屬性、Resize屬性、CurrentRegion屬性、UsedRange屬性等的組合。
    posted on 2010-10-12 15:43 Ying-er 閱讀(210) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费无码av片在线观看| 搡女人免费免费视频观看| 日韩亚洲变态另类中文| 最近免费中文字幕MV在线视频3| 亚洲欧洲日产国产综合网| 国产午夜无码精品免费看| jjizz全部免费看片| 亚洲AV一二三区成人影片| 久久九九久精品国产免费直播| 日本三级2019在线观看免费| 国产成+人+综合+亚洲专| www.91亚洲| 8x成人永久免费视频| 亚洲av无码专区在线电影天堂| 亚洲七七久久精品中文国产| 97青青草原国产免费观看| 亚洲乱码无人区卡1卡2卡3| 亚洲精品中文字幕乱码三区| 在线观看免费人成视频| aa午夜免费剧场| 伊人久久亚洲综合影院首页| 自拍偷自拍亚洲精品被多人伦好爽| AA免费观看的1000部电影| 中文字幕成人免费高清在线| 国产成人精品日本亚洲18图| 亚洲国产精品无码专区影院| 日本19禁啪啪无遮挡免费动图| 日本免费在线中文字幕| 高潮毛片无遮挡高清免费| 亚洲一级毛片免费在线观看| 亚洲va无码手机在线电影| 无码不卡亚洲成?人片| 一本无码人妻在中文字幕免费| 国产无遮挡裸体免费视频在线观看| 亚洲爆乳AAA无码专区| 亚洲欧洲日本天天堂在线观看| 亚洲国产精品久久久天堂| 亚洲成a人片在线观看久| 日韩免费三级电影| 野花高清在线观看免费完整版中文 | 亚洲日本VA中文字幕久久道具|