EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
"Private Sub UserForm_Initialize()
For i = 1 To 100
ComboBox2.AddItem i
Next i
End Sub"
Code: Select all
Private Sub UserForm_Initialize()
With ComboBox2
.AddItem 10
.AddItem 20
.AddItem 30
End With
End Sub
Code: Select all
Private Sub UserForm_Initialize()
For i = 1 To 100
ComboBox2.AddItem i
Next i
End Sub
Code: Select all
Private Sub UserForm_Initialize()
For i = #1/1/2010# To #2/1/2010#
ComboBox2.AddItem i
Next i
End Sub
Code: Select all
Private Sub CommandButton1_Click()
Range("D4") = TextBox1.Text
End Sub
ใช้ได้ครับ แต่ที่ถามเป็นหัวข้อใหม่ครับsnasui wrote: คำตอบตามด้านบนใช้ได้หรือไม่ได้ควรแจ้งกลับด้วยครับ
Code ในไฟล์แนบเป็นตามภาพด้านล่าง ทั้งไม่มี CommandButton1 ให้คลิกเพื่อทดสอบ Codeyodpao.b wrote:Private Sub CommandButton1_Click()
Range("D4") = TextBox1.Text
End Sub
Code: Select all
Private Sub CommandButton1_Click()
Sheets("cal_1").Select
Range("B13") = CobBox15.Text
Range("B14") = CobBox16.Text
Range("B16") = CobBox21.Text
Range("B18") = DateSerial(Year(Date) + 543, Month(Date), Day(Date))
Unload Me
End Sub
Code: Select all
Private Sub CommandButton1_Click()
Sheets("cal_1").Select
Range("B13") = CobBox15.Text
Range("B14") = CobBox16.Text
Range("B16") = CobBox21.Text
Range("B18") = Date
Unload Me
End Sub
Code: Select all
Private Sub CommandButton1_Click()
Sheets("cal_1").Select
Range("B13") = CobBox15.Text
Range("B14") = CobBox16.Text
Range("B16") = DateSerial(Year(CDate(CobBox21)), Month( _
CDate(CobBox21)), Day(CDate(CobBox21)))
Range("B18") = "=TODAY()"
Unload Me
End Sub
Code: Select all
Range("B18") = DateSerial(Year(Date) + 543, Month(Date), Day(Date))
Code: Select all
Range("B16") = DateSerial(Year(CDate(CobBox21)), Month( _
CDate(CobBox21)), Day(CDate(CobBox21)))
Code: Select all
Private Sub CobBox15_Change()
MyCobBox15 = CobBox15.Text
Range("K6").Select
Do While ActiveCell.Value <> MyCobBox15
ActiveCell.Offset(1, 0).Select
Loop
Do While Not IsEmpty(ActiveCell.Value)
CobBox16.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
MyCobBox15 = CobBox15.Text ' code นี้ที่สั่งให้ CobBox21 ทำงาน
Range("K6").Select
Do While ActiveCell.Value <> MyCobBox15
ActiveCell.Offset(1, 0).Select
Loop
Do While Not IsEmpty(ActiveCell.Value)
CobBox21.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Range("B18") ใช้คำสั่ง Now() จะได้วันที่ที่เป็นปี ค.ศ. มีลักษณะเป็น Number หากต้องการทำให้เป็นปีพ.ศ.ต้องเอา 543 ไปบวกที่ส่วนของปีครับyodpao.b wrote:1. จาก Code ด้านบน Range("B18") จำนวนปี บวกด้วย 543 จึงได้เป็น พ.ศ. และทำไม Range("B16") Year(CDate (CobBox21) ถึงไม่ ลบด้วย 543
ก็ต้องบอกโปรแกรมครับว่าเงื่อนไขคือนำวันที่น้อยกว่าหรือเท่ากับค่าวันหมดคำสั่งไปใช้ ตัวอย่างเช่นyodpao.b wrote:2. จากรูปด้านล่าง วันแรกเริ่มที่ 8 ม.ค.2554 วันหมดคำสั่งสิ้นสุดที่ 13 ม.ค.2554
ขอถามว่า " วันที่ปฏิบัติงานล่วงเวลา " สามารถให้สิ้นสุดที่ วันที่คำสั่งหมด ได้ไหมครับ
Code: Select all
Do While Not IsEmpty(ActiveCell.Value)
If ActiveCell <= CobBox16.Text Then
CobBox21.AddItem ActiveCell.Value
End If
ActiveCell.Offset(1, 0).Select
Loop
Code: Select all
Do While Not IsEmpty(ActiveCell.Value)
If ActiveCell <= CobBox16.Text Then
CobBox21.AddItem ActiveCell.Value
End If
ActiveCell.Offset(1, 0).Select
Loop
Code: Select all
Private Sub CobBox15_Change()
'MyCobBox15 = CobBox15.Text
Range("K6").Select
'Do While ActiveCell.Value <> MyCobBox15
' ActiveCell.Offset(1, 0).Select
'Loop
Do While Not IsEmpty(ActiveCell.Value)
If CDate(ActiveCell.Value) >= CDate(CobBox15.Text) Then
CobBox16.AddItem ActiveCell.Value
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Private Sub CobBox16_Change()
'MyCobBox15 = CobBox15.Text
Range("K6").Select
'Do While ActiveCell.Value <> MyCobBox15
' ActiveCell.Offset(1, 0).Select
'Loop
Do While Not IsEmpty(ActiveCell.Value)
If CDate(ActiveCell.Value) >= CDate(CobBox15.Text) And _
CDate(ActiveCell.Value) <= CDate(CobBox16.Text) Then
CobBox21.AddItem ActiveCell.Value
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub