アプリ版:「スタンプのみでお礼する」機能のリリースについて

行う処理ごとのコマンドボタンが複数シート状にあります。
例 「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件)

CommandButton・・・


ActiveX コントロールですよね

WorkSheets("領収書").Shapes("CommandButton4").Caption = "再発行"

Worksheets("領収書").OLEObjects("CommandButton4").Object.Caption = "再発行"

シートで ActiveX コントロールを使用する
https://learn.microsoft.com/ja-jp/office/vba/exc …

余談
ボタンを 削除する というロジックでない方が良いように思う
プルダウンやCaptionの値を使うとかで分岐処理するとか・・・
    • good
    • 0
この回答へのお礼

>ルダウンやCaptionの値を使うとかで分岐処理するとか・・
 私以外が作業する場合も考えると、入力後ボタンをクリックすることにしたいので、この方法は・・
 結局、ActivXコントロールのボタンを重ねて、最初の処理で上のボタンを削除するという簡便な方法に落ち着きました。

お礼日時:2024/03/08 18:54

コマンドボタンの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を使用してください。
    • good
    • 0
この回答へのお礼

ということは、他のコマンドボタンで処理中に、別のコマンドボタンのCaptionを変更することはできないということですか

お礼日時:2024/03/08 12:01

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

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


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