質問: True And Worksheets("メイン").Cells(19, 11) <> "" Then xxxx on error goto 文でエラーとなることからシングルステップで確認しましたら上のオプションボタン1の箇所でエラーとなっておりました。 叉、他のOS等同環境のPCでネット上の元PCからドラッグして動きを観ましたらこちらはon error goto の前にエクセル事態が終了するエラーとなってしまいました。 以上です、よろしくお願いいたします。
回答: 検証結果による訂正(前回のは削除いたしました。混乱をきたし、大変申し訳ございません。) 1.念のためですが、ファイルの拡張子が「.xlsm」であることは大丈夫ですね? これは、Excelファイルをコピーすると、デフォルトでは「.xlsx」となるので。 マクロは次の2つ共が有効でないと、実行できなくなっています。 ・拡張子が「.xlsm」(マクロ有効ブック形式) ・セキュリティで「マクロを有効にする」設定にしている。 2.こちらでも検証してみたところ、フォームコントロールで追加したオプションボタンでは 「WorkSheets("メイン").OptionButton1.value=TRUE」の部分は不要でした。 この記述が、エラー起因となっていたようです。 従いまして、「WorkBooks~」の部分についても不要です。これは私の誤りでした。 大変申し訳ございませんでした...。 例えば、コード例としては次のようになります。 ``` Sub オプション6_Click() '上記「オプション6」は、システムで自動決定されるので、変更不可。 If Worksheets("メイン").Cells(x, y) <> "" Then '処理 End If End Sub ``` 3.「どのボタンも選択できない」ということでしたが、オプションボタンのマクロを手入力で 入力していませんでしたか? フォームコントロールの場合もそうですが、マクロ記述の際には 「コントロールをダブルクリックしてから、出来たマクロに対応する処理を入力する」ことが 必要です。 なお、フォームコントロールのオプションボタンのアイテム名は、マクロのフォームモジュールの 場合と違って、任意での変更は不可能です。 もし、企業のPC上で再作成する場合は、下記に気をつけて下さい。 -**シートコピー不可。**オリジナルのファイルコピーか、場合によってはファイルの作り直しが必要。 -シート上のオプションボタンをフォームコントロールで配置する場合、出来立てでは全て非アクティブ だが、どれか一つをクリックした時点で、クリックしたものが必ずアクティブ状態になるので、 処理には気をつけること。 以上です。また分からないことございましたら、ご連絡下さい。 追記(これは非常に大切なことなので、敢えて残しておきました。): これはおせっかいなことかもしれませんが、「ネットワーク上~」という、 非常に気になった点がございましたので...。 もし「企業のネットワーク」を使ってのマクロ試行、という意味なのでしたら、 **企業のネットワークでのマクロ試行は厳重禁止事項です!!** 企業のネットワークの情報を利用する場合、試行段階では下記のことを厳重に遵守しなければいけません。 -マクロ:ローカルPC上での処理、かつネットワークデータはローカル上にバックアップしたものだけで試行。 -データ:企業貸与のPC以外での持ち出し・持ち込み・利用は厳重禁止! (情報セキュリティ教育で教育しているはずですが...。) **企業のネットワーク上でマクロ試行し、万一データに損失を与えると、最悪刑事事件や損害賠償**という とんでもない事態になることがございますので...。 ほとんどの企業では、ネットワーク上でマクロの実行が出来ないように、ユーザーの実行権限を制限 しています。ネットワークで遮断されたのはそのためと考えられます。 情報セキュリティ部門からお叱り受けますよ? ログ取られていますから...。 (場合によっては始末書提出ものとなることも...。)