Excel VBA質問箱 IV

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

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


51829 / 76736 ←次へ | 前へ→

【29763】Re:リストボックスからリストボックスへリスト移動時
質問  初心者  - 05/10/13(木) 10:25 -

引用なし
パスワード
   りんさん、おはようございます。
追記にて、大変失礼なことをしてしまい、
申し訳ありませんでした。
もし、愛想が尽きていないようでしたら、
ご教授、宜しくお願い致します。

作りたいマクロ。
マクドナルドの注文表みたいな感じです。
オプションボタンにチェックを入れることで、
リストボックスにて、ボタンに応じたリストが表示され、
複数セットしたリストボックスのリストを選択している状態で、
コマンドボタンを押すと、
テキストボックスへ合計を表示させる
ことが目的です。

用意したもの
リストボックス×5
テキストボックス×2
オプションボタン×16
コマンドボタン×6
イメージ×1

準備
データは、ワークシートを7シート使い、
1シート目は、コマンドボタンを設置し、
ユーザーフォームを表示させ、
選択したリストを表示させるために使います。
残り6シートは、
すべて項目+数字で構成されています。

不完全・長いマクロですが、
よろしくお願いします。

Private Sub CommandButton2_Click()
  Dim i As Long
  Dim u As Long
  Dim a As Long
  Dim b As Long
  Dim total As Long
  Dim c As Integer
  
  total = 0
  If ListBox1.Selected(i) = True Then
    i = Range("サンドイッチ!C3").Offset(ListBox1.ListIndex).Text
  Else
  i = 0
  End If
  If ListBox2.Selected(u) = True Then
    If サイドS = True Then
      u = Range("サイドメニュー!C4").Offset(ListBox2.ListIndex).Text
    ElseIf サイドM = True Then
      u = Range("サイドメニュー!D4").Offset(ListBox2.ListIndex).Text
    ElseIf サイドL = True Then
      u = Range("サイドメニュー!E4").Offset(ListBox2.ListIndex).Text
    End If
  Else
    u = 0
  End If
  If ListBox3.Selected(a) = True Then
  If ドリンクCOLD = True Then
    If ドリンクS = True Then
      a = Range("コールドドリンク!C4:C10").Offset(ListBox3.ListIndex).Text
    ElseIf ドリンクM = True Then
      a = Range("コールドドリンク!D4").Offset(ListBox3.ListIndex).Text
    ElseIf ドリンクL = True Then
      a = Range("コールドドリンク!E4").Offset(ListBox3.ListIndex).Text
    End If
  ElseIf ドリンクHOT = True Then
    a = Range("ホットドリンク!C4").Offset(ListBox3.ListIndex).Text
    If ドリンクM = True Then
      a = Range("ホットドリンク!D8").Offset(ListBox3.ListIndex).Text
    End If
  End If
  Else
    a = 0
  End If
  If ListBox5.List(c) = True Then
  If ListBox4.ListIndex = -1 Then Exit Sub
    For i = 0 To ListBox4.ListCount - 1
      If ListBox4.Selected(c) Then
      ListBox5.AddItem ListBox4.List(c)
      ListBox4.Selected(c) = False
    End If
  Next i
  Else
  c = 0
  End If
    total = total + i + u + a + b
    TextBox2.Text = total
  total = 0
  TextBox2.SetFocus
End Sub

Private Sub CommandButton4_Click()
  Dim a As Integer
  Dim b As Integer
  Dim c As Integer
  Dim e As Integer
  
  TextBox2 = ""
  
  If ListBox1.Selected(a) Then
    ListBox1.Selected(a) = False
  End If
  If ListBox2.Selected(b) Then
    ListBox2.Selected(b) = False
  End If
  If ListBox3.Selected(c) Then
    ListBox3.Selected(c) = False
  End If
  If ListBox5.Selected(e) Then
    ListBox5.Selected(e) = False
  End If
End Sub

Private Sub ListBox1_Change()
  Dim no As Variant
  Dim pname As String
  no = ListBox1.ListIndex
  
  TextBox1.Text = Range("サンドイッチ!C3").Offset(ListBox1.ListIndex).Text
  pname = "C:\Documents and Settings\kasahara\My Documents\笠原\excel\マック\menu" & Format(no, "00") & ".jpg"
  If Dir(pname) <> "" Then
    Image1.Picture = LoadPicture(pname)
  Else
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "\menu_03.gif")
  End If
End Sub

