亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

Q我想使用VBA代碼在單元格中輸入數(shù)組公式,如何實(shí)現(xiàn)?

A:Range對象提供了一個(gè)FormulaArray屬性,可以用來設(shè)置或者返回單元格區(qū)域中的數(shù)組公式,也就是說,在工作表單元格中輸入完后需要按Ctrl+Shift+Enter組合鍵才能最終完成的公式。

如下所示,要求工作表Sheet2中所列出的水果總的銷售金額,即分別使用各種水果的單價(jià)乘以各自的銷量后的和。

其原因可能是有以下幾種。

原因1:試圖修改數(shù)組單元格區(qū)域中的某些單元格

例如下面的代碼:

Sheet3.Range(“B1:B6”).FormulaArray= “=A1:A6=”” Excel”””

Sheet3.Range(“B1”).Value= “excelperfect”

會(huì)導(dǎo)致錯(cuò)誤??梢韵扰袛嘁薷牡膯卧袷欠裉幱跀?shù)組公式區(qū)域,例如:

With Sheet3

.Range(“B1:B6″).FormulaArray =”=A1:A6=”” Excel”””

With .Range(“B1”)

If .HasArray Then

MsgBox “單元格處于數(shù)組公式區(qū)域” & .CurrentArray.Address

End If

End With

End With

原因2:試圖在合并單元格中輸入數(shù)組公式

如果先在單元格中輸入數(shù)組公式然后再和其他單元格合并,這沒有問題。然而,不能夠在已經(jīng)合并的單元格中輸入數(shù)組公式。例如,下面的代碼將失?。?/p>

With Sheet3

.Range(“C1:C6”).Merge

.Range(“C2″).FormulaArray =”=A1:A6=”” Excel”””

End With

可以先對要輸入數(shù)組公式的單元格進(jìn)行檢查:

With Sheet3

.Range(“C1:C6”).Merge

With .Range(“C1”)

If .MergeArea.Address = .Address Then

MsgBox “沒有合并單元格”

Else

MsgBox “單元格已合并,地址為: ” & .MergeArea.Address

End If

End With

End With

原因3:數(shù)組公式存在語法錯(cuò)誤,例如參數(shù)缺失或無效參數(shù)

WithSheet3.Range(“F1”)

‘SUM函數(shù)參數(shù)缺失

.FormulaArray = “=SUM()”

‘SUMIF函數(shù)的第1個(gè)參數(shù)和第3個(gè)參數(shù)不能接受數(shù)組

.FormulaArray = “=SUMIF((A1:A2 =1)*(B1:B2 ),B1,C1:C2 )”

End With

原因4:數(shù)組公式超過了255個(gè)字符

VBA幫助中指出,F(xiàn)ormulaArray屬性的值不能超過255個(gè)字符。若公式的字符超過255個(gè)字符,可以使用DailyDoseOfExcel介紹的技巧,使用Replace方法:

Public SubLongArrayFormula()

Dim theFormulaPart1 As String

Dim theFormulaPart2 As String

theFormulaPart1 =”=IF(MONTH(DATE(YEAR(NOW()),MONTH(NOW()),1))-” & _

“MONTH(DATE(YEAR(NOW()),MONTH(NOW()),1)-” & _

“(WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),1))-1)+” & _

“{ ;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),””””,”& _

“X_X_X())”

theFormulaPart2 =”DATE(YEAR(NOW()),MONTH(NOW()),1)-” & _

“(WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),1))-1)+” & _

“{ ;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)”

With ActiveSheet.Range(“E2:K7”)

.FormulaArray = theFormulaPart1

.Replace “X_X_X())”,theFormulaPart2

.NumberFormat = “m””月””d””日”””

End With

End Sub

上述程序?qū)⒃趩卧駞^(qū)域E2:K7中生成當(dāng)月的日歷。

正如本文一開始所的,F(xiàn)ormulaArray屬性還可以返回單元格中的公式。

如果想要從單個(gè)單元格中返回公式,那么無論單元格中是否包含數(shù)組公式,F(xiàn)ormula屬性和FormulaArray屬性都會(huì)返回相同的結(jié)果。然而,F(xiàn)ormula屬性和FormulaArray屬性應(yīng)用于連續(xù)的、多單元格區(qū)域時(shí)返回不同的結(jié)果。

如果單元格區(qū)域中含有數(shù)組公式,即多個(gè)單元格中為一個(gè)數(shù)組公式,那么FormulaArray屬性返回該公式。

如果單元格區(qū)域不是數(shù)組區(qū)域但所有單元格都包含相同的公式,那么FormulaArray屬性也返回該通用公式。

如果單元格區(qū)域不是數(shù)組區(qū)域且包含的公式不相同,那么FormulaArray屬性返回Null。

在上述所有三種情形中,F(xiàn)ormula屬性返回Variant型數(shù)組,數(shù)組中的每個(gè)元素表示區(qū)域中每個(gè)單元格的公式。

分享到:
標(biāo)簽:excel常用函數(shù) excel常見問題 excel技巧 Excel教程
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定