Board logo

標題: 在多個工作表作平均值計算,出現RANGE方法(_worksheet物件)失敗之錯誤 [打印本頁]

作者: tsunamix03    時間: 2015-3-19 17:36     標題: 在多個工作表作平均值計算,出現RANGE方法(_worksheet物件)失敗之錯誤

下列程式碼在計算工作表2時運行正常,
但是一跳到工作表3計算平均值時卻會錯誤,
找了很久看不出問題所在,
懇請高手可以解惑,謝謝

    Dim col As Integer, p_today As Single, row As Integer
    For i = 2 To 9                           '在工作表2至工作表9作計算
        col = 3   
        Do While Sheets(i).Cells(1, col) <> ""
            If IsNumeric(Sheets(i).Cells(65536, col + 1).End(xlUp).Value) Then     '如果是數字
                p_today = Sheets(i).Cells(65536, col + 1).End(xlUp).Value                '行號(col+1)  存有每天的資料
            Else
                p_today = 0
            End If
            Sheets(i).Activate
            Sheets(i).Cells(65536, col + 1).End(xlUp).Select
            row = Selection.row()
            avg = Application.Average(Range(Sheets(i).Cells(row - 259, col + 1), Sheets(i).Cells(row, col + 1)))
            Sheets(i).Cells(65536, col).Value = avg            '行號col  放置260天平均值
            col = col + 2
        Loop
    Next
作者: GBKEE    時間: 2015-3-20 06:43

回復 1# tsunamix03

你這程式碼是否在  Sheets(2)工作表物件模組裡!

試試看
  1. Option Explicit
  2. Sub Ex()
  3. Dim col As Integer, p_today As Single, R As Integer, i As Integer, avg As Double
  4.     For i = 2 To 9                           '在工作表2至工作表9作計算
  5.         col = 3
  6.         With Sheets(i)
  7.             Do While .Cells(1, col) <> ""
  8.                 If IsNumeric(.Cells(65536, col + 1).End(xlUp).Value) Then     '如果是數字
  9.                     p_today = .Cells(65536, col + 1).End(xlUp).Value                '行號(col+1)  存有每天的資料
  10.                 Else
  11.                     p_today = 0
  12.                 End If
  13.                 ' Sheets(i).Activate
  14.                 ' Sheets(i).Cells(65536, col + 1).End(xlUp).Select
  15.                 R = .Cells(65536, col + 1).End(xlUp).Row
  16.                 avg = Application.Average(.Range(.Cells(R - 259, col + 1), .Cells(R, col + 1)))
  17.                 .Cells(65536, col).Value = avg            '行號col  放置260天平均值
  18.                 col = col + 2
  19.             Loop
  20.         End With
  21.     Next
  22. End Sub
複製代碼

作者: tsunamix03    時間: 2015-3-20 23:43

感恩版主
已經可以順利運行了!!:D




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)