Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8366 / 13646 ツリー ←次へ | 前へ→

【33275】ユーザーフォームについて りょう 06/1/7(土) 9:20 質問[未読]
【33279】Re:ユーザーフォームについて Statis 06/1/7(土) 10:19 発言[未読]
【33280】Re:ユーザーフォームについて りょう 06/1/7(土) 10:33 質問[未読]
【33282】Re:ユーザーフォームについて Statis 06/1/7(土) 10:43 回答[未読]
【33286】Re:ユーザーフォームについて りょう 06/1/7(土) 13:09 お礼[未読]
【33715】Re:ユーザーフォームについて りょう 06/1/18(水) 18:39 質問[未読]
【33716】Re:ユーザーフォームについて Statis 06/1/18(水) 18:53 回答[未読]
【33722】Re:ユーザーフォームについて りょう 06/1/19(木) 10:09 質問[未読]
【33726】Re:ユーザーフォームについて Statis 06/1/19(木) 13:18 発言[未読]
【33735】Re:ユーザーフォームについて りょう 06/1/19(木) 17:49 質問[未読]
【33736】Re:ユーザーフォームについて りょう 06/1/19(木) 17:52 発言[未読]
【33738】Re:ユーザーフォームについて Statis 06/1/19(木) 18:25 回答[未読]
【33741】Re:ユーザーフォームについて りょう 06/1/19(木) 19:10 お礼[未読]

【33275】ユーザーフォームについて
質問  りょう  - 06/1/7(土) 9:20 -

引用なし
パスワード
   ユーザーフォームを作成していますが、シートに表示ができません。どこが悪いのか教えていただけますか?

Private Sub OKボタン_Click()
Worksheets("Sheet1").Activate
If TextBox1.発行No.Value = "" Then
  MsgBox "発行No.が空白です"
  Exit Sub
Else

  発行No.ControlSource = "H1"
End If

【33279】Re:ユーザーフォームについて
発言  Statis  - 06/1/7(土) 10:19 -

引用なし
パスワード
   ▼りょう さん:
こんにちは
>ユーザーフォームを作成していますが、シートに表示ができません。どこが悪いのか教えていただけますか?
>
>Private Sub OKボタン_Click()
>Worksheets("Sheet1").Activate
> If TextBox1.発行No.Value = "" Then
>  MsgBox "発行No.が空白です"
>  Exit Sub
> Else
>
>  発行No.ControlSource = "H1"
> End If

何が表示出来ないのですか?
「発行No」でなんですか?
何をしたいのでしょうか?

【33280】Re:ユーザーフォームについて
質問  りょう  - 06/1/7(土) 10:33 -

引用なし
パスワード
   >
>何が表示出来ないのですか?
>「発行No」でなんですか?
>何をしたいのでしょうか?

そうですよね。スミマセン(^-^;)
しかもわかりにくく書いてました。下記に書き直してみました。

Sheet1の"H1"にテキストボックスに書いた数字(例06−1)を反映させたいんです。
ユーザーフォームの中に、チャックボックスやコンボボックスも入っていて、最後にOKボタン(コマンドボタン)を押すとシートの指定したセルに全て反映させられるユーザーフォームを作っているんですがその一部分です。(全部反映できないんですが)
Private Sub OKボタン_Click()
  Worksheets("作成").Activate
  If UserForm1.TextBox1.Value = "" Then
    MsgBox "TextBox1.が空白です"
    Exit Sub
  Else

    TextBox1.ControlSource = "H1"
  End If
End Sub

【33282】Re:ユーザーフォームについて
回答  Statis  - 06/1/7(土) 10:43 -

引用なし
パスワード
   こんにちは

>Sheet1の"H1"にテキストボックスに書いた数字(例06−1)を反映させたいんです。

Private Sub OKボタン_Click()
  If Me.TextBox1.Value = "" Then
   MsgBox "TextBox1が空白です"
   Exit Sub
  Else
   Worksheets("作成").Range("H1").Value=Me.TextBox1.Text
  End If
End Sub

【33286】Re:ユーザーフォームについて
お礼  りょう  - 06/1/7(土) 13:09 -

引用なし
パスワード
   Statis さん
ありがとうございました。ちゃんと反映させることができました。。
本にcontrolsourceを使うと・・・と書いてあったのでちょっと執着しすぎちゃったみたいです。。助かりましたあ(^-^)/

【33715】Re:ユーザーフォームについて
質問  りょう  - 06/1/18(水) 18:39 -

引用なし
パスワード
   また悩んでしまいました。。
CheckBox1を選択して、ComboBox1で”バラ”を選択するとComboBox2の選択肢はバラの種類のみ表示。ComboBox1で”ガーベラ”を選択するとComboBox2の選択肢はガーベラの種類のみ表示。ComboBox1にはCheckBox2を選択したときに使用する木の種類も入っているので、それを選択した場合はMsgを出すようにしたいのですが、下記のでやるとComboBox2が表示されません。
どこが間違っているのでしょうか?

Private Sub CheckBox1_Click()
  Me.ComboBox2.Clear
  If Me.CheckBox1 And UserForm1.ComboBox1 = "バラ" Then
    Me.ComboBox2.AddItem "赤のバラ"
    Me.ComboBox2.AddItem "黄色のバラ"
  ElseIf Me.CheckBox1 And UserForm1.ComboBox1 = "ガーベラ" Then
    Me.ComboBox2.AddItem "赤のガーベラ"
    Me.ComboBox2.AddItem "黄色のガーベラ"
  Else
   MsgBox "選択が間違っています"
  End If
