返回列表 上一主題 發帖

問個小問題~

HI~謝謝幫忙,再請問一下
Worksheets("sheet2").Cells(j, 4) = Worksheets("sheet1").Application.Max(Rang ...
color790 發表於 2010-8-19 23:38


我有試過程式並不會有錯誤的結果呢...

Sub aa()
  Dim i, j
  i = 10
  j = 1
  Worksheets("sheet2").Cells(j, 4) = Worksheets("sheet1").Application.Max(Range(Cells(i - 6, 4), Cells(i, 4)))
End Sub

D1=2
D2=8
D3=6
D4=5
D5=10
D6=15
D7=8
D8=9
D9=10
D10=11

上述程式執行後的結果 Sheet2 的 D1 = 15

建議你是不是考慮把程式貼上來看看?

TOP

本帖最後由 luhpro 於 2010-8-20 00:58 編輯
回復  luhpro


    如果當前的工作表是sheet2, 出來的就是sheet2的Range(Cells(i - 6, 4), Cells(i, 4 ...
kimbal 發表於 2010-8-20 00:08



把 Worksheets() 改成 Sheets() 應該就可以了

Sheets("sheet2").Cells(j, 4) = Sheets("sheet1").Application.Max(Range(Cells(i - 6, 4), Cells(i, 4)))

主要是定義上的問題
Worksheets 表示正在 "工作中" 的表格

補充 :
剛剛發現上述的程式內容 :
Sheets("sheet1").Application.Max(Range(Cells(i - 6, 4), Cells(i, 4)))
確實會受限於目前作用中的 Sheet 是哪一個,
研判應該是那個 Application 敘述將作用物層級提升到 Application 以至於其後面的計算在Worksheet非為 sheet1 時,反而無法真正對應到 sheet1,
建議你還是改採 Hsieh  大的引用方式為宜.

TOP

        靜思自在 : 忘功不忘過,忘怨不忘恩。
返回列表 上一主題