• 締切済み

Excelのトグルボタンを使って以下の事をやりたい

Excelのトグルボタンを使って以下の事をやりたいのですが、根本から解りません。どなたかお教え下さい。 基本作業:トグルボタンを使ってsheetの何箇所かのセルに印鑑を押したり消したりしたい (1)sheet1にトグルボタン(以下からTB)を作成 (2)TBを押した時、sheet4で作成したピクチャ(sheet4上に文字・数字・円を使ってデータ印状にしたものを、Excelのカメラで取って作成したもの)を、sheet2のAB35・BZ35・AS4・CQ4の4箇所とsheet3のAB35・BZ35・AS4・CQ4の4箇所に同一ピクチャを描画 (3)TBを押した時、ボタンの色を赤色に変える (4)TBのボタンを戻した時、各描画したピクチャを全て消す (5)TBのボタンを戻した時、ボタンの色を元の色に戻す

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

発想が良いですね。 ちょっと改良してみました。 日付のところを、テキストボックスにして、セルの値を表示する様に設定し、 http://excelfast.fc2web.com/kowaza5.htm 参照先のセルに、=now()という式を入れておくと、本日の日付にする事ができます。 (書式は適当に設定してください。) これをグループ化しておきます。 マクロの自動記録で、これのコピー・貼付を行うと、図形の名前が記録されます。 貼付を拡張メタファイル形式で行うと、日付は元の式とは独立して、変化しない図形として貼り付けられます。 試しに一個分だけやってみました。Shapes("Group 9")の番号は成り行きですので、自動記録に合わせて変更して下さい。 xl2000のコードです。ご参考まで。 Private Sub ToggleButton1_Change() Dim shp As Shape Application.ScreenUpdating = False If Me.ToggleButton1.Value = True Then Sheets("Sheet4").Shapes("Group 9").Copy Sheets("Sheet2").Select Sheets("Sheet2").Range("$AB$35").Activate ActiveSheet.PasteSpecial Format:="図 (拡張メタファイル)", Link:=False, _ DisplayAsIcon:=False Me.ToggleButton1.BackColor = RGB(255, 0, 0) Else For Each shp In Sheets("Sheet2").Shapes If shp.TopLeftCell.Address = "$AB$35" Then shp.Delete Next shp Me.ToggleButton1.BackColor = -2147483633 End If Sheets("Sheet1").Activate Application.ScreenUpdating = True End Sub

masa_ike
質問者

お礼

早速のご解答有り難う御座います。 先程掲示板の書き込みを拝見しました。 まだ検証等はしておりませんが、まずはお礼を述べさせて頂きます。 また、この件で解らない事がありましたら再度書き込みさせて頂きます。何分この手のものは初心者なもので、こんな事もと思われる部分が多々あるかと思いますが、何卒回答の程お願いします。

masa_ike
質問者

補足

itarashi様へ 日にちの経過が問題なのか解りませんが、補足入力欄しか書込場所が無いのでこちらで質問をさせて頂きます。 回答を頂きました検証を行いました。1Sheetの1セルへのピクチャー描画・描画消しが出来ました。但し今回は複数シートに渡って実行が目的です。 大変お手数ですが、複数シートで実行する場合のコードを教えて頂けませんでしょうか。宜しくお願いします。

