No.1ベストアンサー
- 回答日時:
こんばんは。
>マクロを書きたいのですが、可能でしょうか?
可能ですか?と聞かれれば、「可能です」と答えるしかありません。
失礼かもしれませんが、ずっと、ここで難しい質問が多いような気がします。図形描画でボタンを作るのは、やはりランクとしては難しいほうに入ります。それは、本などに載っていないからですが、VBEでは、図形描画は、インテリセンスが利かないということでもあるのです。
本来は、コントロールツールのボタンでもよいのではないでしょうか?それなら、VBAの標準の問題の中にあります。なるべく、自分で教本などを見ながらも解決できる範囲の中で、対処するほうがよいと思います。
ためしに作ってみました。
図形の場合は、以下のようになります。
図形を右クリックして、「マクロの登録」で以下の名前を探して選びます。
場所は、どこでもよいけれども、なるべく標準モジュールがよいかと思います。
なお、シート名、図形描画名は任意です。
Sub AutoShapeAlteredWords()
Static i As Integer
Dim MyWords As Variant
Const MYWORD As String = "晴れ,曇り,雨,雷雨,晴れのち曇り,嵐"
'コンマ(,)で区切ります。
i = i + 1
MyWords = Split(MYWORD, ",")
Worksheets("Sheet1").Shapes("四角形 1").DrawingObject.Text = MyWords(i - 1)
If i > UBound(MyWords) Then i = 0
End Sub
この回答へのお礼
お礼日時:2007/04/26 08:54
早速のご回答ありがとうございます。
やってみたのですが、「指定した名前のアイテムが見つかりませんでした。」という
エラーメッセージが出てうまく行きませんでした。
ワークシート上には図形は押しボタン1つしか定義していないので、
名前は「四角形1」で間違いないと思うのですが、
正しく認識してくれなかったようです。
No.3
- 回答日時:
#2です。
すきません。いくらやっても「大吉」が出ない欠陥おみくじだったようです。
やはり、「配列」で間違いました。
修正します。
Sub Omikuji()
Dim i As Integer
Dim MyWords As Variant
Randomize
Const MYWORD As String = "大吉,中吉,小吉,吉,半吉,末吉,末小吉,凶,小凶,半凶,末凶,大凶"
MyWords = Split(MYWORD, ",")
i = Int(Rnd() * (UBound(MyWords) + 1))
Worksheets("Sheet1").Shapes("四角形 1").DrawingObject.Text = MyWords(i)
End Sub
No.2
- 回答日時:
murano47さん、Wendey02さん、おはようございます。
面白そうなので、Wendey02さんのコードをお借りして御神籤にしてみました。
(ただし、御神籤なので、乱数を発生させて占いを出してますので連続して同じのが出る場合もありますよ。)
Sub Omikuji()
Dim i As Integer
Dim MyWords As Variant
Randomize
Const MYWORD As String = "大吉,中吉,小吉,吉,半吉,末吉,末小吉,凶,小凶,半凶,末凶,大凶"
MyWords = Split(MYWORD, ",")
i = Int(Rnd() * UBound(MyWords) + 1)
Worksheets("Sheet1").Shapes("四角形 1").DrawingObject.Text = MyWords(i)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- C言語・C++・C# 必ずyou bet と表示されます 2 2023/07/28 22:19
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Excel(エクセル) マクロを教えてください 1 2022/11/28 14:52
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報