| 
    
     |  | ▼kanabun さん: 早速のご回答ありがとうございます。
 
 Set r = workbooks("book2.xls").Worksheets("給与マスター").Range("A3").currentregion
 Set r = Intersect(r, r.Offset(1))
 ご指摘のところを修正したところ、初回「インデックスが有効範囲ではありません」とメッセージがでたので、book2をopenしSheets"給与マスター"を非表示にして、book1、Sheets"入力票"をactiveにして、userformコード上で実行してところ、うまくできました。「できた!!!」と喜び、一旦保存、閉じてから、book1を開き、同じ手順でbook2も開き、userformコード上で再試行したところ「このプログラムは不正な処理をしたので強制終了します」とのメッセージがでて、excelを強制終了してしまいました。
 一旦閉じては再度試行を試みましたが、同じ結果です。
 book1にSheets"仮マスター"を追加して、workbooks("book2.xls").Worksheets("給与マスター").Range("A3").currentregion部分をコピーして、
 
 Set r = Worksheets("仮マスター").Range("A3").currentregion
 Set r = Intersect(r, r.Offset(1))
 と修正して試してみましたが、強制終了されます。
 
 当方excel97を使用しており、intersectに対応していなかったのか、あるいはbook2のopen、参照の仕方が不正だったのでしょうか??
 解決策はありませんか???
 
 
 |  |