関連するQ&A

  • Excel VBA トグルボタンで一定のセルへ楕円を書き込みしたり消したりしたいのですが

    Excel VBAの初心者です。Web検索で同じ事例がないか検索をしてみましたが、2件程近いものがありましたので、それを参考に自力でやってみましたが、書き込みまではすんなりいきますが、トグルボタンをOFFにした場合(消すという動作)がどうも旨くいきません。どなたか宜しくお願いします。 根本的にVBAのコードが全部理解出来ていないというレベルですので、その辺をお察しの上お願いします。 実施したい内容は以下の条件下で行いたいと思います。 (1)sheet1にトグルボタンを作成 (2)トグルボタンを押した時、sheet2の2箇所のセル(AJ3とCJ3)と、sheet3の2箇所のセル(AJ3とCJ3)に楕円(透明)を書き込む (3)トグルボタンを押した時、トグルボタン自体の色を赤色に変更 (4)トグルボタンを戻した時、(2)の作成した楕円を消す。またトグルボタン自体の色を元の色に戻す。

  • 別シートのトグルボタンを指定したい

    複数シートがあって、それぞれのシートにトグルボタンがあるとします。 トグルボタンを押したときの動作は同じなので、 標準モジュールとかに動作内容を記述したいのですが、 「If ActiveSheet.ToggleButton1 = False Then」とか記述しても エラーが出ます。 アクティブなシートにあるトグルボタン1が押された時の動作内容を書きたいです。

  • VBA エクセルでのトグルボタン 楕円について

    お世話になります 【概要】 トグルボタンクリック時、楕円の挿入について 【わからないこと】 トグルボタンクリック時(ON)に楕円(透明)を挿入(できればセル指定ではなく場所指定)しOFFの時は楕円が消える仕組みを作りたいのですが、わかる方よろしくお願い申し上げます。 又、複数ボタン生成する予定なのでボタンクリック時に色など付けば幸いです。

  • トグルボタンをオプションボタンのように使いたい

    エクセルでマクロを作成しています。 見栄えを良くしようと手を入れているところです。 そこで今までオプションボタンで選択していた項目を トグルボタンでできないものかと考えています。 ボタンに画像が貼れる点が気に入っています。 1つのボタンを押してTrueにしたら他のボタンがFalse になるようにしたいのですが上手く行きません。 各ボタンのコードに他のボタンをFalseにするように書くと私にはわからない理由で全てのボタンがFalseになってしまいます。 良い方法をお教えください。

  • Excel VBAで「こういう状態の時にトグルボタン押下」は?

    Excelで、シートの保護をするためのトグルボタンをつけています。 (押してある時は保護) よく考えたら、ツールバーから保護された時にも ボタンが押下状態にならないと使いづらいのではないかと思い、 If ActiveSheet.protect Then ボタン名 = True End If If ActiveSheet.Unprotect Then ボタン名 = False End If とやってみたんですが、うまく機能しません。 どうしたら良いのでしょうか?

  • トグルボタンの排他制御でご教授ください。

    いつもお世話になっております。 エクセル2003のマクロVBAで、トグルボタンの排他制御を行っております。 ひとつのフレーム上の二つのトグルボタンの制御は、MSのサンプルソースを参考に以下のようなソースを作成して、制御できております。 教えて頂きたい内容は、同じようにひとつのフレーム上に、二つのトグルボタンを追加して、排他制御を行いたいたく検討しています、できれば、以下の ExclusiveToggleButtons() を使いたいと思っていますが、for ループのフレーム名が固定です。 フレーム名を可変にすれば、共用できるのではないかと思っていますが、なかなかうまくいきません、よい方法がありましたら、ご教授願います。 --- 標準モジュール ------------ start --- Sub ExclusiveToggleButtons() Dim my_toggle As Control ' Loop through all the ToggleButtons on Frame1. For Each my_toggle In myStartForm.my_MonthChoice_Frame.Controls ' If Name of ToggleButton matches name of ToggleButton ' that was clicked... If my_toggle.Name = my_Clicked_But Then '...select the button. my_toggle.Value = True Else '...otherwise clear the selection of the button. my_toggle.Value = False End If Next --- 標準モジュール ------------ end ---

  • トグルボタンの文字色

    windows-xp、アクセス2003、を使っています。 フォームに複数のトグルボタンを置き、下記コードをつけました。 そこで質問です。 「トグルボタンがONの時は赤色、OFFの時は黒色にする。」ということをしたいです。 できましたら、下記コードに書き加えて頂けませんでしょうか。 Private Sub CH01_Click() If CH01 = -1 Then CH02 = 0 CH03 = 0 End If End Sub Private Sub CH02_Click() If CH02 = -1 Then CH01 = 0 CH03 = 0 End If End Sub Private Sub CH03_Click() If CH03 = -1 Then CH01 = 0 CH02 = 0 End If End Sub すみませんが、宜しくお願い致します!!

  • ACCESS 帳票フォームとデータシートをトグルボタンで切り替え

    フォーム上でサブフォームの帳票フォームとデータシートをトグルボタンかコマンドボタンで切り替えることはできないでしょうか? 現在、抽出したデータをサブフォーム(帳票フォーム)に表示させており、そのデータにある金額の合計を表示させています。 帳票フォームは見やすいのですが、データシートですと抽出したデータの一部をコピーしEXCELで使用したりできます。見やすさを諦めてデータシートに変更すると抽出したデータの合計が計算できません。 できれば、帳票フォームとデータシートどちらも使用したいのですが、いちいちデザインからサブフォームのプロパティで規定のビューから変更するのが面倒です。 上記にありますようにトグルボタンかコマンドボタンで切り替えることができれば便利なのですが・・・。 良い方法がありましたらお知恵を貸して下さい

  • エクセルマクロのオプションボタンについて

     エクセルの1つのシート内で「オプションボタン」を6つ使用し、3択する 場所を2箇所作ろうとしたところ、6択が1箇所となってしまい困っています。 オプションボタン3つずつを独立させ、2組にするにはどのようにすればよいのでしょうか?  また「ツールバー」にある「フォーム」と「コントロールツールボックス」から 「オプションボタン」や「チェックボックス」を作成すると、それぞれどのような 違いがあるのでしょうか?  ちなみに私はコントロールボックスからオプションボタンを作成しています。  詳しい方、教えて頂けないでしょうか?よろしくお願いします。

  • エクセルのマクロボタンが消せない

    職場でエクセル2000を使用しています。 マクロが登録されているボタンを削除できません。 色が付いているので図形だと思います。 保護はかかっていないので普通、右クリックして切り取れると思うのですが。 なお、このファイルは元々、誰かがエクセル2007で作成したファイルの中のシートをコピーしたものです。 どのようなことが考えられるでしょうか? よろしくお願いします。

専門家に質問してみよう