Board logo

標題: 可以將運自出來的值給RANGE(),當引數嗎? [打印本頁]

作者: linshin1999    時間: 2010-12-29 14:57     標題: 可以將運自出來的值給RANGE(),當引數嗎?

如:Dim str_ran as string,若運算後 str_ran ="A:1040"那麼這樣的指定可以成立嗎? RANGE(STR_RAN)?
作者: et5323    時間: 2010-12-29 15:40

两种情况下可以成立:
1.使用名称:
假设工作簿存在名称"AAA",则下列代码成立:
Sub test1()
    Dim str_ran As String
    str_ran = "AAA"
    MsgBox Range(str_ran).Address
End Sub

2.使用单元格范围:
Sub test2()
    Dim str_ran As String
    str_ran = "a1:c300"
    MsgBox Range(str_ran).Address
End Sub

你所说的"A:1040"既不能作为名称(因为它不符合名称的命名规则),又不能表示出单元格的范围.
作者: linshin1999    時間: 2010-12-29 21:43

et5323大大如果如下片段,
    rows_count = Range("A1").CurrentRegion.Rows.Count
    str_rows_count = "1:" + Str(rows_count)
    Rows(str_rows_count).RowHeight = 19.2
    會跑不下去,因為會出現如下的錯誤訊息"型態不合",rowS_count = 1040
    str_rows_count = "1:1040"
    如果改成這樣就可以跑:rows("1:1040"),rows()不接受變數引數乎?
    謝謝指導!!
作者: GBKEE    時間: 2010-12-29 22:03

回復 3# linshin1999
rows_count = Range("A1").CurrentRegion.Rows.Count
str_rows_count = "1:" + Str(rows_count)
MsgBox Len(Str(rows_count))
MsgBox Len(rows_count)
  這可告訴你錯在哪裡
'''''''''''''''''''''''''''''''''''''''''''''''''''下面可行
rows_count = Range("A1").CurrentRegion.Rows.Count
str_rows_count = "1:" &  rows_count    字串連接要用 &
Rows(str_rows_count).RowHeight = 19.2
作者: linshin1999    時間: 2010-12-29 23:14

謝謝 GBKEE 版主,+ 和 & 差別在這裡啊!,
作者: linshin1999    時間: 2010-12-29 23:28

str_rows_count = "1:" + Trim(Str(rows_count)) 這樣也可以,+號會多產生一個空白,謝謝 GBKEE 版主.
作者: 暗黑    時間: 2010-12-30 09:07

+  跟 &  的用法  ,最好是區分開來,免的搞亂掉(雖然好像+ 跟& 一樣)
數值用  +
文字用  &
作者: linshin1999    時間: 2010-12-30 21:58

謝謝!! 以前寫的程式用 + 所以貫用,但是暗黑醒的是!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)