- ベストアンサー
エクセルのコマンドボタンの文字を
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 UserForm ならこう言った処理は Initialize でやるのが一般的かと思います。 Private Sub UserForm_Initialize() Dim ctr As Control, i As Integer i = 1 For Each ctr In Me.Controls If TypeName(ctr) = "CommandButton" Then ctr.Object.Caption = Worksheets(1).Cells(i, 1).Text i = i + 1 End If Next ctr End Sub
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >希望としては、指定しているセルの文字をそのままコマンドボタンの文字として変換できる方法があればbestなんですが。 このようにすれば出来ます。 まず、A1 に文字を入れておきます。 すでにあるフォームツールのボタンや、オートシェイプ(四角形)は、選択しておして、 そのまま、数式バーで、「=A1 」と入力します。 そうすれば、A1の文字が反映します。 ただし、「XL2000以下」では出来ません。 なお、オートシェイプも、マクロを登録することが出来ます。コマンドボタンと同様の働きを持ちます。
お礼
返信ありがとうございます。 数式バーで試してみましたが、コマンドボタンがなぜか消えてしまいました。せっかく教えていただきましたが、残念な事に使用するPCも古いものが多いので、簡単ではありますが、うまくいかない可能性が高いです。 説明不足で申し訳ありませんでした。 今後もよろしくお願いします。
- papayuka
- ベストアンサー率45% (1388/3066)
ワークシートに置いたコントロールツールボックスの CommandButton の事でしょうか? であれば設定用の CommandButton を作ってVBAで変更するとか、、、 例えばシートに CommandButton を4つ置き、CommandButton1 の Clickイベントを 下記のようにして セルA1~A3に適当な文字を打ちます。 CommandButton1をクリックすると他のボタンのキャプションが変わります。 Private Sub CommandButton1_Click() Dim ob As OLEObject i = 1 For Each ob In Me.OLEObjects If ob.ProgId = "Forms.CommandButton.1" Then If ob.Name <> "CommandButton1" Then ob.Object.Caption = Me.Cells(i, 1).Text i = i + 1 End If End If Next End Sub
補足
返答をどうもありがとうございます。 実際、コードを理解する事が難しいのですが、iの変数を入れ、試してみたらうまくいきました。どうもありがとうございました。 ご解答ついでに、失礼ながらさらに質問をしたいのですが、ユーザーフォームで作ったコマンドボタンの場合には、どのようにすればよいのでしょうか。解答いただいたコードを変えて、自分なりにやってみようとしたんですが、どうもうまくいきません。 申し訳ありませんが、ご解答いただければ大変ありがたいです。 どうか、よろしくお願いします。
関連するQ&A
- EXCELのvisual basicでのコマンドボタンの文字を変えたい
EXCEL2003と2007でvisual basicでのコマンドボタンの枠内の文字を プロパティ欄でcommandbuttn1を「数字入力」と変えたいのですがどうも旨くいきません。枠内の背景やフォントは自由に変えれるのですが何故なんでしょうか? よろしくお願いします
- ベストアンサー
- その他MS Office製品
- エクセル、コマンドボタンについて
素人な質問ですみません。 シート1にコマンドボタンを作成しています。 このコマンドボタンを押すと、シート2のA1セルからE10セルに入力してある50の文字列から、ランダムにコマンドボタンのあるシート1のA1セルに表示させるようにしたいのですが。 このようなことは出きるでしょうか? VBAの知識もほとんどなく困ってます。 簡単に言うと、コマンドボタンを使って、別シートに入力してある文字列を表示させる方法ということになるでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのコマンドボタンについて教えてください。
エクセルのワークシートにコマンドボタンを配置してマクロを登録したとします。 任意のセルを複数選択したのち、コマンドボタンをクリックすると、セルの選択が解除されてしまいます。 選択を解除されない方法ってあるのでしょうか? どなたか、詳しい方がいらっしゃいましたら教えて頂けないでしょうか?宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルのコマンドボタンについて
エクセルのコマンドボタンについて エクセル2007にて、シートにコマンドボタン(ActiveXコントロール)を配置し、 プロパティーで、表示する文字やフォントを設定しました。 が、コマンドボタンを選択した時だけ通常の大きさで表示され、選択が解除されると縮めたように、文字だけ小さくなってしまいます。 何か設定がわるいのでしょうか? 原因がわかる方がおられましたら、ご教授いただけませんでしょうか? よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- マクロ コマンドボタンを押すともう一つコマンドボタン
マクロ初心者です。宜しくお願いします。 コマンドボタンをクリックしたら、指定して開いたファイル上にもうひとつコマンドボタンを追加で表示させることは可能でしょうか? <詳細> ・コマンドボタンを押す ・エクセルのファイルを指定して開く ・指定して開いたファイルの「Sheet1のA1」に新たにコマンドボタンを出現させる。 ・「Sheet1のA1」に現れたコマンドボタンを押すとそのファイルを印刷する。 みたいな事をしたいのですが、可能でしょうか?? 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでコマンドボタンを選択したい。
すいません。私はエクセルのVBAが初心者なのですが、例えば、sheet1にコントロールツールのコマンドボタン1があるとして、いまセルA1が選択されている状態の時、キーボードの"Enter"を押すと、通常はセルA2が選択されるところを、コマンドボタン1を選択するようにしたいのですが、なにかいい方法はありませんか?よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAのコマンドボタンについて
エクセルVBAのコマンドボタンをシートに配置してあるのですが、セルの操作(他シートからのコピペ)によってそれの大きさが変わらないようにしたいです。 コマンドボタンのオプションで、『セルに合わせて移動やサイズ変更をしない』にチェックをいれてあるのですが、他のシートからコピペした際にコマンドボタンの位置とサイズが変わってしまいます。 コピーする元のシートのセルサイズに引きずられて、大きさが変わってしまいます(値だけコピーにすれば大丈夫)。 元に戻すボタンを押してもコマンドボタンの大きさは元に戻ってくれないので困っています。 シートの保護で行と列の大きさを保つように保護することも試みたのですが、それだとコピペができなくなってしまいました。 コピペした際に コマンドボタンの大きさと位置が変わらなければどんな方法でも大丈夫です。 (1)コマンドボタンの設定のミス?なので設定を変更する (2)常時、「形式を選択して貼り付ける」の際に"値のみ"しか選べないようにする(もしくは単に「貼り付け」した時に値だけ貼り付けるように設定する)、 (3)行と列の高さ・幅の変更を禁止したままコピペ等が出来るようにする ・・・などなど 詳しい方よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- エクセル 並べ替え コマンドボタン
エクセル2003で並べ替えをする時に、セルを選択してからツールバーの並べ変えボタンでせずに、オートフィルタのようなセルにコマンドボタンを貼って並べ替えることは可能でしょうか? それとオートフィルタでひとつのシートの中に二つの表を作りそれぞれで並べ替えることは可能でしょうか?
- 締切済み
- オフィス系ソフト
- コマンドボタンプロパティでStyleの設定
Visual Basic 6.0 コマンドボタンのプロパティでStyleの設定を[1-グラフィックス]に 設定した後、BackColorを変更してボタンに色を付けています。 この方法が使用出来るパソコンと出来ないパソコンがあるため、 (文字化けや色が表示されないなど、原因は不明) 複数あるコマンドボタンのStyle設定をまとめて変更したいのですが、 イベントのステートメントへ CommandButton.Style = 0 では変更出来ません。 この設定はプロパティで変更する以外方法は無いのでしょうか? コマンドボタンが各フォーム合わせて200以上あるので変更が大変です。 誰かわかる方いましたら教えて下さい。
- ベストアンサー
- Visual Basic
- エクセルでコマンドボタンを押すと指定のセルの色を変える
エクセルでA1セルにコマンドボタンを作り、そのコマンドボタンを押すと下のA2とA3セルが塗りつぶされるようにしたいのですが、VBAを使うのでしょうか??
- ベストアンサー
- オフィス系ソフト
お礼
解答をありがとうございます。 早速試してみました。 非常に簡単に変更して、正直、驚いております。 コードの内容を分析できるほどではないので、結果的にそのまま使わせていただきました。 大変助かりました。 ありがとうございました。 今後もどうか、よろしくお願いします。