投稿/コメントを表示します。


こんにちは小川先生。
今迄講座を受け得た知識で過去に作ったマクロがあります。
今回、WorksheetFunctionを勉強させてもらったので、変更してWorksheetFunction.VLookupを取り込んでみようとしました。
しかしマクロを実行すると、VLookupで参照するシートには内容変更が起こらないようにシートの保護をしてあります。
シート保護をしてある状態でもWorksheetFunctionで保護の解除を求められない方法はありますか?
下記のようなマクロでシートの保護はWorksheets("shaban")にかかっています。
Sub VL()
    Dim c As Integer
    Dim e As Integer
    Dim s1 As Worksheet
    Dim i As String
    
    e = Range("C65536").End(xlUp).Row
    Set s1 = Worksheets("aaa")

' シートを保護していると使えない?
' シート保護を解除するマクロが必要?
    
    For c = 6 To e
        
'        Worksheets("shaban").Unprotect ←このようにしてみたが結局パスワードを求められる…
        
        i = s1.Range("C" & c).Value
        s1.Range("D" & c).Value = Application.WorksheetFunction.VLookup(i, Worksheets("shaban").Range("A2").CurrentRegion, 2, False)

'         Worksheets("shaban").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ←よくわからない
   
    Next
End Sub

ご教授お願い致します。
また、発展編1を受講中ですがもう一度復習したのち次のステップに進もうと思ってます。
時間を作りながら勉強している状態でペースは遅いのですが次はどの講義を受講するのが良い手段ですか?
よろしくお願いします。

2017/02/01 09:54