- ベストアンサー
Excell2003/2007を使用してます。VBAでセルの右クリック
Excell2003/2007を使用してます。VBAでセルの右クリックメニューに、『値と数値の書式貼り付け』を追加したいのですが、CommandBarsのIDが調べてみても、わかりません。できればどなたか、教えていただきたいのですが。VBAでコマンド化することはできるのですが、『元に戻す』が使えなくなるので、メニューに追加したいのです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>CommandBarsのIDが調べてみても、わかりません もともとありませんから、探しても無駄です。 コードを作成して登録します。 >『元に戻す』が使えなくなるので、メニューに追加したいのです。 マクロから実行した場合はどうしてもそうなります。 回避手段はありません。 ツールバーに『形式を選択して貼り付けの“値”』を・・・ http://takashixxx.blog88.fc2.com/blog-entry-2.html http://questionbox.jp.msn.com/qa5013016.html
その他の回答 (1)
- kmetu
- ベストアンサー率41% (562/1346)
回答No.1
ツールバーにアイコンを登録するというのは駄目ですか? ツールバーのユーザー設定→コマンド→編集に「値の貼り付け」や「書式の貼り付け」などがあります。
質問者
お礼
上記で出来なかったら、こちらでも試してみます。ありがとうございました。
お礼
無いのですか。。値の貼り付け(ID370)や書式の貼り付け(ID369)やハイパーリンク貼り付け(ID2787)等あったので、形式を選んで貼り付けの内容は全てあると、思い込んでいました。ありがとうございました。 ちなみに、経緯を述べておきます。 もともとセルの書式が同じエリアの(結合セルを含む)範囲の一部を選択して、貼り付け先(書式は同じ)にデータが残ってても貼り付けできるようにしたかったのですが、貼り付け・値のみ貼り付け 等では、うまくいきませんでした。(結合セルが解除されたり、同じはずなのに、この操作には同じサイズの結合セルが必要ですのメッセージが出てできない)それで、いろいろ調べて、『形式を選択して貼り付け』の『値と数値の書式』で出来たので、これをセルの右クリックメニュー追加コード Sub Az_Add_Items() '値貼り付けの追加 Application.CommandBars("Cell").Controls.Add _ Type:=msoControlButton, ID _ :=370, Before:=4 End Sub のIDを変えてやれば、と思い質問させていただきました。 また、ID取得方法も Sub Sample1() Dim i As Long With CommandBars("Standard") For i = 1 To .Controls.Count Cells(i, 1) = .Controls(i).Caption Cells(i, 2) = .Controls(i).ID Next i End With End Sub で、CommandBarsのIndexを変えてやれば、と思ったのですが、『形式を選択して貼り付け』内のメニューに対応するものを見つけられなかったので、質問させていただきました。 これで踏ん切りがつきました。ありがとうございました。