Excel VBA質問箱 IV

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

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


20 / 13144 ツリー ←次へ | 前へ→

【79885】シート内にセル参照があるか調べる方法 ペーターパン 18/5/18(金) 14:20 質問[未読]

【79921】Re:シート内にセル参照があるか調べる方法 ペーターパン 18/5/23(水) 22:20 質問[未読]
【79922】Re:シート内にセル参照があるか調べる方法 マナ 18/5/23(水) 22:25 発言[未読]
【79923】Re:シート内にセル参照があるか調べる方法 マナ 18/5/23(水) 23:06 発言[未読]

【79921】Re:シート内にセル参照があるか調べる方法
質問  ペーターパン E-MAIL  - 18/5/23(水) 22:20 -

引用なし
パスワード
   ▼マナ さん:
>▼ペーターパン さん:
>
>>他のブックやシートの参照はありません。
>
>禁止しなくてもよいかという質問だったのですが…
>実際の運用上、ありえないので、禁止しなくてもよいということでしょうか。

運用上あり得ないので禁止しなくてよいです。

【79922】Re:シート内にセル参照があるか調べる方法
発言  マナ  - 18/5/23(水) 22:25 -

引用なし
パスワード
   ▼ペーターパン さん:

試してみてください

ht tp://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim セル As Range
  Dim 参照セル As Range
  
  Application.EnableEvents = False
  For Each セル In Target
    If セル.HasFormula Then
      Set 参照セル = Nothing
      On Error Resume Next
      Set 参照セル = セル.DirectPrecedents
      On Error Resume Next
      If Not 参照セル Is Nothing Then
        MsgBox "その入力は禁止されています"
        Application.Undo
        Exit For
      End If
    End If
  Next
  Application.EnableEvents = True
  
End Sub

【79923】Re:シート内にセル参照があるか調べる方法
発言  マナ  - 18/5/23(水) 23:06 -

引用なし
パスワード
   ▼ペーターパン さん:

こめんなさい

>      Set 参照セル = Nothing

これは、不要でした。

>      On Error Resume Next
>      Set 参照セル = セル.DirectPrecedents
>      On Error Resume Next

後からの、
On Error Resume Next

On Error GoTo 0
でした。

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