返回列表 上一主題 發帖

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

回復  t8899

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

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

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

回復 9# t8899
問題就只是沒有使用Set設置變數為物件
MAX與LARGE函數你喜歡用哪個沒關係啦
學海無涯_不恥下問

TOP

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

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

TOP

回復 7# t8899


是這麼說沒錯啦,   
但如果你只是要最大值,就可以直接用MAX,公式比較簡短一點,
MAX(RANGE)
LARGE(RANGE,1)
恩,真的只有一點…

TOP

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

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

TOP

本帖最後由 owen06 於 2014-3-20 09:45 編輯

回復 3# t8899
  1. Sub BBB()
  2. A = [ao20:ao350].find(Application.Large(Sheets("Sheet6").Range("ao20:ao350"), 1),,,xlwhole).address
  3. Sheets("Sheet6").Range("A10").Value = range(A).Offset(0, -37)
  4. End Sub
複製代碼
max只能取最大,large能選擇要第幾大,差別在這

TOP

回復  t8899

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

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


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

TOP

回復 3# t8899

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

這樣得到的是區間最大值,是個數值,並非儲存格物件
試試
set a=Sheets("Sheet6").Range("ao20:ao350").find(application.max(Sheets("Sheet6").Range("ao20:ao350")))
學海無涯_不恥下問

TOP

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

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

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題