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

分享

Excel 數(shù)組定義

 L羅樂 2016-11-19

Sub 單元格區(qū)域轉(zhuǎn)化為數(shù)組()
    Dim f As Variant
    f = ActiveSheet.Range('a1:c4')
    Debug.Print f(1, 1)
End Sub
在這一段代碼里,如果將“dim f as variant”,,改為“dim f() as variant”,,提示“類型不匹配”的錯誤
Sub 動態(tài)數(shù)組演示()
    Dim myArr() As String
    ReDim myArr(0)
    myArr(0) = '一車間'
    ReDim Preserve myArr(2)
    myArr(1) = '二車間'
    myArr(2) = '三車間'
    Debug.Print myArr(0), myArr(2)
End Sub
在這一段代碼里,如果將“Dim myArr() As String'改為“Dim myArr As String”,,提示“缺少數(shù)組”的錯誤
我的困惑在于,,定義數(shù)組時,數(shù)組名后面到底什么時候需要加括號,,加不加括號有什么區(qū)別,?或是說什么情況下需要加括號,什么情況下不需要加括號,?

分享到新浪微博
只看樓主 | 倒序瀏覽

有 6 條回復(fù)

2樓 wpxxsyzx LV16

2014-10-8 17:21
簡單的說,,執(zhí)行f = ActiveSheet.Range('a1:c4')之前,f就是一個變體變量,,執(zhí)行之后成為一個數(shù)組,,不能將單元格區(qū)域直接賦值給一個數(shù)組,所以,,你最后的問題也就不存在了

3樓 liu-aguang LV6

2014-10-8 17:58
  ActiveSheet.Range('a1:c4')
這個區(qū)域它被組織為一個Variant變量下包含數(shù)組(當(dāng)然還有其它),所以語句:
Dim f As Variant
f = ActiveSheet.Range('a1:c4')
將之賦與一個Variant變量(f),則轉(zhuǎn)化為變量f包含一個數(shù)組.

而語句:
Dim f() As Variant
f = ActiveSheet.Range('a1:c4')
是把一個Variant變量賦與一個數(shù)組,所以提示'類型不匹配'

但可以:
Dim f() As Variant
f = ActiveSheet.Range('a1:c4').value
這樣明確指定區(qū)域的值,它本身就是一個數(shù)組,所以可以直接傳遞給Variant數(shù)組.

4樓 liu-aguang LV6

2014-10-8 18:09
本帖最后由 liu-aguang 于 2014-10-8 18:10 編輯

如果在Range前面不加限定則下面語句都可以正常執(zhí)行:
dim f,k()
f=range('a1:c4')
f=range('a1:c4').value
k=range('a1:c4')
k=range('a1:c4').value
原因是Range的默認屬性是Value,它是一個數(shù)組.
上面前兩句與后兩句其意義是不同:
前兩句是將數(shù)組賦與一個Variant變量,讓其包含一個數(shù)組.
后兩句是將一個數(shù)組整體傳遞給另一個數(shù)組.

5樓 香川群子 LV7

2014-10-8 20:23
簡單說,,是這樣子:

一、在VBA中自己定義數(shù)組時,,需要用()

如: Dim arr(1 To 10)    【必須使用常量】
或    ReDim arr(1 To m)  【可以使用變量,、且可以ReDim改變最后一維的大小】

注意,這樣的數(shù)組變量不能用 arr=Range的方式賦值,。(兩者類型不同,、后者是Variant類型變量)

教條的定義數(shù)組方式為:
Dim arr()
ReDim arr(1 To 5)

呵呵,之前的Dim應(yīng)該是多余的,。

…………

二,、Dim arr 或 Dim arr as Variant

此時,可以把工作表Range區(qū)域直接賦值給arr得到一個Variant類型的二維數(shù)組,。

這里,,Variant是變量類型,而二維數(shù)組是其結(jié)果,。實際上不能認為這里的arr是一個數(shù)組類型的變量,。


………………
總結(jié):
一,、如果你想要把工作表Range區(qū)域讀入VBA數(shù)組變量,那么不允許使用括號,,即不能 Dim arr()
二,、如果你想在VBA中直接定義數(shù)組變量(往往會通過直接循環(huán)計算來賦值),那么應(yīng)該用括號 Dim arr()



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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多