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 CommandButton1_Click()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Data")
Dim last_row As Long
last_row = Application.WorksheetFunction.CountA(sh.Range("a:a"))
'------------------------------------------------------------
If Me.TextBox1 = "" Then
MsgBox "คุณยังไม่กรอกวันที่", vbCritical
Me.TextBox1.SetFocus
Exit Sub
End If
'-----------------------------------------------------------------
sh.Range("A" & last_row + 1).Value = "=row()-1"
sh.Range("B" & last_row + 1).Value = TextBox1.Value
'-----------------------------------------------------------------
Me.TextBox1.Value = ""
Call Refresh_Data
End Sub
Code: Select all
'ดึงข้อมูลจาก listbox1 ไปแสดงที่ textbox1
Private Sub CommandButton2_Click()
If Me.TextBox2 = "" Then
MsgBox "กรุณาเลือกรายการที่จะแก้ไข และอัพเดต"
Exit Sub
End If
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Data")
Dim Selected_row As Long
Selected_row = Application.WorksheetFunction.Match(CLng(Me.TextBox2.Value), sh.Range("A:A"), 0)
'------------------------------------------------------------
If Me.TextBox1 = "" Then
MsgBox "คุณยังไม่กรอกวันที่", vbCritical
Me.TextBox1.SetFocus
Exit Sub
End If
'-----------------------------------------------------------------
sh.Range("B" & Selected_row).Value = Me.TextBox1
'-----------------------------------------------------------------
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Call Refresh_Data
End Sub
ตัวอย่าง Code ครับtigerwit wrote: Tue Apr 23, 2024 11:14 pm 1. ที่ textbox1 คีย์ข้อมูลเป็นวัน เดือน ่ปี แล้วคลิกปุ่ม add ส่งข้อมูลไปไว้ที่ชีท Data
ต้องเขียนโค๊ดอย่างไรให้ข้อมูลที่ส่งไปนั้นแสดงผลเป็วันเดือนปี ในแบบ วัน เดือน ปี พ.ศ.
Code: Select all
Dim arrDte As Variant
'Other code
arrDte = VBA.Split(TextBox1.Value, "/")
sh.Range("B" & last_row + 1).Value2 = DateSerial(arrDte(2), arrDte(1), arrDte(0)) 'TextBox1.Value
'Other code
ตัวอย่าง Code ครับtigerwit wrote: Tue Apr 23, 2024 11:14 pm 2. ที่ listbox1 เลือกดับเบิ้ลคลิกข้อมูลแถวใดแถวหนึ่ง ให้ไปแสดงที่ Textbox1 เพื่อแก้ไข และอัพเดต (ที่ปุ่มอัพเดต)
ต้องเขียนโค๊ดอย่างให้ข้อมูลที่เลือกไปแสดงใน textbox1 แสดงเป็นรูปแบบวันเดือนปี ค.ศ.
Code: Select all
Me.TextBox1.Value = VBA.Format(Me.ListBox1.List(Me.ListBox1.ListIndex, 1), "dd/mm/yyyy")