久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Excel VBA解讀(55):在VBA中使用公式1——Formula屬性和FormulaR1C1屬...

 L羅樂(lè) 2017-05-09

 

Excel中,我們經(jīng)常使用各種各樣的公式來(lái)進(jìn)行數(shù)據(jù)的計(jì)算分析和處理,在VBA中也不例外,。本文將介紹VBA中使用公式的相關(guān)屬性。

為了更好地使用公式,讓我們先看看Excel中的A1引用樣式和R1C1引用樣式,,再來(lái)介紹VBA中與使用公式相關(guān)的屬性,。

 

理解A1引用樣式和R1C1引用樣式

Excel默認(rèn)設(shè)置為A1樣式引用,也就是我們熟悉的行以數(shù)字表示,列以字母表示,。例如,,A1表示工作表或者單元格區(qū)域左上角的單元格。

Excel還可以設(shè)置為R1C1樣式引用,,行列都以數(shù)字表示,。例如,使用R1C1表示工作表左上角的單元格,。此時(shí),,需要調(diào)出“Excel選項(xiàng)”對(duì)話框,勾選“R1C1引用樣式”,。

在下面的工作表中,,我們使用了計(jì)算公式。其中,,

  • E = C * D

  • F = E * 單元格I2

  • G = E – F

  • 單元格G8 = 單元格區(qū)域G2:G7之和

我們就以這張工作表來(lái)分析理解A1樣式和R1樣式,。

 

使用A1樣式公式如下圖:

通常,我們?cè)趩卧裰休斎牍胶?,往下拉即可?fù)制公式,。例如,在單元格E2中輸入公式=C2*D2,,下拉至單元格E7,,Excel會(huì)自動(dòng)調(diào)整單元格相對(duì)引用并快速得出列E中的結(jié)果,列F,、列G中也類似,。但列F中的單元格I2不變,因?yàn)槲覀兪褂昧私^對(duì)引用,,即在行或列前加了$符號(hào),。

 

使用R1C1樣式公式如下圖:

可以看出,第5列,、第6列,、第7列中每列的公式都是相同的。也就是說(shuō),,整個(gè)區(qū)域都可以使用同樣的公式,。

R1C1樣式中,字母R代表行,,字母C代表列,,字母后面的方括號(hào)代表相對(duì)引用。字母R后面的方括號(hào)中的數(shù)字代表相對(duì)于當(dāng)前單元格移動(dòng)的行數(shù),,負(fù)數(shù)表示向上移動(dòng),,正數(shù)表示向下移動(dòng),。字母C后面的方括號(hào)中的數(shù)字代表相對(duì)于當(dāng)前單元格移動(dòng)的列數(shù),負(fù)數(shù)表示向左移動(dòng),,正數(shù)表示向右移動(dòng),。例如,如果當(dāng)前單元格D5中輸入=R[1]C[-1],,則引用的單元格為C6,。

若字母RC后面就是數(shù)字,沒(méi)有方括號(hào),,則表示引用為絕對(duì)單元格,。例如,=R3C2引用單元格B3,,不管當(dāng)前單元格處在哪里,。

若字母RC后面既沒(méi)有方括號(hào)也沒(méi)有數(shù)字,則表示引用與當(dāng)前單元格相同的行或列,。

 

為了更好地理解,,下圖演示了一些A1樣式和R1C1樣式的相對(duì)引用和絕對(duì)引用的例子。

 

VBA中,,Range對(duì)象的Formula屬性和FormulaR1C1屬性可以讓我們分別使用A1樣式和R1C1樣式的公式,。

 

認(rèn)識(shí)Formula屬性

我們通過(guò)一些簡(jiǎn)單的示例來(lái)認(rèn)識(shí)Range對(duì)象的Formula屬性。

例如,,對(duì)于下面的工作表,,要求在單元格C1中放置單元格區(qū)域A1:A5中的數(shù)值之和。代碼如下:

結(jié)果如下圖所示,。從編輯欄可以看出,,VBA代碼在單元格C1中放置了公式:=SUM($A$1:$A$5),該公式執(zhí)行相應(yīng)的求和并得到結(jié)果,。

