Excel VBA質問箱 IV

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

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


7194 / 13644 ツリー ←次へ | 前へ→

【40602】チェックボックスの有無の確認方法 あき 06/7/18(火) 18:23 質問[未読]
【40605】Re:チェックボックスの有無の確認方法 ichinose 06/7/18(火) 18:49 発言[未読]
【40615】Re:チェックボックスの有無の確認方法 ハト 06/7/19(水) 10:29 発言[未読]

【40602】チェックボックスの有無の確認方法
質問  あき  - 06/7/18(火) 18:23 -

引用なし
パスワード
   指定したチェックボックスが存在するか確認する方法はありますか?

処理対象によって特定のチェックボックスが有ったり無かったりするので、無条件に処理すると無い場合無視されずエラーになってしまいます。
ですので、存在するときだけ処理したいので、有/無の判断方法が有れば教えてください。

【40605】Re:チェックボックスの有無の確認方法
発言  ichinose  - 06/7/18(火) 18:49 -

引用なし
パスワード
   ▼あき さん:
こんばんは。

>指定したチェックボックスが存在するか確認する方法はありますか?
>
>処理対象によって特定のチェックボックスが有ったり無かったりするので、無条件に処理すると無い場合無視されずエラーになってしまいます。
>ですので、存在するときだけ処理したいので、有/無の判断方法が有れば教えてください。
はっきり意図が掴めませんが、

  on error resume next
  set a=checkbox1
  if err.number<>0 then
   msgbox "見つからない"
   end if

でトラップを拾ったらいかがですか?

【40615】Re:チェックボックスの有無の確認方法
発言  ハト  - 06/7/19(水) 10:29 -

引用なし
パスワード
   ▼あき さん:
>指定したチェックボックスが存在するか確認する方法はありますか?
>
>処理対象によって特定のチェックボックスが有ったり無かったりするので、無条件に処理すると無い場合無視されずエラーになってしまいます。
>ですので、存在するときだけ処理したいので、有/無の判断方法が有れば教えてください。

チェックボックスと言ってもそれがフォーム上にあるのかシート上にあるのか
シート上であるならば、それがフォームの物なのか、コントロールツールボックスの物なのかによって処理が変わってきます

シート上にある、コントロールツールボックスより作成した物ならば、
↓のような感じになります

Sub T_CON()

Dim Cflg As Boolean
Dim MyObj As OLEObject
Dim WS As Worksheet

  Cflg = False  
  Set WS = ThisWorkbook.ActiveSheet
    
  For Each MyObj In WS.OLEObjects
    If MyObj.Name = "CheckBox1" Then
      Cflg = True
      Exit For
    End If
  Next
  
  MsgBox Cflg

End Sub

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