質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

1854閲覧

VBAのユーザーフォームについてです

kinako-daizu

総合スコア7

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/11/08 06:10

###前提・実現したいこと
VBAをやっています。完全に初心者です。
ボタンを押したときに、ユーザーフォームのラベルに、5つのなかからランダムに言葉を選んで表示をさせたいです。
(例)(ここがわからないです)=choose("りんご","みかん","いちご","ぶどう","すいか")
みたいなイメージでいます。
###発生している問題・エラーメッセージ

ないです

###該当のソースコード

cells(2,3)=choose(a,"りんご","みかん","いちご","ぶどう","すいか")
セルに表示させるのしかわからないです。

###補足情報(言語/FW/ツール等のバージョンなど)
エクセルのvbaです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

質問者さんのコードを活かすなら、

VB

1Private Sub CommandButton1_Click() 2 Dim a As Long 3 Randomize 4 a = Int(5 * Rnd) + 1 5 Label1.Caption = Choose(a, "りんご", "みかん", "いちご", "ぶどう", "すいか") 6End Sub

自分が書くなら、

VB

1Private Sub CommandButton1_Click() 2 Dim s As Variant 3 s = Split("りんご みかん いちご ぶどう すいか") 4 Randomize 5 Label1.Caption = s(Int(5 * Rnd)) 6End Sub

投稿2016/11/08 06:40

編集2016/11/08 06:44
hatena19

総合スコア33620

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttyp03

2016/11/08 06:51

VBAにもChoose関数ってあったんですね。 くそまじめに書いてしまいました。
hatena19

2016/11/08 08:06

可読性のよい明確なコードだと思いますよ。 短く書こうとしてスキルに走ると可読性が悪くなりますので。 「自分が書くなら」のはちょっとその傾向があります(汗) あっ、Randomize を忘れたのはご愛嬌ということで。
kinako-daizu

2016/12/15 13:20

こんな初心者なわたしにも優しく回答してくださりありがとうございました!!とても助かりました( ; ; )ありがとうございます!
guest

0

ベストアンサー

ランダムで求める方法がわからないのか、ラベルにセットする方法がわからないのか曖昧だったので、両方を含むサンプルです。

VBA

1Private Sub CommandButton1_Click() 2 Dim s(5) As String 3 s(0) = "りんご" 4 s(1) = "みかん" 5 s(2) = "いちご" 6 s(3) = "ぶどう" 7 s(4) = "すいか" 8 Label1.Caption = s((Rnd * 10) Mod 5) 9End Sub 10

投稿2016/11/08 06:28

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問