Excel VBA質問箱 IV

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

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


50073 / 76732 ←次へ | 前へ→

【31555】Re:コメント書換が出来ません
回答  Kein  - 05/11/25(金) 15:10 -

引用なし
パスワード
   >シートの保護有無確認をして保護が掛かっていれば、外して
という処理も含めるなら、変数の宣言に

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 お礼

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