返回列表 上一主題 發帖

可以將運自出來的值給RANGE(),當引數嗎?

可以將運自出來的值給RANGE(),當引數嗎?

如:Dim str_ran as string,若運算後 str_ran ="A:1040"那麼這樣的指定可以成立嗎? RANGE(STR_RAN)?
V98

两种情况下可以成立:
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"既不能作为名称(因为它不符合名称的命名规则),又不能表示出单元格的范围.

TOP

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()不接受變數引數乎?
    謝謝指導!!
V98

TOP

回復 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

TOP

謝謝 GBKEE 版主,+ 和 & 差別在這裡啊!,
V98

TOP

str_rows_count = "1:" + Trim(Str(rows_count)) 這樣也可以,+號會多產生一個空白,謝謝 GBKEE 版主.
V98

TOP

+  跟 &  的用法  ,最好是區分開來,免的搞亂掉(雖然好像+ 跟& 一樣)
數值用  +
文字用  &
是學程式而不是要程式,是進步的基礎

TOP

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

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題