これからの季節に親子でハイキング! >>

「開発ー挿入」でボタン(フォームコントロール)を作りました。
このボタンの色を変えたいのですが、どのようにすれば良いのでしょうか?
よろしくお願いします。

A 回答 (2件)

残念ながら、フォームコントロールのボタンの色は変更できません。


(フォントの色は変更できる)

ボタンの色を変えたければ、フォームのボタンではなくて
ActiveXコントロールのボタンを使うことになります。

ただ、貼り付けるところまでは似たようなものですが、
コードの書き方がちょこっと違います。

必要であればその辺りについてアドバイスできますが。
以上です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
フォームコントロールのボタンの色が変えられないとは思いませんでした(汗)
オートシェイプにマクロの設定をして使用してみます。

お礼日時:2010/02/18 19:45

通常の銀色ボタンの変更は出来ませんが、以前のバージョンではオートシェイプにマクロを設定する事が可能です。




http://allabout.co.jp/gm/gc/3920/
http://www.dougamanual.com/blog/32/257/e1607.html
    • good
    • 1
この回答へのお礼

ありがとうございます!!
オートシェイプにマクロの設定ができました!!

お礼日時:2010/02/18 19:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qマクロ登録ボタンに色をつける

こんにちわ! 私はtutogaと言います。
今Excel2000のソフトを使用して、ExcelVBAの勉強をしております。
最近始めたばかりで、分からないことだらけです(^^;

質問です・・・
マクロをボタンに登録する時、[フォーム]ツールバーの[ボタン]を使用しております。
登録したボタンの色を変えることはできないのでしょうか?
ボタンがいくつか並んでおりまして、その中でも一番重要なボタンなので、色を付けて強調したいのです。
いろんなWebサイトで調べてみたのですが、なかなか見つけることができなくて・・・
どなたかご教授願います!

Aベストアンサー

コントロールツールボックスからコマンドボタンを貼り付けてはいかがですか。「表示」「ツールバー」→「コントロール ツールボックス」の中にあります。
実行したいマクロをコピーしていれてやれば簡単です。
Private Sub CommandButton1_Click()
(実行したいマクロ)
End Sub
と言う形になると思います。
詳しくは以下のサイトを参考にしてください。
http://www.sigoto.co.jp/excel/activex/actmenu01.htm
「レッスン11 コマンドボタン」
Private Sub CommandButton1_Click()
(実行したいマクロ)
End Sub
と言う形になると思います。

参考URL:http://www.sigoto.co.jp/excel/activex/actmenu01.htm

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

QExcelコマンドボタン名を変数にして背景色を変更

Excel VBA で、コマンドボタン名を変数にして背景色を変更したいのですが
どうすればできますでしょうか?
(フォームのボタンではなくて、シートにデザインするコントロールツールボックスのボタンです。)

Const strSheet = "シート"
Const strBtnNM = "ボタン"

Worksheets(strSheet).ボタン.BackColor = RGB(255, 255, 0)    ←これはできます!
Worksheets(strSheet).strBtnNM.BackColor = RGB(255, 255, 0)  ←こんな様な事をしたいです。

宜しくお願いします。

Aベストアンサー

こんにちは。

 下記コードでどうでしょう。
  Worksheets(strSheet).OLEObjects(strBtnNM).Object.BackColor = RGB(255, 255, 0)

   1.OLEObjectsコレクションを使用する。
   2.OLEObject オブジェクトのプロパティとして表されない、コントロールのプロパティは Object プロパティを使用して実際のコントロール オブジェクトを取得して設定する。

  VBAヘルプの「シートで ActiveX コントロールを使用する」を参照してください。

では。

QVBA シートのボタン名を変更したい

こんにちは。
Excelのマクロを作成しているのですが、
ユーザーフォームではなく、
シートにあるフォームのボタンの名前を変更したいのです。
どうしたら変更できるのでしょうか。
わかるかたいらっしゃいましたら、教えてください。

よろしくお願いします。

Aベストアンサー

#2です。

> Application.callerで取得するボタン名を
> 変更したいのです。

了解です。
ボタンを選択します。そうすると、左上の「名前ボックス」に「ボタン1」とか表示されますね?
そこで名前ボックスの中を変更し、Enterキーです。

Qエクセル:マクロ「Application.CutCopyMode = False」って?

エクセルのマクロを記録していると

「Application.CutCopyMode = False」

というものがよく出てきますが、これは何でしょう?
どういう意味のものかわかりません。
削除しても差し支えないのもでしょうか?

Aベストアンサー

「Application.CutCopyMode = False」の前で
セルのコピー、または切り取りを行っていると思います。
これは、その操作(セルのコピー、または切り取り)を無効にしているだけです。
------------
Range("A1").Select
Selection.Copy ← これを無効にしている
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
------------
上記の場合であれば、「Application.CutCopyMode = False」を削除しても問題ありませんが、
以下の場合、貼り付け処理でエラーになります。
------------
Range("A1").Select
Selection.Copy
Range("A2").Select
Application.CutCopyMode = False
ActiveSheet.Paste ← ココでエラー
------------
ご自分で、セルをコピーしてみると分かると思いますが、コピーした範囲が点線で点滅されます。
「Application.CutCopyMode = False」をすると、
その点滅がなくなります。

「Application.CutCopyMode = False」の前で
セルのコピー、または切り取りを行っていると思います。
これは、その操作(セルのコピー、または切り取り)を無効にしているだけです。
------------
Range("A1").Select
Selection.Copy ← これを無効にしている
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
------------
上記の場合であれば、「Application.CutCopyMode = False」を削除しても問題ありませんが、
以下の場合、貼り付け処理でエラーになります。
------------
...続きを読む

QエクセルVBAでテキストボックスの値の取得と変更について

エクセルのVBAを使ってシート上のテキストボックスのテキストを取得・変更するマクロを作成したいと思っていますがうまく行きませんので、お知恵を拝借したいとおもいます。

環境:WindowsXPでオフィス2002
状況:
エクセルブックa.xlsのシートに「コントロールツールボックス」のテキストボックスを配置(オブジェクト名はTEXTBOX_C)
エクセルブックb.xlsにコードを書き、a.xlsのTEXTBOX_CのプロパティのValueかTextを取りだしたい

試した事:
コントロールを配置したシートに次のマクロ
TEXTBOX_C.Text = "これはコントロールのテキストボックス"
を書くとテキストボックスに文字を入れ込めますが、別のエクセルブックからだと上手く行きません。

また、オートシェイプのテキストボックスの場合は簡単に出きるのですが、コントロールツールボックスではどうしても上手く行きませんので、対象法などご存知の方いらっしゃいましたら教えてください

Aベストアンサー

エクセルを新規に開きました。
そのSheet1に(コントロールツールボックスの)TextBoxを貼りつけました。
そのBook1から、ファイル-開くで別ブックを開きました。
別ブックのMojule1側に下記を書いて
Sub test02()
MsgBox Workbooks("book1").Worksheets("sheet1").textbox1.Text
End Sub
を実行すると、Book1のTextBoxに入れた文字列が表示
されました。
がそんな質問ではないのですか。

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング