[[20170518185320]] 『【VBA】別エクセルシートを参照している行ででるメx(ゆい) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

削除をお願いします。『【VBA】別エクセルシートを参照している行ででるエラーの対処』(ゆい)

お世話になります。よろしくお願いいたします。

【質問】
別エクセルシートを参照している行(★の箇所)で、インデックスが有効範囲にありませんというエラー(実行時エラー9)が出ます。

(補足)
 Excel名は正しいです。
 仮にマクロ実行されるワークブックに("抽出対象外コード")があり、★の行 をSet ws2 = Sheets("抽出対象外コード")
 とするとうまく動きます。

<<コードここから>>

 Dim thisBook  As Workbook 'マクロ実行するワークブック
 Dim workBookX As Workbook 'マクロ実行されるワークブック
 Dim bookPath  As String   'マクロ実行されるワークブックの格納先パス
 Dim ws2 As Worksheet      'マクロ実行するワークブックにある"抽出対象外コード"シート

 'マクロ実行されるワークブックを開く
    Set thisBook = ThisWorkbook
    bookPath = ThisWorkbook.Path & "\"
    bookName = Dir(bookPath & "*.csv")
    Set workBookX = Workbooks.Open(bookPath & bookName)

(省略)

   'データの最終行の行番号を取得する
    RwMax = Cells(Rows.Count, 1).End(xlUp).Row
    Application.ScreenUpdating = False

    '最終行から1行目まで繰り返し処理する
    'マクロ実行するワークブックの"抽出対象外コード"のデータと一致する行を削除する
    'Set ws2 = thisBook.Sheets("抽出対象外コード")  ★★
    For Rw = RwMax To 4 Step -1
            If WorksheetFunction.CountIf(ws2.Columns("A"), Range("D" & Rw)) > 0 Then
            Rows(Rw).Delete
        End If
    Next Rw
    Application.ScreenUpdating = True

(省略)

<<ここまで>>

< 使用 Excel:Excel2016、使用 OS:Windows10 >


自己解決しました。
失礼いたしました。
(ゆい) 2017/05/18(木) 19:21

質問とは関係ないですが

せっかく thisBook や workBookX にセットしているのに、
その後、使われていないのでは?

(マナ) 2017/05/18(木) 19:36


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.