Page 1 of 1

ช่วยแนะนำข้อผิดพลาดของ code ที่ผมพึ่งหัดเขียนด้วยครับ [vba]

Posted: Tue Aug 07, 2018 9:43 pm
by tung6503
สวัสดีครับ
1.รบกวนช่วยตรวจสอบและแนะนำการเขียนcodeที่ผมหัดเขียนให้ด้วยครับ
2.ช่วยแนะนำวิธีการสร้างรายงานประจำเดือนจากข้อมูลใน sheet 1 ให้แสดงรายงานใน sheet 3 ตามแบบฟอร์มแยกเป็นคัน

Code: Select all

Private Sub CommandButton1_Click()
On Error Resume Next
Me.TextBox8 = (IIf(Me.TextBox7 = "", 0, Me.TextBox7) + 0) / (IIf(Me.TextBox6 = "", 0, Me.TextBox6) + 0)
Me.TextBox9 = (IIf(Me.TextBox5 = "", 0, Me.TextBox5) + 0) - (IIf(Me.TextBox4 = "", 0, Me.TextBox4) + 0)
     'แจ้งเตือน
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
If Application.CountIf(Range("B:B"), TextBox2.Text) > 0 Then
   MsgBox "กะบอกแล้วว่ามันช่ำกัน"
   Exit Sub
End If
'นำไปแสดง
Cells(emptyRow, 1).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value
Cells(emptyRow, 3).Value = ComboBox1.Value
Cells(emptyRow, 4).Value = TextBox4.Value
Cells(emptyRow, 5).Value = TextBox5.Value
Cells(emptyRow, 7).Value = TextBox6.Value
Cells(emptyRow, 8).Value = TextBox7.Value
Cells(emptyRow, 10).Value = ComboBox2.Value
Cells(emptyRow, 9).Value = TextBox8.Value
Cells(emptyRow, 6).Value = TextBox9.Value
'ลบในForm
TextBox1.Text = ""
TextBox2.Text = ""
ComboBox1.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
ComboBox2.Text = ""
TextBox8.Text = "0"
TextBox9.Text = "0"
End Sub
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'วันที่
On Error Resume Next
Me.TextBox1 = CDate(Me.TextBox1)

End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub TextBox4_Change()
On Error Resume Next
Call getsumoftbs
End Sub
Private Sub TextBox5_Change()
On Error Resume Next
Call getsumoftbs
End Sub
Private Sub TextBox7_Change()
Call getsumoftbs
End Sub
Private Sub TextBox6_Change()
Call getsumoftbs
End Sub
Sub getsumoftbs()
On Error Resume Next
Me.TextBox9 = (IIf(Me.TextBox5 = "", 0, Me.TextBox5) + 0) - (IIf(Me.TextBox4 = "", 0, Me.TextBox4) + 0)
Me.TextBox8 = (IIf(Me.TextBox7 = "", 0, Me.TextBox7) + 0) / (IIf(Me.TextBox6 = "", 0, Me.TextBox6) + 0)
Me.TextBox8 = Format(TextBox8, "0.00")
End Sub

Private Sub UserForm_Initialize()
Dim a As Integer
For a = 1 To 20
UserForm1.ComboBox1.AddItem Sheets(2).Cells(a, 1).Value
UserForm1.ComboBox2.AddItem Sheets(2).Cells(a, 3).Value
Next a
  
'ลงข้อมูลโชว์ในฟอร์ม

TextBox1.Value = ""
TextBox2.Value = ""
ComboBox1.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
ComboBox2.Value = ""
TextBox8.Value = "0"
TextBox9.Value = "0"
End Sub

ปล.ยังมีคำถามอีกสองสามข้อครับ

Re: ช่วยแนะนำข้อผิดพลาดของ code ที่ผมพึ่งหัดเขียนด้วยครับ [vba]

Posted: Tue Aug 07, 2018 10:03 pm
by snasui
:D กรุณาถามเฉพาะที่ติดปัญหาครับ

กรณี Code ทำงานได้ สามารถใช้ได้เลย ไม่ต้องกังวล ค่อย ๆ ปรับปรุงไปเรื่อย ๆ เมื่อมีความรู้ ความชำนาญเพิ่มขึ้นครับ

ในส่วนของการสร้างรายงาน ช่วยอธิบายมาพอสังเขปในช่องความเห็นนี้ด้วยครับว่ามีลักษณะเป็นอย่างไร

Re: ช่วยแนะนำข้อผิดพลาดของ code ที่ผมพึ่งหัดเขียนด้วยครับ [vba]

Posted: Wed Aug 08, 2018 11:24 am
by tung6503
ผมต้องการดึกข้อมูลออกมาสรุปเป็นรายเดือน ว่ารถแต่ละคันใช้น้ำมันไปเท่าไรต่อเดือน

Re: ช่วยแนะนำข้อผิดพลาดของ code ที่ผมพึ่งหัดเขียนด้วยครับ [vba]

Posted: Wed Aug 08, 2018 7:33 pm
by snasui
:D Sheet3 คอลัมน์ B เขียนเลขทะเบียนรถให้ตรงกับ Sheet1 คอลัมน์ C ทุกประการ ห้ามแตกต่างกันแม้แต่อักขระเดียว ไม่เช่นนั้นจะไม่ได้คำตอบ

ตัวอย่างการเขียนสุตรที่ Sheet3 เซลล์ D5 คีย์

=SUMIF(Sheet1!$C$2:$C$6,$B5,Sheet1!$H$2:$H$6)

Enter > Copy ลงด้านล่าง

Re: ช่วยแนะนำข้อผิดพลาดของ code ที่ผมพึ่งหัดเขียนด้วยครับ [vba]

Posted: Fri Aug 10, 2018 10:58 am
by tung6503
ขอบคุณครับ

ถามต่อยอดครับ จากสูตรที่อาจารย์ให้มา ในกรณีในsheet1เรามีข้อมูลหลายเดือนรวมกัน แล้วเราต้องการดึงข้อมูลเงื่อนไข ดังนี้ (รถคันนี้/ในเดือนนี้/มีการใช้น้ำมันไปกี่บาท?)

Re: ช่วยแนะนำข้อผิดพลาดของ code ที่ผมพึ่งหัดเขียนด้วยครับ [vba]

Posted: Sat Aug 11, 2018 7:23 am
by snasui
tung6503 wrote: Fri Aug 10, 2018 10:58 am ขอบคุณครับ

ถามต่อยอดครับ จากสูตรที่อาจารย์ให้มา ในกรณีในsheet1เรามีข้อมูลหลายเดือนรวมกัน แล้วเราต้องการดึงข้อมูลเงื่อนไข ดังนี้ (รถคันนี้/ในเดือนนี้/มีการใช้น้ำมันไปกี่บาท?)
:D กรุณาแนบไฟล์ล่าสุดมาใหม่พร้อมระบุตัวอย่างคำตอบที่ถูกต้องลงมาด้วย เพือนสมาชิกจะได้สะดวกต่อการทำความเข้าใจและตอบได้เร็วครับ