Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


50069 / 76738 ←次へ | 前へ→

【31565】Re:コメント書換が出来ません→解決
お礼  mam  - 05/11/25(金) 16:11 -

引用なし
パスワード
   Keinさん、丁寧なご指導ありがとうございました。
おかげで無事に仕様通りできました。
また、「Intersect」も『なるほど、なるほど、、』とパソの
前で手を叩いておりました。

▼Kein さん:
>>シートの保護有無確認をして保護が掛かっていれば、外して
>という処理も含めるなら、変数の宣言に
>
>Dim Flg As Boolean
>
>を追加し
>
>For Each SH In Worksheets
>  Flg = False
>  If SH.Name = "INDEX" Then GoTo NLine
>  If SH.ProtectContents Then
>   Flg = True: SH.Unprotect
>  End If
>  On Error Resume Next
>  If Intersect(SH.Cells.SpecialCells(-4144), SH.Range("H4")) Is _
>  Nothing Then GoTo NLine
>  SH.Range("H4").Comment.Text "コメント"
>NLine:
>  If Err.Number <> 0 Then Err.Clear
>  On Error GoTo 0
>  If Flg Then SH.Protect
>Next
>
>と、します。
>>ここで何故このコードが必要なのか
>ループしている各シートの H4 セルが、確実にコメントをつけているかを確認
>するためです。例えば「対象のセルに数式が含まれているか ?」という判定なら
>HasFormulaプロパティの値を調べればよいのですが、HasCommentというプロパティ
>はありませんから、SpecialCellsメソッドでコメントをつけたセルをピックアップし、
>それと H4 が重なっているかを見て、コメントの有無を調べているわけです。
>そうした判定によって「H4 には確実にコメントが設定されている」ということが
>分かれば、単にその値を書き換えれば済む、というわけなのです。

0 hits

【31548】コメント書換が出来ません mam 05/11/25(金) 13:48 質問
【31551】Re:コメント書換が出来ません Kein 05/11/25(金) 14:07 回答
【31554】Re:コメント書換が出来ません mam 05/11/25(金) 14:48 お礼
【31555】Re:コメント書換が出来ません Kein 05/11/25(金) 15:10 回答
【31565】Re:コメント書換が出来ません→解決 mam 05/11/25(金) 16:11 お礼

50069 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free