[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『曜日でセルを保護を解除』(あい)
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.