Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7237 / 13644 ツリー ←次へ | 前へ→

【40208】2000から2003へ移植でエラー発生 wooder 06/7/9(日) 0:27 質問[未読]
【40219】Re:2000から2003へ移植でエラー発生 Ned 06/7/9(日) 11:58 発言[未読]
【40299】Re:2000から2003へ移植でエラー発生 wooder 06/7/10(月) 23:36 お礼[未読]
【40300】Re:2000から2003へ移植でエラー発生 Ned 06/7/11(火) 0:13 発言[未読]
【40383】Re:2000から2003へ移植でエラー発生 wooder 06/7/13(木) 0:13 お礼[未読]

【40208】2000から2003へ移植でエラー発生
質問  wooder E-MAIL  - 06/7/9(日) 0:27 -

引用なし
パスワード
   2000で使用していたVBAが2003では"実行時エラー インデックスが…”が発生し
使用出来ませんでした。

2000と2003の違いが分からない為、難儀しています。


P = 1
For i = 1 To 2 'シートの切り替え(Aライン、Bライン)
Sheets(Line_Name(i)).Select


Set WS = Sheets(Line_Name(i))
  With Worksheets(Line_Name(i)) '完了閉め日の列番号取得


’------------------エラーが発生した文-------------
    Set MatchCell = .Range("7:7").Columns.Find(What:=Mid(Format(CDate(K_DAY) - 1, "YYYY/MM/D"), 6, 5), LookIn:=xlValue, LookAt:=xlWhole)
’------------------------------------------------


      If Not MatchCell Is Nothing Then
        Now_Day_Col = MatchCell.Column
      End If
  End With
J = 0
K = 1
  While Cells(機種 + J, 1) <> ""
   If Cells(実績 + J, Now_Day_Col) = "" Then Cells(実績 + J, Now_Day_Col) = 0
   
    SAI_KISYU(i, K) = Cells(機種 + J, 1)
    SAN_SAI(i, K) = Cells(SAN計画差異 + J, Now_Day_Col)
    KI_SAI(i, K) = Cells(基本計画差異 + J, Now_Day_Col)
L = 1
      While Cells(7, Now_Day_Col + L) <> ""
        SAN_SAI(i, K) = SAN_SAI(i, K) - Cells(SAN計画 + J, Now_Day_Col + L)
        KI_SAI(i, K) = KI_SAI(i, K) - Cells(基本計画 + J, Now_Day_Col + L)
        If Cells(SAN計画 + J, Now_Day_Col + L) <> "" Or Cells(基本計画 + J, Now_Day_Col + L) <> "" Then
          TUIKA_FLG(i, K) = 1 '同じ日付で計画があるとき1にする
        End If
        L = L + 1
      Wend
    K = K + 1
    J = J + 10
  Wend
Next i


出来れば2000と2003で互換性を持たせたいのですがいい方法はありませんか?
ご指導よろしくお願いします。

【40219】Re:2000から2003へ移植でエラー発生
発言  Ned  - 06/7/9(日) 11:58 -

引用なし
パスワード
   こんにちは。
>LookIn:=xlValue

LookIn:=xlValues
とされたらどうでしょう。

また、あまり関係ないですが
>.Range("7:7").Columns

.Rows(7)
と同じ事なのかな。

【40299】Re:2000から2003へ移植でエラー発生
お礼  wooder E-MAIL  - 06/7/10(月) 23:36 -

引用なし
パスワード
   ありがとうございます。
さっそく lookin=xlvalusesに変更すると2000でも2003でも
動作しました。

.rows(7)の方がスマートですね。そちらも変更しました。

ちなみにxlvalueとxlvaluesの違いは何でしょうか?

【40300】Re:2000から2003へ移植でエラー発生
発言  Ned  - 06/7/11(火) 0:13 -

引用なし
パスワード
   こんにちは。
>ちなみにxlvalueとxlvaluesの違いは何でしょうか?
オブジェクトブラウザを見ると、
xlValueはXlAxisTypeのメンバで、Const xlValue = 2 です。
ActiveChart.Axes(xlValue)...などグラフのAxesメソッドで使いますね。
xlValuesはXlFindLookIn のメンバで、Const xlValues = -4163 です。
Findメソッドの引数LookInの定数は元々こちらですね。
もしかしたら、2000ではエラーにならないだけで、期待動作になっていなかったのかもしれません。
#深く検証していませんm(_ _)m
なぜ、2000でエラーにならず、2003でエラーになるかについては、
どこかで読んだ記憶があるようなないような。2003で定数チェックが厳しくなったのかな?
忘れてしまいました。ごめんなさい。

【40383】Re:2000から2003へ移植でエラー発生
お礼  wooder E-MAIL  - 06/7/13(木) 0:13 -

引用なし
パスワード
   回答ありがとうございます。
他にも2000で動作して2003ではエラーが出るという現象は
沢山あるのでしょうね。
 今後も2003への移行を進めるのでよろしくお願いします。

7237 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free