2013-12-15 115 views
2

我在VBA用拋繩回一個錯誤的問題。運行時錯誤「1004」 - 法object'_Global」範圍'失敗

什麼宏是專門做的是找到一個特定的細胞,然後數據粘貼到其中。

的代碼如下:

'To find Column of Customer imput 
For Each cell In Range("B4:M4") 

     If cell.Value = strLeftMonth Then 
      DataImportColumn = cell.Column 

     End If 

Next 


For Each cell In Worksheets("data customer monthly 2013").Range("A3:A9999") 

'First Customer 
If cell.Value = strFirstCustomer Then 
     DataImportRow = cell.Row 

    Range(DataImportColumn & DataImportRow).Offset(0, 2).Value = iFirstCustomerSales **** 
End If 

運行上述代碼之後;代碼崩潰,在asterisk'd行上給出1004 run-time error。另外DataImportColumn的值爲7DataImportRow的值爲5

現在我擔心的是,列不爲數字,但字母引用,所以它必須是我的代碼不能因爲它的工作,一個可怕的參考。

沒有人有任何建議,我怎樣才能使上述工作?

回答

4

你的範圍值不正確。您正在引用不存在的單元格「75」。您可能想要使用R1C1表示法輕鬆使用數字列,而無需轉換爲字母。

http://www.bettersolutions.com/excel/EED883/YI416010881.htm

Range("R" & DataImportRow & "C" & DataImportColumn).Offset(0, 2).Value = iFirstCustomerSales 

這應該可以解決您的問題。

2

變化

Range(DataImportColumn & DataImportRow).Offset(0, 2).Value 

Cells(DataImportRow,DataImportColumn).Value 

當你只是在該行和列,那麼你可以使用cells()對象。語法是Cells(Row,Column)

另外一個更尖。您可能需要完全限定您的Cells對象。例如

ThisWorkbook.Sheets("WhatEver").Cells(DataImportRow,DataImportColumn).Value 
相關問題