2017-07-18 122 views
0

儘管我已經初始化工作表並確保名稱正確,但我始終得到了代碼的對象__global錯誤的方法範圍。任何幫助?該代碼是應該找到一個單元格區域的數據在被放入第二個電子表格方法對象全局失敗的範圍

Sub potential() 

'Add hours for potential work to generate function 

Sheets("Resourcing Sit-Rep").Select 

p = Range("Potential person").End(xlDown).Row - Range("Potential person").Row 
For k = 1 To p 

    For j = 1 To 187 
     If Range("hours").Offset(k, j).Value > 0 Then 

     Sheets("Resource Forecast").Select 
      Val5 = Range("Potential person").Offset(k, 1).Value 
      Val6 = Range("Potential person").Offset(k).Value 
      Val7 = Range("hours").Offset(k, j).Value 
      Val8 = Range("date").Offset(0, j).Value 

     Sheets("Resourcing Sit-Rep").Select 
      A = Range("Leader").Offset(0, 2).End(xlDown).Row - Range("Leader").Offset(0, 2).Row + 1 

      Range("Leader").Offset(A, 2).Formula = Sheets("Resource Forecast").Range("Project_Number").Value & " (" & Sheets("Resource Forecast").Range("Project_Name").Value & ") - " & Val5 & " POTENTIAL WORK" 
      Range("Leader").Offset(A, 3).Formula = Val6 
      Range("Leader").Offset(A, 4).Formula = Val7/7.5 
      Range("Leader").Offset(A, 5).Formula = Val8 

     Else 

     End If 

    Next j 

Next k 
'Range("Leader").Offset(1, 0).Resize(1, 2).AutoFill Destination:=Range("A4", Cells(Range("Leader").Offset(0, 2).End(xlDown).Row, 2)), Type:=xlFillDefault 

End Sub 

回答

1

我首先要說的是,你應該總是與具體的工作表對象資格的範圍。

但你的問題是這樣的:

Range("Potential person")不工作。 範圍方法找不到這樣一個範圍。

Excel命名範圍不能有空格,所以你的範圍有下劃線或什麼的。嘗試不帶空格的簡單測試,並且您應該取得進展。

+0

我已刪除空格但沒有任何作用,錯誤再次出現 –

+0

範圍名稱必須與Excel中指定的範圍在VBA代碼中完全相同。是這樣嗎?否則,您可以調試,並讓我們知道錯誤發生在哪一行? – MacroMarc

+0

完全一樣的名字,我試過更改名稱,改變它的表格,但似乎沒有任何工作 –