返回列表 上一主題 發帖

[發問] 請教此程序錯在何處,如何改 ??

[發問] 請教此程序錯在何處,如何改 ??

Sub BBB()
A = Application.Large(Sheets("Sheet6").Range("ao20:ao350"), 1)
Sheets("Sheet6").Range("A10").Value = A.Offset(0, -37)
End Sub

A返回的是區間中最大數值,是數值而非該數值所在的儲存格
而offset函數必先指定一個儲存格或範圍(物件)再去 ...
a8350070 發表於 2014-3-19 22:15

試過可以,但參數太多,看不太懂?有無較易懂的解法?

TOP

回復  t8899

A = Application.Large(Sheets("Sheet6").Range("ao20:ao350"), 1)

這樣得到的是區間最 ...
Hsieh 發表於 2014-3-20 08:28


Application.Large
application.max
這兩個有差別嗎???

TOP

回復  t8899 max只能取最大,large能選擇要第幾大,差別在這
owen06 發表於 2014-3-20 09:39

large 即已包含max  , 就無須max 啊

TOP

回復  t8899 max只能取最大,large能選擇要第幾大,差別在這
owen06 發表於 2014-3-20 09:39

剛試了一下,沒有設定物件變數??

TOP

問題就只是沒有使用Set設置變數為物件
Hsieh 發表於 2014-3-20 15:14

物件定義錯誤??請教如何定義查找出來的屬性 ?
Sub aaa()
Dim a
Set a=Sheets("She5555555555555et6").Range("ao20:ao350").Find(Application.Max(Sheets("She5555555555555et6").Range("ao20:ao350")))
Sheets("She5555555555555et6").Range("A10") = Sheets("She5555555555555et6").Range(a).Offset(0, -37)
End Sub

TOP

回復  t8899

直接這樣不就行了嗎?不然就是要
owen06 發表於 2014-3-20 20:07

不行耶, 沒有設定物件變數
a=Sheets("She5555555555555et6").Range("ao20:ao350").Find(Application.Max(Sheets("She5555555555555et6").Range("ao20:ao350"))).address

TOP

回復  t8899

二種方式:不然就是要第二種方式因為有定義a的範圍了,所以不需要在a前面特定指出sheetx, ...
owen06 發表於 2014-3-20 20:17

你的沒問題,套在我這裡兩個都不行
查了一下
我的AO欄是公式
AO21=IF(Q21="","",AM21-AN21)
AO22=IF(Q22="","",AM22-AN22)
........
是不是這原因???

TOP

回復  t8899


    剛才試了一下之前的程式,發現FIND後面如果沒有補上, , xlValues, xlWhole
    在你 ...
owen06 發表於 2014-3-20 23:55


找的資料裡面的值是空白???(下一樓附檔)

TOP

建議上傳檔案來看看
Hsieh 發表於 2014-3-20 23:37



附檔 Book2.rar (40.31 KB)

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題