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

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

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

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

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

2回答

2130閲覧

Excel[VBA] 入力フォームに一項目を入力で他を自動で表示されるようにしたい。

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

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

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2018/05/25 23:35

編集2018/05/27 04:32

イメージ説明

前提・実現したいこと

UserForm1の確認ボタンに、
1~10が入力されたら、下に記載のB15~D15、
11~20が入力されたら、B16~D16のデータを
上のA3からC3に表示させたい。

確認ボタンを押してもエクセルに反映しません。
詳しい方、ご指摘いただきたくお願いいたします。

Private Sub OKボタン_Click() If (ナンバー.Text) = "" Then MsgBox "ナンバーが間違っています。" Exit Sub End If If (ナンバー.Text) >= 1 And (ナンバー.Text) <= 10 Then Range("A3:C3").Value = Range("B15:D15").Value ElseIf (ナンバー.Text) >= 11 And (ナンバー.Text) <= 20 Then Range("A3:C3").Value = Range("B16:D16").Value Else ' End If End Sub

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

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

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

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

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

m.ts10806

2018/05/26 01:12

データはどこにどのように持っているのでしょうか?今のところほとんど処理を書かれてないようですが、何かしら調べて、やってみたのでしょうか?今のところほぼ丸投げなので回答が得られにくいのではと思います。
退会済みユーザー

退会済みユーザー

2018/05/26 10:25

はじめまして。失礼いたしました、ご指摘ありがとうございます。
guest

回答2

0

※回答というより指摘に近いですが…
【1】
IFの中身が
「1以上、違ったら10以上…」と、範囲が狭くなっていますが
逆ではないでしょうか?
つまり「10以上、違ったら1以上…」としないと、すべて「1以上」で該当してしまうような気がします。

【2】
Range("A3:C3").Value = "B16:D16"
この部分は、"B16:D16"ではなく、「Range(”B16:D16”).value」
ではないでしょうか?

投稿2018/05/26 14:29

ptk3

総合スコア27

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

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

退会済みユーザー

退会済みユーザー

2018/05/26 22:52

こんにちは。 ご指摘ありがとうございます。修正をしました。 いろいろ試しているのですが、エクセルシートに反映されません。 何かおかしな個所があればご指摘いただければと存じます。
ptk3

2018/05/26 23:34

Sub if_jirei_4() ElseIf ナンバー.Text >= 10 Then おそらくここもおかしいですね。。 Sub不要で、最初のElseIFがIFでしょうか?
退会済みユーザー

退会済みユーザー

2018/05/29 23:26

ご指摘ありがとうございます。 感謝です。
guest

0

ベストアンサー

そういう条件判定には Select Case を使うべきです

Select Case ナンバー.Text
Case 1 to 10
_[処理A]
Case 11 to 20
_[処理B]
Case 21 to 30
_[処理C]
Case Else
_[処理X]
End Select

かつ、デバッグ操作を覚えなければ、バグの1つも直せやしませんよ。。。
ブレークポイント、ステップ実行(F8)、イミディエイトウィンドウ、プロパティウィンドウ。
ご自分で出来る事はまだまだあります。

で、[.Text]とあるように、テキストボックス中の値は、
「文字列」として扱われていたはずです。

対して、条件(1~10まで等)は、「数値」です。
どうすればいいかは、ご自分で考えてください。

投稿2018/05/28 01:22

ExcelVBAer

総合スコア1175

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

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

退会済みユーザー

退会済みユーザー

2018/05/29 23:25

ご指摘ありがとうございます。 よく考えてもう一度やってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問