[[20101110223649]] 『曜日でセルを保護を解除』(あい) ページの最後に飛ぶ

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

 

『曜日でセルを保護を解除』(あい)
 F1〜AJ7に11/1〜11/31の日付が入力されています。Q1〜W1に月曜から日曜までの
 曜日が入力されています。指定した曜日の保護を解除したいセルは縦にR8〜R57です。
 範囲はR8〜AJ57です。たとえば月水金なら対象の日付の月水金の指定の縦のセルの
 保護のみを解除して入力可能にしたいのですができるのでしょうか?宜しくお願いします

 こんにちは
 > F1〜AJ7に11/1〜11/31
 11月は30日までです。
 7行目、F7〜AI7 の間違い?

 > 指定した曜日の保護を解除したいセルは縦にR8〜R57です。 範囲はR8〜AJ57です。
 R8 ですか?
 F〜Q 列は対象外ですか?

 > Q1〜W1に月曜から日曜までの曜日が入力されています。指定した曜日
 どうやって指定するのですか?
(ウッシ)

 ウッシさん回答ありがとうございます。
F7〜AI7 の間違い?と言うか勘違いですが31日の時はF1〜AJ7になります。
R8〜R57です。R8〜AJ57これが31日分の範囲です。
指定した曜日は他のブックより参照しています。入力方法は月の一文字で○曜日とははいりません。
宜しくお願いします。(あい)


 こんにちは

 こちらの質問が理解されていないようですが、
 > F1〜AJ7
 1行目から7行目に渡って日付が入るのですか?

 > R8〜AJ57これが31日分の範囲です。
 日付はF列からなのに、何故処理範囲はR列からなのですか?

 > たとえば月水金なら
 どこを見れば月水金を指定したと分かるのですか?
(ウッシ)


 ウッシさん回答ありがとうございます。訂正します。ごめんなさい
日付は31日分F7〜AJ7になります。
F8〜AJ57これが31日分の保護・解除する範囲です。
指定した曜日は他のブックより参照しています。入力方法は月の一文字で○曜日とははいりません。
どこを見れば月水金を指定したと分かるのですか?Q1:W1でQ1が日R1が月こんな感じです。
宜しくお願いします。(あい)


 横から失礼します。
 Q1:W1 にロックを外したい曜日を入力すると解釈した回答です。
 シートモジュールに下記を追加してください

 Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("Q1:W1"), Target) Is Nothing Then Exit Sub

    Application.EnableEvents = False
    ActiveSheet.Unprotect
    Range("F8:AJ53").Locked = True
    Range("F8:AJ53").Interior.ColorIndex = 38 '★ 色が不要だったら削除
    Dim r As Range
    Dim wday As Long
    For Each r In Range("Q1:W1")
        If r.Value <> "" Then
            wday = InStr("日月火水木金土", Left(r.Value, 1))
            If wday > 0 Then
                For d = 1 To 31
                    If Weekday(Range("F7").Offset(0, d - 1)) = wday Then
                        Range("F7").Offset(1, d - 1).Resize(50, 1).Locked = False
                        Range("F7").Offset(1, d - 1).Resize(50, 1).Interior.ColorIndex = 2 '★ 色が不要だったら削除
                    End If
                Next
            End If
        End If
    Next
    ActiveSheet.Protect UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True
    Application.EnableEvents = True
 End Sub

 実際にシートの保護に使用したいオプションは、マクロの記録で確認してください。

 Q1:W1 に文字を書くと変更するようになっていますが、チェックボックスなどを
 使用したほうが便利かもしれませんね。
 (Mook)

コメント返信:

[ 一覧(最新更新順) ]


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