[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『再計算時、特定の文字が入力されていたら別シートにその行ごと移動』(ponsuke)
はじめまして。最近VBAはじめた初心者です。
行き詰まってしまったので知恵をお貸しください。
一覧表シート(入力用)、未承認シート、承認シートと3つのシートがあります。
一覧表シートのA列には通し番号があり、通し番号を検索値として未承認シートへは全てVLOOKUP関数で転記されるようになっています。
未承認シートの処理として、再計算時B列に"完了"`,C列に"`承認"と入力されている行を承認シートの最終行の1つ下に移動させるようにしたいです。
色々参考に見て作っているのですが、下記のコードの「 If Range("B" & r).Value = "完了" And Range("C" & r).Value = "承認" Then」で実行時エラー13が出てしまいます。ご教示お願いいたします。
Private Sub Worksheet_Calculate()
Dim lastRow As Long Dim r As Variant
lastRow = Range("A"& Rows.Count).End(xlUp).Row For r = lastRow To 1 Step -1
If Range("B" & r).Value = "完了" And Range("C" & r).Value = "承認" Then
If Sheets("承認"). Range("A2").Value = "" Then Set Target = Sheets("承認").Range("A2") Else Set Target = Sheets("承認").Range("A" & Rows.Count).End(xlUp).Offset(1) End If
Rows(r).Copy Target Rows(r).Delete
Else
End If
Next
End Sub
< 使用 Excel:Excel2013、使用 OS:Windows10 >
(マナ) 2019/06/02(日) 13:10
(ponsuke) 2019/06/02(日) 13:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.