行う処理ごとのコマンドボタンが複数シート状にあります。
例 「caption(オブジェクト名)
納品書シート
「処理1(CommandButton1)」
「処理2(CommandButton2)」
領収書シート
「処理3(CommandButton3)」
「発行(CommandButton4)」
処理1をクリックすると一連の処理後、不要なコマンドボタンを削除し、一つのコマンドボタンのCaptionを変更したい。下記ソース・・全角スペースで字下げしてあります。
DIM CB As Object
For Each CB In Worksheets("納品書").Shapes
If CB.Name = "CommandButton1" Or _
CB.Name = "CommandButton2" Then
Worksheets("納品書").Shapes(CB.Name).Delete
End If
Next
WorkSheets("領収書").Shapes.Range(Array("CommandButton3")).Delete
WorkSheets("領収書").Shapes.Range(Array("CommandButton4")).Caption = "再発行" '
としたのですが、
「オブジェクトは、このプロパティまたはメソッドをサポートしていません」
となります。
WorkSheets("領収書").Shapes("CommandButton4").Caption = "再発行"
も同様・・・さて
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
CommandButton・・・
ActiveX コントロールですよね
WorkSheets("領収書").Shapes("CommandButton4").Caption = "再発行"
Worksheets("領収書").OLEObjects("CommandButton4").Object.Caption = "再発行"
シートで ActiveX コントロールを使用する
https://learn.microsoft.com/ja-jp/office/vba/exc …
余談
ボタンを 削除する というロジックでない方が良いように思う
プルダウンやCaptionの値を使うとかで分岐処理するとか・・・
>ルダウンやCaptionの値を使うとかで分岐処理するとか・・
私以外が作業する場合も考えると、入力後ボタンをクリックすることにしたいので、この方法は・・
結局、ActivXコントロールのボタンを重ねて、最初の処理で上のボタンを削除するという簡便な方法に落ち着きました。
No.1
- 回答日時:
コマンドボタンのCaptionは、ユーザーフォームやシート上で表示されるボタンのテキストです。
プロパティウィンドウから変更する方法:
コマンドボタンをアクティブにします。
「開発」タブ > 「プロパティ」をクリックします。
「Caption」欄の値を表示したい文字に変更します。
VBAのプログラムの中でCaptionプロパティを設定する方法:
VBAのコードを記述してCaptionプロパティの値を変更できます。
次の書式を使用します:
オブジェクト.Caption = "表示する文字列"
例
ユーザーフォーム上でラベルを一度クリックしてからプロパティウィンドウのCaptionの個所を見る。
値として「Label1」が設定されています。ラベルに表示される文字列を変更するにはCaptionの値を直接編集してください。
具体的なサンプルコード:
ユーザーフォームが表示される前に発生するInitializeイベントに対するイベントプロシージャを作成し、その中でCaptionプロパティの値を設定します。以下はサンプルコードです:
Private Sub UserForm_Initialize()
Label1.Caption = "名前を入力してください"
CommandButton1.Caption = "OK"
End Sub
このようにVBAのプログラムの中でCaptionプロパティの値を変更することができます。
注意: VBAを使ってCaptionプロパティに文字列を設定する場合、文字列の途中で改行する場合はvbNewLineを使用してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 3つのマクロを連続実行の中で、1つ目のマクロ要件を満たさなかったら、マクロ2・3を実行しない為には 1 2023/10/15 13:42
- Visual Basic(VBA) Excel VBA 文字列のセルを反映させたいです 2 2024/02/24 00:06
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) Excel VBA マクロ あるフォルダー内の複数のファイルを統合したいです 1 2024/02/19 21:37
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
ちょっと先の未来クイズ第6問
2025年1月2日と1月3日に行われる、第101回箱根駅伝(東京箱根間往復大学駅伝競走)で、上位3位に入賞するチームはどこでしょう?
-
自分独自の健康法はある?
こうしていると調子がいい!みたいな自分独自の健康法、こだわりはありますか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
エクセルVBAで、ボタンの文字を変えたい
Excel(エクセル)
-
-
4
Excel VBA ワークシートに貼られたボタン名(Caption)をセルの値から取得するには
その他(プログラミング・Web制作)
-
5
CommandButtonのCaptionを変化させたい
Visual Basic(VBA)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
VBA CommandButtonの文字ずれ
Visual Basic(VBA)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
11
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
12
UserForm1.Showでエラーになります。
工学
-
13
エクセルVBA シート上にあるコマンドボタンを削除するには?
Excel(エクセル)
-
14
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
15
Excelで、ボタンにコメントをつけたい。
Excel(エクセル)
-
16
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
17
コマンドボタンがあるかどうかを取得するには?
PowerPoint(パワーポイント)
-
18
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
19
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
20
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで、実行時にsheet上...
-
エクセルVBAでmeに相当するもの...
-
EXCEL VBA テキストボックスの...
-
オプションボタン
-
昨日まで動いていたエクセルの...
-
ExcelVBAで今開いているユーザ...
-
複数のデータ系列の線の太さを...
-
cellsで特定の離れた範囲を選択...
-
マクロを消すマクロは不可能?
-
VBA マクロ実行時エラー’1004Ra...
-
すでに開いているブックのマク...
-
excelインポート時の「実行時エ...
-
エクセルVBA Workbook変数に変...
-
Excelが勝手にシート移動してし...
-
フォルダ内の全ブックのシート...
-
別のパソコンでエクセルのマク...
-
エクセルでツールバーに「縮小...
-
Excelマクロ ファイル名が変わ...
-
複数のCSVファイルを横に並べて...
-
VB2010でExcelの行をコピーして...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで、実行時にsheet上...
-
エラー内容が分かりません
-
エクセルVBAでmeに相当するもの...
-
オプションボタン
-
EXCEL VBA テキストボックスの...
-
コモンダイアログエラー
-
ワードVBAで画像を挿入
-
キーボードでコマンドボタンを...
-
エクセル2010のvbaとコマンドボ...
-
複数のデータ系列の線の太さを...
-
ExcelVBAで今開いているユーザ...
-
エクセルでツールバーに「縮小...
-
VBAを一度起動するとずっと出て...
-
コピーしたファイルのマクロを...
-
フォルダ内の全ブックのシート...
-
Powerpointでランダムな数字の...
-
VBA マクロ実行時エラー’1004Ra...
-
昨日まで動いていたエクセルの...
-
ファイル名を今日の日付、時刻...
-
cellsで特定の離れた範囲を選択...
おすすめ情報