行う処理ごとのコマンドボタンが複数シート状にあります。
例 「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も見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
CommandButtonのCaptionを変化させたい
Visual Basic(VBA)
-
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
VBA(えくせる)ってなんでメンテできない人が多いんですか?
Excel(エクセル)
-
-
4
Excel VBA ワークシートに貼られたボタン名(Caption)をセルの値から取得するには
その他(プログラミング・Web制作)
-
5
セルの結合の連続技
Excel(エクセル)
-
6
Excel 大なり小なりを表すとき、 例えば「10以上」なら、>=10 と表せますが、 この10の部
Excel(エクセル)
-
7
【マクロ】for nextステートメントがわかりません。例あり。
Excel(エクセル)
-
8
VBA エクセル で FIND でのエラーについて,教えてください。
Excel(エクセル)
-
9
他人が作ったマクロの理解
Excel(エクセル)
-
10
エクセルで比較 かつ 部分一致について
Excel(エクセル)
-
11
“丸(〇/○/◯)”に似た文字…
Excel(エクセル)
-
12
エクセルの気味悪い不思議
Excel(エクセル)
-
13
Excelのマクロで、セルを結合してその結合したセルに斜線「右上から左下」が出来るようになるコードっ
Excel(エクセル)
-
14
Win10でExcel VBA GetPhoneticを使い ふりがな候補を全て連続で取得する方法?
Excel(エクセル)
-
15
エクセルの関数でわからないことあるのでコード付きで教えてください
Excel(エクセル)
-
16
変数として取得した文字データの色の指定
Excel(エクセル)
-
17
Excelでこういう年を切り替えられる簡易なカレンダーを作ったのですが、 年や月を変えると、色が付い
Excel(エクセル)
-
18
Excelの共有ファイルについて質問です。
Excel(エクセル)
-
19
なぜか「Nextに対応するForがありません」
Excel(エクセル)
-
20
同一セルに入力規則のリストと参照する設定併用できるような設定はありますでしょうか!!
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
エクセルの数式バーのフォント...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelに詳しい方! B列が「日...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelで50個のセルに同じ文字を...
-
Excelの数式について教えてくだ...
-
Excel VBAで全ての矢印を赤色に...
-
エクセル関数を使って
-
祝日と土曜、日曜の合計をカウ...
-
xlsxファイルを保存する際にPDF...
-
Excelについて
-
エクセルVBA、別ブックへ転記す...
-
エクセルで「ページレイアウト...
-
2列に入っているデータを1列...
-
【ExcelVBA】名前を付けて保存→...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで、実行時にsheet上...
-
エラー内容が分かりません
-
エクセルVBAでmeに相当するもの...
-
コモンダイアログエラー
-
オプションボタン
-
EXCEL VBA テキストボックスの...
-
VBAのコントロールなんかをコレ...
-
EXCEL VBA カレンダーコントロ...
-
エクセル2010のvbaとコマンドボ...
-
ワードVBAで画像を挿入
-
アクセス カンレンダーコント...
-
複数のデータ系列の線の太さを...
-
エクセル終了時の保存確認メッ...
-
フォルダ内の全ブックのシート...
-
エクセルでツールバーに「縮小...
-
エクセルの指数を無効にしたい
-
excelファイルに使われているVB...
-
cellsで特定の離れた範囲を選択...
-
ExcelVBAで今開いているユーザ...
-
ファイル名を今日の日付、時刻...
おすすめ情報