如果要求在單元格區(qū)域C1:C5中的每個(gè)單元格中都放置單元格區(qū)域A1:A5中的數(shù)值之和,,那么只需要將上面的代碼中的引用區(qū)域Range(“C1”)修改為Range(“C1:C5”)。代碼如下:

結(jié)果如圖下圖所示:

 

認(rèn)識(shí)FormulaR1C1屬性

在上面的示例中,,使用FormulaR1C1屬性,,也能達(dá)到相同的效果。例如,,代碼:

在單元格D1中放置對(duì)單元格區(qū)域A1:A5中的數(shù)值求和的結(jié)果,,如下圖所示。

我們注意到,,在單元格D1中顯示的公式與前面使用Formula屬性顯示的公式相同,,這是為什么呢?因?yàn)?/span>Excel默認(rèn)設(shè)置為A1引用樣式,。

 

但是在錄制宏時(shí),,宏錄制器會(huì)以R1C1樣式來(lái)錄制輸入的公式,。例如,對(duì)于上面的工作表,,當(dāng)前單元格為C1,并在該單元格中輸入公式=SUM($A$1:$A$5)求單元格區(qū)域A1:A5中的數(shù)值之和,。我們使用宏錄制器錄制上述操作,,代碼如下:

 

 

關(guān)于Formula屬性和FormulaR1C1屬性的官方說(shuō)明

兩個(gè)屬性都返回或者設(shè)置對(duì)象的公式,其中Formula屬性表示使用A1引用樣式表示法,,FormulaR1C1屬性表示使用R1C1樣式引用,。

說(shuō)明

  • 如果單元格中是常量,則返回該常量,。

  • 如果單元格為空,,則返回空字符串。

  • 如果單元格中是公式,,那么Formula屬性以字符串形式返回該公式,,該字符串與公式欄中顯示的格式相同(包括等號(hào))。

  • 如果設(shè)置單元格中的值或公式為日期格式,,Excel將驗(yàn)證單元格是否已經(jīng)格式化為日期或者時(shí)間數(shù)字格式,。如果不是,Excel將修改數(shù)字格式為默認(rèn)的短日期數(shù)字格式,。

  • 如果單元格區(qū)域是一維

  • 或二維單元格區(qū)域,,那么設(shè)置該公式為相同維度的VB數(shù)組。類似地,,可以將公式放置到VBA數(shù)組中,。

  • 設(shè)置多單元格區(qū)域的公式,使用該公式填充該區(qū)域內(nèi)的所有單元格,。

 

為什么要在VBA中使用R1C1樣式的公式

至少有以下三個(gè)原因:

  • 使用R1C1樣式的公式,,代碼更簡(jiǎn)潔有效。

  • R1C1樣式的公式更穩(wěn)定,,通用性強(qiáng),,不會(huì)因?yàn)閱卧竦淖兓薷墓健?/span>

  • VBA中的數(shù)組公式需要使用R1C1樣式的公式。

下面舉例說(shuō)明,。

 

在本文開頭的工作表中,,我們使用Excel公式計(jì)算相應(yīng)的數(shù)據(jù)。現(xiàn)在,,我們理解了A1引用樣式和R1C1引用樣式,,以及Formula屬性和FormulaR1C1屬性后,使用VBA程序來(lái)計(jì)算表中的數(shù)據(jù)(見下圖中紅色陰影部分),。


使用A1樣式的公式,,程序代碼如下:

使用R1C1樣式的公式,,程序代碼如下:

 

下面是兩段程序的執(zhí)行過(guò)程視頻:


 

可以看出,在某一區(qū)域中使用R1C1樣式的公式,,只需一個(gè)公式,,即可對(duì)其進(jìn)行全部計(jì)算,非常靈活,,代碼也更簡(jiǎn)潔,。

再看下面的例子,我們需要在第11行計(jì)算合計(jì)分,。

使用R1C1樣式的公式,,只需一句代碼即可完成:


 

如果您對(duì)本文介紹的內(nèi)容還有什么好的示例,歡迎發(fā)送郵件給我:[email protected]

也可以在本文下方留言,,提出您的看法或建議,。

本文屬原創(chuàng)文章,轉(zhuǎn)載請(qǐng)聯(lián)系我或者注明出處,。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(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)論公約

    類似文章 更多