これが私が試しているコードです:
Set found = Worksheets("Result").Range("A:A").Find(Prefix, , xlValues, xlWhole)
found.Offset(0, 1).Value = CInt(found.Offset(0, 1).Value) + CInt(C.Offset(0, 1).Value)
プレフィックスは、列にある3桁の数字です。次に、「C」の右側のセルによって検出された場所の右側のセルを増やします。タイプの不一致エラーが発生します。
これがcの由来です。
For Each C In Worksheets("AMZ").Range("C2:C" & endRow).Cells
何か案は?
編集:完全なコード
Sub processData()
Dim endRow As Variant
endRow = Worksheets("AMZ").Range("A65536").End(xlUp).Row
For Each C In Worksheets("AMZ").Range("C2:C" & endRow).Cells
Dim found As Range
Prefix = C.Value
C.Select
'remove prefix
If Not Left(Prefix, 3) = "FBA" Then
'nothing
If Mid(Prefix, 3, 1) = "-" Then
Prefix = Left(Prefix, 2)
ElseIf Mid(Prefix, 4, 1) = "-" Then
Prefix = Left(Prefix, 3)
Else
Prefix = "-1"
End If
If Not Prefix = "-1" Then
Set found = Worksheets("Result").Range("A:A").Find(Prefix, , xlValues, xlWhole)
found.Offset(0, 1).Value = CInt(Val(found.Offset(0, 1).Value)) + CInt(Val(C.Offset(0, 1).Value))
End If
End If
Next
End Sub