Page 1 of 1

สอบถามการส่งข้อมูลจาก textbox ใน userform ให้ไปลงในชีทที่กำหนดและให้รูปแบบเป็น วันเดือนปี

Posted: Tue Apr 23, 2024 11:14 pm
by tigerwit
จากไฟล์ที่แนบมา
1. ที่ textbox1 คีย์ข้อมูลเป็นวัน เดือน ่ปี แล้วคลิกปุ่ม add ส่งข้อมูลไปไว้ที่ชีท Data
ต้องเขียนโค๊ดอย่างไรให้ข้อมูลที่ส่งไปนั้นแสดงผลเป็วันเดือนปี ในแบบ วัน เดือน ปี พ.ศ.

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

2. ที่ listbox1 เลือกดับเบิ้ลคลิกข้อมูลแถวใดแถวหนึ่ง ให้ไปแสดงที่ Textbox1 เพื่อแก้ไข และอัพเดต (ที่ปุ่มอัพเดต)
ต้องเขียนโค๊ดอย่างให้ข้อมูลที่เลือกไปแสดงใน textbox1 แสดงเป็นรูปแบบวันเดือนปี ค.ศ.

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

Re: สอบถามการส่งข้อมูลจาก textbox ใน userform ให้ไปลงในชีทที่กำหนดและให้รูปแบบเป็น วันเดือนปี

Posted: Sat Apr 27, 2024 8:02 am
by snasui
tigerwit wrote: Tue Apr 23, 2024 11:14 pm 1. ที่ textbox1 คีย์ข้อมูลเป็นวัน เดือน ่ปี แล้วคลิกปุ่ม add ส่งข้อมูลไปไว้ที่ชีท Data
ต้องเขียนโค๊ดอย่างไรให้ข้อมูลที่ส่งไปนั้นแสดงผลเป็วันเดือนปี ในแบบ วัน เดือน ปี พ.ศ.
:D ตัวอย่าง Code ครับ

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
tigerwit wrote: Tue Apr 23, 2024 11:14 pm 2. ที่ listbox1 เลือกดับเบิ้ลคลิกข้อมูลแถวใดแถวหนึ่ง ให้ไปแสดงที่ Textbox1 เพื่อแก้ไข และอัพเดต (ที่ปุ่มอัพเดต)
ต้องเขียนโค๊ดอย่างให้ข้อมูลที่เลือกไปแสดงใน textbox1 แสดงเป็นรูปแบบวันเดือนปี ค.ศ.
ตัวอย่าง Code ครับ

Code: Select all

    Me.TextBox1.Value = VBA.Format(Me.ListBox1.List(Me.ListBox1.ListIndex, 1), "dd/mm/yyyy")

Re: สอบถามการส่งข้อมูลจาก textbox ใน userform ให้ไปลงในชีทที่กำหนดและให้รูปแบบเป็น วันเดือนปี

Posted: Sun May 05, 2024 11:36 am
by tigerwit
ขอบคุณครับ