![](/img/trans.png)
[英]Run-time error '1004' : Method 'Range' of object'_Global' failed
[英]Run-time error '1004' - Method 'Range' of object'_Global' failed
我在VBA中遇到一個問題,一條線路丟失了一個錯誤。
宏的目的是找到一個特定的單元格,然后將數據粘貼到其中。
代碼如下:
'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
的值為7
, DataImportRow
的值為5
。
現在我擔心的是,列不是作為數字而是字母引用的,所以它必須是我的代碼永遠不能工作,因為它是一個可怕的引用。
有沒有人有任何建議我如何才能完成上述工作?
您的范圍值不正確。 您正在引用不存在的單元格“75”。 您可能希望使用R1C1表示法輕松使用數字列而無需轉換為字母。
http://www.bettersolutions.com/excel/EED883/YI416010881.htm
Range("R" & DataImportRow & "C" & DataImportColumn).Offset(0, 2).Value = iFirstCustomerSales
這應該可以解決您的問題。
更改
Range(DataImportColumn & DataImportRow).Offset(0, 2).Value
至
Cells(DataImportRow,DataImportColumn).Value
當你只有行和列時,你可以使用cells()
對象。 語法是Cells(Row,Column)
還有一個提示。 您可能希望完全限定Cells
對象。 例如
ThisWorkbook.Sheets("WhatEver").Cells(DataImportRow,DataImportColumn).Value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.