- 締切済み
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のボタンを戻した時、ボタンの色を元の色に戻す
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mitarashi
- ベストアンサー率59% (574/965)
発想が良いですね。 ちょっと改良してみました。 日付のところを、テキストボックスにして、セルの値を表示する様に設定し、 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
お礼
早速のご解答有り難う御座います。 先程掲示板の書き込みを拝見しました。 まだ検証等はしておりませんが、まずはお礼を述べさせて頂きます。 また、この件で解らない事がありましたら再度書き込みさせて頂きます。何分この手のものは初心者なもので、こんな事もと思われる部分が多々あるかと思いますが、何卒回答の程お願いします。
補足
itarashi様へ 日にちの経過が問題なのか解りませんが、補足入力欄しか書込場所が無いのでこちらで質問をさせて頂きます。 回答を頂きました検証を行いました。1Sheetの1セルへのピクチャー描画・描画消しが出来ました。但し今回は複数シートに渡って実行が目的です。 大変お手数ですが、複数シートで実行する場合のコードを教えて頂けませんでしょうか。宜しくお願いします。