Page 1 of 1
ต้องการแปลงตัวเลขที่ได้จาก TEXTBOX
Posted: Fri Aug 30, 2013 2:08 pm
by teclub2006
เรียนผู้เชี่ยวชาญ ช่วยแนะนำครับ
พอดีว่าผมมีความต้องการในการกำหนดให้ตัวเลขที่ได้รับจาก Textbox ที่เป็นข้อความให้เป็นตัวเลขปกติครับ
ขอคำชี้แนะครับ
ข้อที่สองพอดีว่าผมเริ่มเขียน VBA นะครับ อยากได้คำแนะนำ เพราะว่าผมก็มีไฟล์ค่อนข้างหลายไฟล์ที่ทำตามความเข้าใจของตนเอง จึงอยากให้ผู้รู้ช่วยติชมผลงาน ไม่ทราบว่าผมสามารถนำผลงานมาแสดงได้ที่ไหนได้บ้างครับ
ขอบคุณล่วงหน้าครับ
หากผิดพลาดประการใดต้องขออภัย ไว้ ณ ที่นี้ด้วยครับ
Re: ต้องการแปลงตัวเลขที่ได้จาก TEXTBOX
Posted: Fri Aug 30, 2013 3:28 pm
by cannoi
ลองเปลี่ยนบรรทัดนี้ดูเผื่อได้
Code: Select all
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Re: ต้องการแปลงตัวเลขที่ได้จาก TEXTBOX
Posted: Fri Aug 30, 2013 4:30 pm
by niwat2811
ลองแบบนี้ว่าใช้ได้ไหมครับ
Code: Select all
Sub test1()
Dim rt As Range
Set rt = Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
rt = Sheets("Sheet1").OLEObjects("TextBox1").Object.Text
rt.HorizontalAlignment = xlCenter
rt.Offset(0, 1) = Sheets("Sheet1").OLEObjects("TextBox2").Object.Text
rt.Offset(0, 1).HorizontalAlignment = xlCenter
If Range("A12") = "" Then
Range("A12") = 1
Else
rt.Offset(0, -1) = rt.Offset(-1, -1) + 1
End If
With rt.Offset(0, -1).Resize(1, 3)
.NumberFormat = "0"
.HorizontalAlignment = xlCenter
.Borders.LineStyle = xlContinuous
End With
End Sub
Re: ต้องการแปลงตัวเลขที่ได้จาก TEXTBOX
Posted: Sat Aug 31, 2013 8:37 am
by teclub2006
niwat2811 wrote:ลองแบบนี้ว่าใช้ได้ไหมครับ
Code: Select all
Sub test1()
Dim rt As Range
Set rt = Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
rt = Sheets("Sheet1").OLEObjects("TextBox1").Object.Text
rt.HorizontalAlignment = xlCenter
rt.Offset(0, 1) = Sheets("Sheet1").OLEObjects("TextBox2").Object.Text
rt.Offset(0, 1).HorizontalAlignment = xlCenter
If Range("A12") = "" Then
Range("A12") = 1
Else
rt.Offset(0, -1) = rt.Offset(-1, -1) + 1
End If
With rt.Offset(0, -1).Resize(1, 3)
.NumberFormat = "0"
.HorizontalAlignment = xlCenter
.Borders.LineStyle = xlContinuous
End With
End Sub
ขอบคุณครับ แต่จะสะดวกไหมครับถ้าผมให้ช่วยอธิบายส่วนสำคัญของโค้ตนี้ครับ
Re: ต้องการแปลงตัวเลขที่ได้จาก TEXTBOX
Posted: Sat Aug 31, 2013 10:35 am
by snasui
เราสามารถติดตามการทำงานของ Code ได้เอง สงสัยตรงส่วนไหนแล้วค่อยถามมาดีกว่าครับ คำว่าส่วนสำคัญของ Code นั้น โดยหลักจะต้องสำคัญทุกบรรทัด ถ้าไม่สำคัญหรือไม่จำเป็นเราจะไม่เขียนลงไปครับ
สำหรับการติดตามการทำงานของ Code ให้เปิด Excel และ VBE ขึั้นมาพร้อมกันแล้วแบ่งหน้าจอให้เห็นเป็น 2 โปรแกรมคือ Excel และ VBE เพื่อที่จะได้เห็นว่า Code ใน VBE บรรทัดใดแสดงผลใน Excel เป็นอย่างไร จากนั้นให้คลิกที่ VBE แล้วกดแป้น F8 ซ้ำ ๆ เพื่อ Run Code ทีละ Step เมื่อ Run แล้วสังเกตดูการเปลี่ยนแปลงใน Excel
หากสงสัย Statement ใดค่อยถามกันแต่ไม่ควรให้แปลทุกบรรทัด (แต่ไม่ได้เป็นข้อห้ามหากท่านใดประสงค์จะแปลเพื่อเป็นวิทยาทาน) เนื่องจากการใช้งาน VBA ผู้ใช้จะต้องศึกษาเป็นเบื้องต้นมาด้วยตนเองก่อนครับ