職場のPC ・windowsXP ・excel2003 自宅PC ・windows7 ・excel2007 職場には自分専用端末がないので、自宅でコードを書いてUSBメモリにコピーし、 職場でペーストするという環境で起きた問題です。 やりたいことは、顧客から送られてくるデータを sheet1 に保存し、 sheet2 に置いてあるマスターデータを参照して不必要な行を削除するマクロです。 以下、コード _______________________ Sub 別シート参照デリート() Dim st1, st2 As Worksheet Set st1 = ThisWorkbook.Sheets("sheet1") '作業用シート Set st2 = ThisWorkbook.Sheets("sheet2") 'マスターシート Dim st1Row, st2Row As Integer st1Row = st1.Cells(Rows.Count, 1).End(xlUp).Row st2Row = st2.Cells(Rows.Count, 1).End(xlUp).Row Dim st1value, st2value As String Dim i, j As Integer 'マスターシートを参照して必要ないものは削除する For i = st1Row To 1 Step -1 st1value = st1.Cells(i, 3).Value For j = st2Row To 1 Step -1 st2value = st2.Cells(j, 1).Value If st1value = st2value Then Exit For '該当するなら必要行なので次へ ElseIf j = 1 Then st1.Cells(i, 3).EntireRow.Delete 'st2の先頭行は"品番"なので不必要=削除 End If Next j Next i End Sub _______________________ 自宅環境では問題なく動作するのですが、職場のPCだと ”オブフェクトが必要です” のエラーが返ってきます。 かといって、どの構文でエラーが出ているのか教えてくれない(反転しない)んです。 どこにエラーがあるのでしょうか? よろしくお願いします。
↧