End Sub

【33716】Re:ユーザーフォームについて
回答  Statis  - 06/1/18(水) 18:53 -

引用なし
パスワード
   こんばんは

これで如何かな?

Private Sub CheckBox1_Click()
  Me.ComboBox2.Clear
  If Me.CheckBox1 Then
    Select Case Me.ComboBox1.Value
       Case "バラ"
          Me.ComboBox2.AddItem "赤のバラ"
          Me.ComboBox2.AddItem "黄色のバラ"
       Case "ガーベラ"
          Me.ComboBox2.AddItem "赤のガーベラ"
          Me.ComboBox2.AddItem "黄色のガーベラ"
       Case Else: MsgBox "選択が間違っています"
    End Select
  End If
End Sub

【33722】Re:ユーザーフォームについて
質問  りょう  - 06/1/19(木) 10:09 -

引用なし
パスワード
   Statis さんこんにちは

やってみたのですが、これだとCheckBox1を選択するときに”選択が間違っています”と出てしまいます。そしてComboBox1の表示も出ません。AddItemの量が50件位あるせいでしょうか?

>こんばんは
>
>これで如何かな?
>
>Private Sub CheckBox1_Click()
>  Me.ComboBox2.Clear
>  If Me.CheckBox1 Then
>    Select Case Me.ComboBox1.Value
>       Case "バラ"
>          Me.ComboBox2.AddItem "赤のバラ"
>          Me.ComboBox2.AddItem "黄色のバラ"
>       Case "ガーベラ"
>          Me.ComboBox2.AddItem "赤のガーベラ"
>          Me.ComboBox2.AddItem "黄色のガーベラ"
>       Case Else: MsgBox "選択が間違っています"
>    End Select
>  End If
>End Sub

【33726】Re:ユーザーフォームについて
発言  Statis  - 06/1/19(木) 13:18 -

引用なし
パスワード
   こんにちは
>やってみたのですが、これだとCheckBox1を選択するときに”
このイベントに記載したのは「りょうさん」が記載していたからですよ。

>選択が間違っています”と出てしまいます。そしてComboBox1の表示も出ません。AddItemの量が50件位あるせいでしょうか?

コンボボックス1の値が「バラ」、「ガーベラ」でないからです。

もし私なら、UserFormをShowするときに、配列変数に
コンボボックスの値を一気に取得してしまいます。

コンボボックスの値をセットするためにデータシートを
作った方が良いのではないでしょうか?

【33735】Re:ユーザーフォームについて
質問  りょう  - 06/1/19(木) 17:49 -

引用なし
パスワード
   こんばんは
ごめんなさい。前の質問に続けて質問書いた方がいいかと思ってつづけたら投稿するとこ間違えてました(>_<)"
前回Statisさんに教えていただいたイベントに、ComboBox1を追加したんです。

>
>コンボボックス1の値が「バラ」、「ガーベラ」でないからです。
>
>もし私なら、UserFormをShowするときに、配列変数に
>コンボボックスの値を一気に取得してしまいます。
>
>コンボボックスの値をセットするためにデータシートを
>作った方が良いのではないでしょうか?

データーのシート作成しました。シートをコンボボックスに表示させるのはどのようにしたらいいのでしょうか?スミマセン質問だらけで。本読んだんですけどよくわからなくて。。

【33736】Re:ユーザーフォームについて
発言  りょう  - 06/1/19(木) 17:52 -

引用なし
パスワード
   追記です。。
これは33395の質問の続きでした。。

【33738】Re:ユーザーフォームについて
回答  Statis  - 06/1/19(木) 18:25 -

引用なし
パスワード
   こんにちは

どのように作りましたか?

例:
  A    B   C  
1  AA   BB   CC   ←ComboBox1の値
2  AA_1  BB_1  CC_1  ←ComboBox2の値
3  AA_2  BB_2  CC_2     .
4  AA_3  BB_3  CC_3     .
5  AA_4  BB_4  CC_4     .

1行目をComboBox1にセット
ComboBox1の値により各列の2行目からのデータをComboBox2にセット

こんな感じです。

Dim Da As Variant

Private Sub ComboBox1_Change()
Dim i As Long, ii As Long
Me.ComboBox2.Clear
With Worksheets("Sheet1")
   For i = 1 To .Range("A1").End(xlToRight).Column
     If Me.ComboBox1.Value = Da(1, i) Then
      For ii = 2 To Cells(.Rows.Count, i).End(xlUp).Row
        Me.ComboBox2.AddItem Da(ii, i)
      Next ii
      Exit For
     End If
   Next i
End With
End Sub

Private Sub UserForm_Initialize()
Dim i As Long
With Worksheets("Sheet1")
   Da = Range("A1").CurrentRegion.Value
   For i = 1 To .Range("A1").End(xlToRight).Column
     Me.ComboBox1.AddItem Da(1, i)
   Next i
End With
End Sub

【33741】Re:ユーザーフォームについて
お礼  りょう  - 06/1/19(木) 19:10 -

引用なし
パスワード
   一列に全部品種を並べてしまったのでStatisさんの通りに変更したら
できましたあ!!!(^-^)/
す・・・すごく嬉しいです(p_-.)
ありがとうございました。以後も頑張ります!!

8366 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free