excel 2003 と 2007 の違い?
職場の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だと
”オブフェクトが必要です”
のエラーが返ってきます。
かといって、どの構文でエラーが出ているのか教えてくれない(反転しない)んです。
どこにエラーがあるのでしょうか?
よろしくお願いします。
投稿日時 - 2014-03-21 14:39:52
なーんか変ですね。
バージョンが微妙に異なりますが
当方(WinXP & Excel2002 とWin7 & Excel2010)ではエラーになりませんでした。
変数宣言の4行は修正するとしても解決には至らないような気がします。
社PCで互換パックを使用して、xlsm 形式を開いているとか。
http://support.microsoft.com/kb/923505/ja
自PC・社PCで、デバッグ→コンパイルが通るかどうか。
ツール → 参照設定 で参照不可になっているものがないか。
を調べてみては?
以上でも解決しないとなると、
社PCで新規XLSファイルにシートをコピペ、コードもコピペで
何とかなるかも?
投稿日時 - 2014-03-22 11:07:18
わざわざの試験運用、ありがとうございます。
そちらでもエラーは出ませんでしたか・・・
>社PCで互換パックを使用して、xlsm 形式を開いている
これに関しては調査済みでした。
残り二つ、及び新規作成については、調査&検証してみたいと思います。
本日(土曜日)は職場でPCを扱えなかったので、月曜日(というかPCが使えた日w)に試してみます。
当「補足」欄に追記できないようなので、後日「お礼」欄で報告も兼ねて経過を掲載いたします。
投稿日時 - 2014-03-22 18:04:45
このQ&Aは役に立ちましたか?
4人が「このQ&Aが役に立った」と投票しています
回答(2)
自信はありませんが
Dim st1Row, st2Row As Integer
ですが
Dim st1Row As Integer, st2Row As Integer
http://denki.nara-edu.ac.jp/~yabu/soft/excel-vba-basic.html#3
を参考に!!
投稿日時 - 2014-03-21 19:47:52
このような取り決めがあったのですね!
ともあれ、本日(土曜日)は職場でPCを扱えなかったので、月曜日(というかPCが使えた日w)に試してみます。
当「補足」欄に追記できるか分かりませんので、後日「お礼」欄で報告も兼ねて経過を掲載いたします。
投稿日時 - 2014-03-22 17:56:40
遅くなってすいません。
本日実行してみた結果をお伝えします。
えぇと、こちらの方法では解決には至りませんでした。
しかしながら、このようなルールを教えて下さったことには感謝しております。これからは、こういった小さなルール?も参考にしていきたいと思います。
ありがとうございました。
投稿日時 - 2014-03-27 20:07:44