คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
ลองเอาไปดูเป็นแนว
ถ้าจะเอาไปใช้ ต้องอ่านดูก่อนนะ ต้องเติมคำใน message box ให้ถูก ถึงจะเอาไปใช้ได้
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้กดปุ่ม Alt+F11 เพื่อเปิดหน้า VBA
Click Insert ---> Click Module
แล้วเขียน Code ลงไปใน Module ที่สร้างขึ้น
Dim WithDraw As Variant
Dim Money As Variant
Sub TU_withdrawal()
AccNum = Range("E5").Value
Password = Range("E7").Value
WithDraw = Range("E9").Value
For i = 4 To 1048576 'ตัวเลขหลังจะใส่ให้เยอะเท่าไหร่ก็ได้ แต่ในที่นี้คือจำนวน row ที่มีสูงสุดใน excel
If Sheets("customer_data").Cells(i, 1).Value = 0 Then
MsgBox (".........")
Exit Sub
Else
End If
If Sheets("customer_data").Cells(i, 1).Value = AccNum Then
AccNumCheck = True
Else
AccNumCheck = False
End If
If AccNumCheck = True And Sheets("customer_data").Cells(i, 4).Value <> Password Then
MsgBox (".......")
Exit Sub
Else
End If
If AccNumCheck = True And Sheets("customer_data").Cells(i, 4).Value = Password Then
Call Calculation
Exit Sub
Else
End If
Next i
End Sub
Sub Calculation()
If WithDraw > Money Then
MsgBox (".........")
Exit Sub
Else
End If
If WithDraw > 20000 Then
MsgBox (".........")
Exit Sub
Else
End If
If WithDraw Mod 100 <> 0 Then
MsgBox (".........")
Exit Sub
Else
End If
MsgBox1 = WorksheetFunction.RoundDown(WithDraw / 1000, 0)
Remain = WithDraw - (MsgBox1 * 1000)
If Remain >= 500 Then
MsgBox2 = 1
MsgBox3 = (Remain - 500) / 100
Else
MsgBox2 = 0
MsgBox3 = Remain / 100
End If
MsgBox ".........." & MsgBox1 & "......." & MsgBox2 & ".........." & MsgBox3 & ".........."
End Sub
กลับมาที่ Excel Sheet ATM
Click ขวาที่ปุ่ม "OK" ที่สร้างไว้ ----> Assign Macro ----> เลือก Macro TU_withdrawal----> OK
ตอน save ก็ให้ save as เป็น excel macro enable-type workbook ด้วยนะ
ถ้าจะเอาไปใช้ ต้องอ่านดูก่อนนะ ต้องเติมคำใน message box ให้ถูก ถึงจะเอาไปใช้ได้
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้กดปุ่ม Alt+F11 เพื่อเปิดหน้า VBA
Click Insert ---> Click Module
แล้วเขียน Code ลงไปใน Module ที่สร้างขึ้น
Dim WithDraw As Variant
Dim Money As Variant
Sub TU_withdrawal()
AccNum = Range("E5").Value
Password = Range("E7").Value
WithDraw = Range("E9").Value
For i = 4 To 1048576 'ตัวเลขหลังจะใส่ให้เยอะเท่าไหร่ก็ได้ แต่ในที่นี้คือจำนวน row ที่มีสูงสุดใน excel
If Sheets("customer_data").Cells(i, 1).Value = 0 Then
MsgBox (".........")
Exit Sub
Else
End If
If Sheets("customer_data").Cells(i, 1).Value = AccNum Then
AccNumCheck = True
Else
AccNumCheck = False
End If
If AccNumCheck = True And Sheets("customer_data").Cells(i, 4).Value <> Password Then
MsgBox (".......")
Exit Sub
Else
End If
If AccNumCheck = True And Sheets("customer_data").Cells(i, 4).Value = Password Then
Call Calculation
Exit Sub
Else
End If
Next i
End Sub
Sub Calculation()
If WithDraw > Money Then
MsgBox (".........")
Exit Sub
Else
End If
If WithDraw > 20000 Then
MsgBox (".........")
Exit Sub
Else
End If
If WithDraw Mod 100 <> 0 Then
MsgBox (".........")
Exit Sub
Else
End If
MsgBox1 = WorksheetFunction.RoundDown(WithDraw / 1000, 0)
Remain = WithDraw - (MsgBox1 * 1000)
If Remain >= 500 Then
MsgBox2 = 1
MsgBox3 = (Remain - 500) / 100
Else
MsgBox2 = 0
MsgBox3 = Remain / 100
End If
MsgBox ".........." & MsgBox1 & "......." & MsgBox2 & ".........." & MsgBox3 & ".........."
End Sub
กลับมาที่ Excel Sheet ATM
Click ขวาที่ปุ่ม "OK" ที่สร้างไว้ ----> Assign Macro ----> เลือก Macro TU_withdrawal----> OK
ตอน save ก็ให้ save as เป็น excel macro enable-type workbook ด้วยนะ
▼ กำลังโหลดข้อมูล... ▼
แสดงความคิดเห็น
คุณสามารถแสดงความคิดเห็นกับกระทู้นี้ได้ด้วยการเข้าสู่ระบบ
กระทู้ที่คุณอาจสนใจ
อ่านกระทู้อื่นที่พูดคุยเกี่ยวกับ
ซอฟต์แวร์
Microsoft Office
การพัฒนาซอฟต์แวร์
วิทยาศาสตร์คอมพิวเตอร์
การพัฒนา Desktop Application
ใครเขียนโค๊ด VBA ในโปรแกรม Excel เป็นบ้าง ช่วยด้วย!!!
เราทำข้อหนึ่งกับข้อสองเรียบร้อยแล้ว
แต่ข้อสามนี่แหละ ทำไม่เป็น T^T ทำมาโครไม่ได้
พยายามหาคลิปโน่นนี้ดู หลายคลิป แล้วจะเอามาประยุกต์
แต่ก็ทำไม่ได้เหมือนเดิม
ใครทำได้ ช่วยบอกเราที บอกทีว่าทำยังไง
สอนวิธีทำอย่างละเอียดหน่อยน้า ต้องส่งวันที่ 27 นี้แล้ว
ช่วยที TT^TT ถ้าใครช่วยเราได้จะขอบคุณมากๆๆๆๆๆๆๆๆๆๆๆ เลย