45043


ExcelのVBAで特定の文字の最終行と最初の行を探す方法で、file.xlsmのデータから範囲してtbl_data.xlsファイルにデータを貼り付けるVBAですが、このコードだと型が一致しないとエラーが表示されます。

どのように修正すればいいでしょうか。

[code]

    Sub try()
     Dim r As range
     Dim rr As range
     Dim aju As range
     Dim ajuu As range
     Dim aku As range
     Dim akuu As range
    
     Set r = Columns("D").Find("T140420001", After:=range("D" & Rows.Count))
     Set rr = Columns("D").Find("T140420001", After:=r, SearchDirection:=2)
     Set aju = Columns("AJ").Find("Upper13", After:=range("AJ" & Rows.Count))
     Set ajuu = Columns("AJ").Find("Upper13", After:=aju, SearchDirection:=2)
     Set aku = Columns("AK").Find("Lower13", After:=range("AK" & Rows.Count))
     Set akuu = Columns("AK").Find("Lower13", After:=aku, SearchDirection:=2)
    
     range(r, rr).Select
     range(aju, ajuu).Select
     range(aku, akuu).Select
    
        Windows("file.xlsm").Activate
        range("AD7:AE16").Select
        Selection.Copy
        Workbooks("tbl_data.xls").Activate
        ActiveWindow.SmallScroll Down:=-3
        range(Cells(r.Row, aju.Column), Cells(rr.Row, akuu.Column)).Select '変更範囲
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Windows("file.xlsm").Activate
    
     End Sub
    
[/code]


CC BY-SA 4.0
2018-06-25T02:12:12.077
45036
2018-06-25T06:01:19.817
2018-06-25T02:13:58.273
3060
25636
question
vba
vba　型が一致しない


＞どのように修正すればいいでしょうか。  
最初に検索対象のブックをアクティブにすればよろしいかと。  
あと、検索して見つからなかった場合の処理が抜けてますよ。


CC BY-SA 4.0
2018-06-25T05:28:56.773
45040
2018-06-25T05:28:56.773
45036
answer


回答ありがとうございます

検索して見つからなかった場合の処理はどのように記述すればいいのでしょうか、  
If r Is Nothing Then '検索失敗

[code]

        MsgBox "検索対象は見つかりませんでした。"
    
    Else    '検索成功
    
        MsgBox "T14042は" & r.Row & "行目の" & _
        r.Column & "列目です。"
    
    End If
    
[/code]

このように記述しても型が一致しないとエラーが表示されます。


CC BY-SA 4.0
2018-06-25T06:01:19.817
45043
2018-06-25T06:01:19.817
25636
45036
answer