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
上記のコードを実行した後。コードがクラッシュして1004 run-time error
のasterisk'd
行。また、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)
です
また、もう1つのヒント。 Cells
オブジェクトを完全に修飾したい場合があります。例えば
_ThisWorkbook.Sheets("WhatEver").Cells(DataImportRow,DataImportColumn).Value
_