人に聞けない痔の悩み、これでスッキリ >>

エクセル2007を使っています。
VBAで書いたコマンドをシートに貼り付けたボタンで実行させたいのですがVBのツールバーを開くと「コントロールボックス」の部分がグレーアウトしていて使えません。
有効にする方法をご存知の方教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

まず「コントロールボックス」の部分はどの部分を指しているでしょうか?


探しましたが、「コントロールの挿入」というコマンドしかツールバーにありませんでした。
(デフォルトは表示されないので、「その他のコマンド」→「ユーザー設定」→「開発タブ」から追加する必要がある)

下記確認してください:
(1)もし「コントロールの挿入」のことであれば、その他のコマンドはグレーになっていないでしょうか?
(2)シート解除しでもグレーなら、そもそもそのファイルに読み取り専用になっていないでしょうか。
(3)ワークブックを新規して、「コントロールの挿入」使えるかどうかを確認してください。

参考URL:http://www.vbapro.info
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
返信が遅れましたことをお詫びします。
ご指摘の箇所試してみます。

お礼日時:2012/09/18 16:29

VBA画面でのコントロールツールボックスは、ユーザーフォームをデザインするためのツールです。


シート上にボタンを作るのは、シート画面での作業になります。
EXCEL2007だと、リボンに「開発」タグを追加する必要があります。

参考URL:http://koikide.net/touroku.html
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考になりました。

お礼日時:2012/09/18 16:28

こんにちは、


シート保護は解除しているでしょうか。

参考URL:http://www.vbapro.info

この回答への補足

回答ありがとうございます。
シート保護を全て解除しましたがアクティブになりません。
お手数ですが他に考えられることを教えてください。

補足日時:2012/04/17 20:39
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

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

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

QEXCELでactivexコントロールを挿入できな

お世話になります。
環境はWindows8.1+EXCEL2010です。
タイトルの通り、ワークシート上にactivexコントロールのラベルやテキストボックスなどを挿入しようとすると「オブジェクトを挿入できません」というエラーが表示されてしまいます。
月並みな表現ですが、まさに昨日まで特に問題なく使用できていたため、原因がわからず非常に困惑しております。
ちなみに昨日まではVBAにてワークシート上に正常に配置できていたラベルコントロールが、本日では「実行時エラー1004: オブジェクトを挿入できません」というエラーを表示して正常に配置できなくなってしまい、異常が発覚した次第です。"Microsoft Forms 2.0 Object Library"への参照設定がなされていることは確認しています。
他に確認すべき点などございましたら、ぜひご教授いただければ幸いです。
よろしくお願いいたします。

Aベストアンサー

当方2014/12/10の夜に更新プログラムをインストール後、
同じ現象が発生しており、解決いたしましたので、参考になればと思い回答いたします。
Windows7 32bit
Excel2013


(当方が解決した方法)
Cドライブ内を「*.exd」で検索し、検出されたファイルをすべて削除します。



(exdファイルについて)
Excel上で、ActiveXコントロールを挿入した際、キャッシュのために一時フォルダなどに作成されます。


(考えられる原因)
更新プログラムの中に脆弱性を解決するプログラムがいくつか含まれております。
ActiveXコントロールに関係したセキュリティホールがあったと予測できます。
そのうえで考えると、更新適用前のOfficeで作られたexdファイルを使われるとセキュリティ上まずいので、使わせないようにしたのではと予測できます。


(参考にしたサイト)
https://social.technet.microsoft.com/Forums/office/en-US/b8f0af82-0bb8-4799-aa62-1dbcbc5b7742/excel-2010-macros-does-not-work-after-updates-9dec2014?forum=excel

当方2014/12/10の夜に更新プログラムをインストール後、
同じ現象が発生しており、解決いたしましたので、参考になればと思い回答いたします。
Windows7 32bit
Excel2013


(当方が解決した方法)
Cドライブ内を「*.exd」で検索し、検出されたファイルをすべて削除します。



(exdファイルについて)
Excel上で、ActiveXコントロールを挿入した際、キャッシュのために一時フォルダなどに作成されます。


(考えられる原因)
更新プログラムの中に脆弱性を解決するプログラムがいくつか含まれております。
Acti...続きを読む

Qエクセル VBA ユーザーフォームを閉じる

ユーザーフォームを開く時は
UserForm1.Showですが
閉じる時は?
UserForm1.Close
だとコンパイルエラーになります。
End
にするしかないですか?

Aベストアンサー

Unload Me とか Unload UserForm1 でユーザーフォームを閉じることができます。

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ユーザーフォームを表示中にシートの操作をさせるには

ユーザーフォームを表示中にシートの操作をさせる事はできるのでしょうか。
セルへの入力、画面のスクロールなどは、ユーザーフォームからマクロを実行させたり、.hideでユーザーフォームを一時的に隠すなどすればいいのでしょうが、そういう手段をとらないでユーザーフォームを表示中にシートの操作をさせる事はできるのでしょうか。

Aベストアンサー

ユーザフォームの
ShowModalプロパティを
falseにすればよいかと。

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

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

Aベストアンサー

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

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

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エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?

エクセルのVBAでユーザーフォームの中に
テキストボックスとラベルがあります。

ラベルの縦幅とテキストボックスの縦幅は
同じです。(文字1行分くらい)

そのテキストボックスの左隣にラベルを置いて、
項目名的なものを表示させたいと思うのですが
ラベルの値が上に寄っているので、垂直方向に
中央揃えさせたいのですが、設定の仕方が
分からず困っています。

ちなみにエクセルはXPで、VBAは詳しくありません。
詳しくないけど調べながらちょっとずついろいろ
作業しています。

どうぞよろしくお願いします。

Aベストアンサー

文字の上下中央設定は、確かにできませんね。
代案ですが、次のような操作はいかがでしょうか。

1.双方を選択した状態でプロパティを表示し、AutuSize の値を True にする。
2.前回のようにコントロールの位置を上下中央で揃える。
3.各コントロールの長さ(幅)や文字サイズを調整する。

Qエクセルのセルにカレンダーを表示させ、日付をセルに入力させたい

エクセルについて教えて下さい。

エクセルのセルをクリックすると、
カレンダーのようなものが表示され、
マウスで選択すると、
セルに日付が入力されるようにするには
どうしたらよいですか?

すみませんが、宜しくお願い致します。

Aベストアンサー

#02です。foo-mさんがVBAをお使いになるなら、以下のサンプルをいじってみてください。

このサンプルはC4セルがクリックされたときにカレンダーコントロールを表示して、日付を選んだらその日付をC4に書き込み、カレンダーコントロールを閉じるマクロです。

Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
ActiveSheet.Calendar1.Visible = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$4" Then
ActiveSheet.Calendar1.Visible = True
End If
End Sub

マクロはシートのモジュールとしてペーストして下さいね

QEXCELファイルのカレントフォルダを取得するには?

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

Aベストアンサー

こんばんは。
Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub

QVBAで自身のファイル名を取得する方法

Excelファイル自身が存在するディレクトリはCurDirで取得できました。しかし、Excelファイル自身のファイル名がある場所がわかりません。どうしたらよいでしょうか。

Aベストアンサー

ThisWorkbook.Name では


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

人気Q&Aランキング