Excel VBAで小さなキャッシャープログラムを実行しようとしています。しかし、私は追加の注文を追加したい部分に固執しています。私のフォームには、4つのコンボボックスがあります。ドリンク、サイド、スペシャリティー、個人。私が達成したいのは、コンボボックスの値をフォーム内のリストボックスに追加し、追加ボタンをクリックすると、自分が持っているシート(「表1」)に追加することです。値がない場合、そのコンボボックスは無視され、次のチェックボックスがチェックされます。ここでVBA Excelを使用してデータを保存できません
は私のコードです:何が起こっている、私は値「SMBのBUCKET」と「ナチョス」を選択したと仮定すると、
Private Sub cmdadd_Click()
Range("A2").Select
If MsgBox("ADD ORDERS?", vbYesNo, "CONFIRMATION") = vbYes Then
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim ws1 As Worksheet
Dim lo As ListObject
Dim lr As ListRow
Set ws = Sheets("TABLE 1")
Set ws1 = Sheets("Overview")
ws.Unprotect "321321"
Set lo = ws.ListObjects(1)
Set lr = lo.ListRows.Add
lr.Range(1, 1).Value = Date
If cmbdrinks.Value = "SMB BUCKET" Then
lr.Range(1, 2).Value = cmbdrinks.Value
ListBox1.AddItem (cmbdrinks.Value)
txtbill.Value = txtbill.Value + 258
lr.Range(1, 3).Value = 258
lr.Range(1, 4).Value = Time
lr.Range(1, 4).NumberFormat = "h:mm:ss AM/PM"
lr.Range(1, 5).Value = ws1.Range("I4").Value
ElseIf cmbdrinks.Value = "SMB TOWER" Then
lr.Range(1, 2).Value = cmbdrinks.Value
ListBox1.AddItem (cmbdrinks.Value)
txtbill.Value = txtbill.Value + 288
lr.Range(1, 3).Value = 288
lr.Range(1, 4).Value = Time
lr.Range(1, 4).NumberFormat = "h:mm:ss AM/PM"
lr.Range(1, 5).Value = ws1.Range("I4").Value
If cmbside.Value = "NACHOS" Then
lr.Range(1, 2).Value = cmbside.Value
ListBox1.AddItem (cmbside.Value)
txtbill.Value = txtbill.Value + 58
lr.Range(1, 3).Value = 58
lr.Range(1, 4).Value = Time
lr.Range(1, 4).NumberFormat = "h:mm:ss AM/PM"
lr.Range(1, 5).Value = ws1.Range("I4").Value
ElseIf cmbside.Value = "FRENCH FRIES" Then
lr.Range(1, 2).Value = cmbside.Value
ListBox1.AddItem (cmbside.Value)
txtbill.Value = txtbill.Value + 48
lr.Range(1, 3).Value = 48
lr.Range(1, 4).Value = Time
lr.Range(1, 4).NumberFormat = "h:mm:ss AM/PM"
lr.Range(1, 5).Value = ws1.Range("I4").Value
Else
End If
Else
End If
は、私が「CMDADD」ボタンをクリックしたときに、それが格納されていることです私のリストボックスのデータには問題はなく、SMBバケットとNACHOSがリストされています。「TXTBILL」に表示されている価格も正しいです。しかし、私の最初のコンボボックスで「SMBバケット」を選択したにもかかわらず、私のシート「テーブル1」に保存されているデータには、この例では「NACHOS」という最後に追加したアイテムしか含まれていません。
私はステートメントを間違って入れ子にしていると思いますが、ループステートメントを使用する必要がありますか?誰かが私のこの小さなプロジェクトを通じて私を導くことができれば幸いです。私が望むことを達成するための簡単な方法があれば、私は非常に助けを感謝します!
ありがとうございます。