Private Sub ListBox2_Click()
  If サイドS = True Then
    TextBox1.Text = Range("サイドメニュー!C4").Offset(ListBox2.ListIndex).Text
  ElseIf サイドM = True Then
    TextBox1.Text = Range("サイドメニュー!D4").Offset(ListBox2.ListIndex).Text
  ElseIf サイドL = True Then
    TextBox1.Text = Range("サイドメニュー!E4").Offset(ListBox2.ListIndex).Text
  End If
End Sub

Private Sub ListBox3_Click()
  If ドリンクCOLD = True Then
    If ドリンクS = True Then
      TextBox1.Text = Range("コールドドリンク!C4").Offset(ListBox3.ListIndex).Text
    ElseIf ドリンクM = True Then
      TextBox1.Text = Range("コールドドリンク!D4").Offset(ListBox3.ListIndex).Text
    ElseIf ドリンクL = True Then
      TextBox1.Text = Range("コールドドリンク!E4").Offset(ListBox3.ListIndex).Text
    End If
  ElseIf ドリンクHOT = True Then
    TextBox1.Text = Range("ホットドリンク!C4").Offset(ListBox3.ListIndex).Text
    If ドリンクM = True Then
      TextBox1.Text = Range("ホットドリンク!D8").Offset(ListBox3.ListIndex).Text
    End If
  End If
End Sub

Private Sub ListBox4_Change()
  With ListBox4
    If .ListIndex >= 0 Then TextBox1.Text = ListBox5.Text
      If サイドCOLD = True Then
        If サイドサイズS = True Then
          TextBox1.Text = Range("追加決定!C22").Offset(ListBox4.ListIndex).Text
        ElseIf サイドサイズM = True Then
          TextBox1.Text = Range("追加決定!E22").Offset(ListBox4.ListIndex).Text
        ElseIf サイドサイズL = True Then
          TextBox1.Text = Range("追加決定!G22").Offset(ListBox4.ListIndex).Text
        End If
      ElseIf サイドHOT = True Then
        TextBox1.Text = Range("追加決定!C17").Offset(ListBox4.ListIndex).Text
        If サイドサイズM = True Then
          TextBox1.Text = Range("追加決定!E17").Offset(ListBox4.ListIndex).Text
        End If
      ElseIf サイドサンド = True Then
        TextBox1.Text = Range("追加決定!C3").Offset(ListBox4.ListIndex).Text
      ElseIf サイドサイド = True Then
        TextBox1.Text = Range("追加決定!I3").Offset(ListBox4.ListIndex).Text
        If サイドサイズS = True Then
          TextBox1.Text = Range("追加決定!C14").Offset(ListBox4.ListIndex).Text
        ElseIf サイドサイズM = True Then
          TextBox1.Text = Range("追加決定!E14").Offset(ListBox4.ListIndex).Text
        ElseIf サイドサイズL = True Then
          TextBox1.Text = Range("追加決定!G14").Offset(ListBox4.ListIndex).Text
        End If
      ElseIf サイド100 = True Then
        TextBox1.Text = Range("100円!C3").Offset(ListBox4.ListIndex).Text
      End If
  End With
End Sub

Private Sub ListBox5_Change()
  Dim Li2 As Integer
  With ListBox5
    Li2 = Val(.List(.ListIndex, 1))
  End With
  'エラー回避のため分岐
  If Li2 >= 0 Then ListBox4.ListIndex = Li2
  'TextBox1.Text = ListBox2.Text
End Sub
0 hits

【29677】リストボックスからリストボックスへリスト移動時 初心者 05/10/11(火) 17:29 質問
【29688】Re:リストボックスからリストボックスへ... hine 05/10/11(火) 20:15 発言
【29691】Re:リストボックスからリストボックスへリ... りん 05/10/11(火) 22:07 回答
【29703】Re:リストボックスからリストボックスへリ... 初心者 05/10/12(水) 9:08 質問
【29740】Re:リストボックスからリストボックスへリ... りん 05/10/12(水) 21:40 回答
【29763】Re:リストボックスからリストボックスへリ... 初心者 05/10/13(木) 10:25 質問
【29764】Re:リストボックスからリストボックスへリ... 初心者 05/10/13(木) 10:25 質問
【29704】Re:リストボックスからリストボックスへリ... 初心者 05/10/12(水) 9:13 質問
【29732】Re:リストボックスからリストボックスへリ... りん 05/10/12(水) 19:23 発言
【29760】Re:リストボックスからリストボックスへリ... 初心者 05/10/13(木) 9:35 発言

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