返回列表 上一主題 發帖

range離奇問題

你的是 mac 系統
是否與此有關?

TOP

回復 3# lpk187

有道理
目前得到的結論是
EXCEL 會自動把小的值放前面, 大的值放後面
就能夠同一 標準
目的可能是這樣才能互比

例如
以下其實是相同區域的  
Range("A2: C100")  EXCEL  如果回傳 "A2:C100"
Range("A100: C2")  EXCEL  如果回傳 "A100:C2"
IF"A2:C100" <> "A100:C2" Then
    Msgbox "這是不同的選取區"
End iF
要避免這種錯誤,  EXCEL 就必須統一標準

TOP

回復 5# lpk187

你誤會我的意思
版大他其實就是問
Range("A10:c1").Address = 為何 EXCEL 不是傳回 "A10:c1" 反而傳回  "A1:c10"
Range("A1:c10").Address = "A1:c10"

我要跟他說 Range("A10:c1") 和 Range("A1:c10") 其實是相同的選取區
如果 EXCEL 它設計成 一個傳回 "A1:c10" 另一個卻傳回"A10:c1"
將導致發生以下的錯誤現象
IF "A1:c10" <> "A10:c1" Then   (  if Range("A1:c10").Address  <> Range("A10:c1").Address  then )
    Msgbox "這是不同的選取區"
End iF

所以 EXCEL 才會把 Range("A10:c1").Address = 改成傳回  "A1:c10"
這樣就不會出現以上的問題

版大他就是無法理解為何  Range("A10:c1").Address  為何不是傳回 "A10:c1" 而是傳回 "A1:c10"
我要告訴他的是如果  Range("A10:c1").Address   傳回的是  "A10:c1"
將會引發下列的錯誤
IF Range("A1:c10").Address  <> Range("A10:c1").Address  Then
    Msgbox "這是不同的選取區"
End iF
這也就是我認為 EXCEL 為何不傳回 "A10:c1" 的原因

你...沒看清楚我的意思

TOP

不好意思, 上面寫得也點雜
想修改已經超過3分鐘無法修改


你誤會我的意思
版大他就是無法理解為何  Range("A10:c1").Address  為何不是傳回 "A10:c1" 而是傳回 "A1:c10"
我要告訴他的是如果  Range("A10:c1").Address   傳回的是  "A10:c1"
將會引發下列的錯誤
IF Range("A1:c10").Address  <> Range("A10:c1").Address  Then
    Msgbox "這是不同的選取區"
End iF
把 Range("A1:c10").Address  直接以值來替代就變為如下
IF ("A1:c10") <> "A10:c1" Then
    Msgbox "這是不同的選取區"
End iF

這也就是我認為 EXCEL 為何不傳回 "A10:c1" 的原因

你...沒看清楚我的意思

TOP

i - 1 * 100 應該是寫成   (i - 1) * 100

TOP

回復 12# HSINLI


    Range("a" & (i - 1) * 100 + 88 & ":l " & i * 100 + 88).Copy j

":l " 改成  ":l"  右端你多了一個空白

.Copy   j   的用法錯誤,  請字型參考  https://msdn.microsoft.com/zh-tw/library/office/ff837760.aspx

TOP

        靜思自在 : 能付出愛心就是福,能消除煩惱就是慧。
返回列表 上一主題