• 締切済み

別ファイルのフォームコントロールで作成したチェックボックスの値の取得方法

Excel2007で別ファイルのチェックボックスの値を取得したいと思っています。 値(オンかオフか)を取得するチェックボックスは「フォームコントロール」で作成したものです。 チェックボックスはフォームなどの上ではなく、シート上に直接置いてあります。 ShapesやOLEobjectだとサポートしてませんエラーが出てしまいうまくいきません。 何かいい方法はありませんでしょうか。

みんなの回答

回答No.1

こんなのではどうでしょうか? If Workbooks("Book1.xlsx").Sheets("Sheet1").Shapes("Check Box 1").ControlFormat.Value = xlOn Then 処理 End If p.s. ただし、同じExcelウインドウ内にBook1.xlsxが開いている場合です。

MUSK963
質問者

お礼

回答ありがとうございました。 試して見たのですが、上記の式もエラーになってしまいました。 ControlFormat.Valueのヘルプを見ると 「長整数型 (Long) の値を取得、または設定」と書いてあり 「boolean」の値は取得できないようです。 残念ながら取得元ファイルをActiveXに修正するしかないようです。

関連するQ&A

  • ExcelVBAでフォームへのチェックボックス作成方法

    OS:Windows XP Home 2002 App:Excel2003 同じブックの別シートから値(数値)を取得してその数だけフォームにチェックボックスを作る方法を教えてください。 フォームを表示(.show)する前に必要な数だけのチェックボックスを配置したいのです。 初めての投稿なので、 失礼があるかもしれませんが、よろしくお願いいたします。

  • チェックボックスの値を取得したい。

    アンケートシートにコントロールツールボックスからチェックボックスを60個作りました。 その値を取得するため、次の構文を作りましたが、 実行時エラー1004 「WorksheetクラスのCheckBoxesプロパティを取得できません。」というMsgboxが出ます。 何方か良い知恵をお貸し下さい。 <エラーのでる構文> Sub AAA() Dim A Sheets(1).Select For A = 1 To 60 Cells(A, 5) = Sheets(1).CheckBoxes(A).Value Next A End Sub Excelは2003です。

  • VBA シート上のチェックボックスの値の取得

    (作業環境 windowsXP Excel2007 作業対象のブックは.xls) シート上に1ブックにつき3000個ほどのチェックボックスがあります。 このブックが現在約1000個、すでに配布・回収されております。 これからチェックボックスの選択状況やセルに入力された値をマクロで収集するのです。 大半のチェックボックスにはすでに「リンクするセル」の設定がされており、そのセルの値を参照すればチェック状態の取得は容易なのですが、 最初にこのブックを作った方が一部のチェックボックス群(3000個中500個程度)にリンクの設定をするのを忘れていたのです。 このリンク設定のされていないチェックボックスの値の取得についてご質問です リンクセルの設定をするのであれば sub a() ActiveSheet.Shapes("Check Box 1").Select Selection.LinkedCell = "$A$1" ・ end sub でいいのでしょうが、これだとselectのはずみで チェックボックスがTrueになってしまします。 リンクせずに直接チェックボックスの値をブール型で取得しようと思い dim a as boolern a = Activesheet.checkboxes(1).value としましたが、ためしに別ブックのシート上に1つだけチェックボックスを作って実行すると、チェック状態にかかわらずTrueが返ります。 checkboxesの使い方がダメなんでしょうか? 求める回答としては (1)上記のやり方でもできるが、間違っている部分がある (2)上記以外のやり方でもっと簡単な(早い)やりかたがある のどちらかのようなアドバイスをいただけると幸甚です。 よろしくおねがいします

  • エクセルユーザーフォームのチェックボックスのCaptionにセルの値を入れたい。

    表題の通りで、エクセルユーザーフォームにチェックボックスを作成し、そのCaptionにセルの値を入れたい場合、どのようにすればいいのでしょうか。 つまり、シートのセルの値が変われば、ユーザーフォームのチェックボックスの文字が変わっているようにしたいのです。 エクセル2003です。 よろしくお願い致します。

  • チェックボックスの値

    チェックボックスの値を取得する方法を調べています。 サイトの例では、チェックボックスが全てTformという同一のフォーム内にあります。これが仮に異なるフォームにある場合、どのように処理したらいいのでしょうか? http://musashisakai.chiikihp.net/master/java/checkbox1.php#2 Tform1 Tform2 Tform3 Tform4 にそれぞれチェックボックスがある場合です。 もし分かる方がいましたら教えてください。 よろしくお願いします。

  • VBAでのチェックボックスの自動作成

    今、ワークシートに入れてあるリストを、インプットボックスでワークシートで指定して読み込ませて処理しています。 今後、複数のリスト(ワークシート)を指定する為、ワークシートの数(ワークシート名も入力して)だけユーザーフォームに自動でチェックボックスを作成するマクロを作りたいと考えています。 ワークシートの数の取得、ワークシート名の取得方法、チェックボックスの値の取得方法はわかりましたが、ワークシートの数だけ、チェックボックスを適当なサイズで自動生成する方法がわからず困っています。 長いコードになると思いますが、よろしければコードも含めて教えてください、よろしくお願いします。

  • フォームを使ってチェックボックスを作成したい

    2000や2003でいう、フォームでチェックボックスを作成いたいのですが、どうやったらできるのでしょうか。2000では、表示→ツールバー→フォームでクリックすると、作成できたんですが2007では、見当たりません。教えてください!

  • フォームコントロールのチェック

    sheet1にフォームコントロールに有るチェック(□の中にレ)でチェックを付けるように作ってます。再度クリックしたらチェックを消せますが、これをマクロで消すようにするにはどのように記述したら良いでしょうか。よろしくお願いします。

  • チェックボックスにチェックが付いているかを取得したい

    ACCESS2003を使用しています。 チェックボックスにチェックが付いているかを取得したいのですが下のコードを実行すると 「実行時エラー'94' Nullの使い方が不正です。」 というエラーになってしまいます。 Sub test() MsgBox Form_フォーム1.チェック0.Value End Sub フォームを開くとチェックボックスが図のように灰色になるのですがこれが原因なのでしょうか? ちなみに同じことをエクセルで行なったら問題なくできました。 よろしくお願い致します。

  • エクセル マクロ フォームのチェックボックス

    エクセルのフォームのチェックボックスで【On】にした際に 「コントロールの書式設定」にある「リンクするセル」のロックをしたいのですが マクロで実現する際、どのようなにできるのでしょうか? また、フォームのチェックボックスで【Off】にした際に、「リンクするセル」のロックの解除のしたいです。 初心者で下記を記述しましたが、チェックボックスが多いため、すべてのチェックボックスに登録するのが時間がかかるのあで、教授お願いします。 Cells.Locked = False ActiveSheet.Protect userinterfaceonly:=True ActiveSheet.Range("AY29").Locked = True

専門家に質問してみよう