Page 2 of 2

Re: อยากให้ sheets รับค่าจากtext box

Posted: Fri Aug 17, 2012 12:38 pm
by Sangkate
อาจารย์ครับ ถ้าอยากให้มัน Auto save แบบยิงบาร์โค๊ด( keydown)โดยไม่ต้องมีปุ่มคอย Save หรือกด Enter ละครับ แบบว่ามี textbox เดียวเพื่อเก็บข้อมูลที่ป้อนเข้าไป

Re: อยากให้ sheets รับค่าจากtext box

Posted: Fri Aug 17, 2012 2:04 pm
by bank9597
:D ลองดูไฟล์แนบครับ

คีย์รหัสหรือชื่อ 1 ครั้ง ก็เท่ากับบันทึกข้อมูล 1 บรรทัด

Re: อยากให้ sheets รับค่าจากtext box

Posted: Sat Aug 18, 2012 9:59 am
by hinokia7210
bank9597 wrote::D เข้าไปใน VBE โดยกด Alt+F11

ไปที่ Insert เลือก Module เอาโค๊ดนี้ไปวาง

Code: Select all

Sub FormShow()
    กรอกข้อมูล.Show

End Sub
แนะนำให้เปลี่ยนชื่อฟอร์มเป็นภาษาอังกฤษ

กลับมาที่ชีท Data คลิ๊กขวาที่ปุ่ม "กรอกข้อมูล" เลือก Assign Macro จากนั้นเลือกที่ FormShow แล้ว OK

ทดสอบคลิ๊กปุ่ม
ลองเขียนโค้ดแล้วค่ะ (ลองก๊อบจากด้านบนไปใส่) ลองทำแล้ว มันออกให้ค่ะ
แต่ว่ามันไม่เรียงลำดับกันจากด้านบนลงมา ต้องแก้ที่ตรงไหนคะ รบกวนช่วยอธิบาย
โค้ดแต่ละบรรทัดให้ปรับใช้ได้มั้ยคะ ถ้าอยากจะเพิ่ง box ขึ้นมา

2. เวลาเข้าใช้กับวันที่ สามารถปรับแก้ไขให้ไม่เปลี่ยนทุกบรรทัดได้มั้ยคะ จริงๆ มันก็น่าจะแค่ cell ใคร cell มัน

ขอบคุณค่ะ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Sat Aug 18, 2012 11:17 am
by snasui
:D คุณ hinokia7210 ช่วยตั้งกระทู้ใหม่เป็นของตัวเอง เนื่องจากเจ้าของกระทู้ยังใช้กระทู้ของตัวเองถามเรื่องที่เกี่ยวเนื่องต่อไป เพื่อไม่ให้เป็นการรบกวนกัน จึงควรตั้งกระทู้ใหม่ครับ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Sat Aug 18, 2012 1:25 pm
by bank9597
ลองเขียนโค้ดแล้วค่ะ (ลองก๊อบจากด้านบนไปใส่) ลองทำแล้ว มันออกให้ค่ะ
แต่ว่ามันไม่เรียงลำดับกันจากด้านบนลงมา ต้องแก้ที่ตรงไหนคะ รบกวนช่วยอธิบาย
โค้ดแต่ละบรรทัดให้ปรับใช้ได้มั้ยคะ ถ้าอยากจะเพิ่ง box ขึ้นมา

2. เวลาเข้าใช้กับวันที่ สามารถปรับแก้ไขให้ไม่เปลี่ยนทุกบรรทัดได้มั้ยคะ จริงๆ มันก็น่าจะแค่ cell ใคร cell มัน

ขอบคุณค่ะ
เห็นด้วยตามอาจารย์คนควนบอกไว้ครับ ลองตั้งกระทู้ใหม่ แล้วผมจะช่วยดูให้อีกแรงนึงครับ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Sat Aug 18, 2012 4:12 pm
by Sangkate
อาจารย์ครับตอนนี้ผมต่อยอดได้แล้วกำลังลองทำแต่มีเรื่องถามว่าใน VB ของExcell 2007 ธรรมดาแล้วตรงTextbox อยากให้แสดงเวลาปัจุบันไม่ทราบว่ามี toolหรือต้องดาวน์โหลดมาครับ เดี่ยวรอบหน้าจะแนบฟอร์มมาให้อาจารย์ comment นะครับ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Sat Aug 18, 2012 4:32 pm
by snasui
:D กรณีต้องการให้แสดงเวลาปัจจุบันสามารถใช้ Time เข้ามาช่วยได้ครับ เช่น
TextBox1 = Time

Re: อยากให้ sheets รับค่าจากtext box

Posted: Tue Aug 21, 2012 1:19 pm
by Sangkate
ทำให้เป็น text ที่แสดงแล้วแต่อยากให้เป็น เหมือน timer โชว์เวลาเดินตลอดเช่น 12.20.35 ใน VB ของ excell 2007 ,มีหรือเป่ลาครับอาจารย์

,Private Sub Txtdate_Change()
Txtdate = Date
Txttime = time
End Sub

Re: อยากให้ sheets รับค่าจากtext box

Posted: Tue Aug 21, 2012 8:03 pm
by Sangkate
เรียน อาจารย์ เรื่องtext การรับข้อมูลตอนนี้ผมพอเข้าใจและกำลังลองเขียนหลายๆแบบ สั้นๆเพื่อฝึกความเข้าใจ ในอีกด้านหนึ่งผมก็ลองเขียน textที่เรียกข้อมูลมาโชว์. ตัวอย่างการค้นหา โดยใช้ part number แล้วให้มาแสดง location ที่เก็บ แต่พยายามอยู่ 2 ชั่วโมงก็ไม่เห็นแสงสว่างเลย ก็ต้องขอSample สั้นๆเช่นเคยจะเอามาต่อยอดเพื่อพัฒนากับรูปแบบอื่น

Re: อยากให้ sheets รับค่าจากtext box

Posted: Tue Aug 21, 2012 8:14 pm
by snasui
Sangkate wrote:ทำให้เป็น text ที่แสดงแล้วแต่อยากให้เป็น เหมือน timer โชว์เวลาเดินตลอดเช่น 12.20.35 ใน VB ของ excell 2007 ,มีหรือเป่ลาครับอาจารย์

,Private Sub Txtdate_Change()
Txtdate = Date
Txttime = time
End Sub
:D สามารถใช้ Application.Ontime เข้ามาช่วยได้ ลองดูที่นี่ครับ http://www.snasui.com/viewtopic.php?f=3&t=555&start=20
Sangkate wrote:เรียน อาจารย์ เรื่องtext การรับข้อมูลตอนนี้ผมพอเข้าใจและกำลังลองเขียนหลายๆแบบ สั้นๆเพื่อฝึกความเข้าใจ ในอีกด้านหนึ่งผมก็ลองเขียน textที่เรียกข้อมูลมาโชว์. ตัวอย่างการค้นหา โดยใช้ part number แล้วให้มาแสดง location ที่เก็บ แต่พยายามอยู่ 2 ชั่วโมงก็ไม่เห็นแสงสว่างเลย ก็ต้องขอSample สั้นๆเช่นเคยจะเอามาต่อยอดเพื่อพัฒนากับรูปแบบอื่น
สำหรับ Code ที่แนบมา ยังไม่พบว่ามี Code สำหรับการค้นหาครับ แนบไฟล์ที่ได้ลองเขียนมาแล้วด้วยครับ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Thu Sep 13, 2012 7:38 pm
by Sangkate
อาจารย์ขอรับ วันนี้รบกวนอาจารย์ดูตรงที่มันdebug ที่บอกว่า irow= 0 จริงๆแล้วมันต้องแก้อย่างไรและช่วยอธิบายเป็นภาษาพูด(เช่น irow คือค่า จากcellที่...ถึงcell...ป เพื่อจะได้เข้าใจง่าย(ตอนนี้ผมพยายามอ่านภาษา VB ให้เป็นภาษาเขียน)แล้วอย่าลืมแก้ให้ด้วยนะครับเอา 3 text ก็พอ แฮ่ะๆ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Thu Sep 13, 2012 8:22 pm
by snasui
:D ที่ Debug แก้ Code ให้เป็นตามด้านล่างครับ

จาก

Code: Select all

 irow = ws.Cells(Row.Count, 2).End(xlUp).Offset(1, 0).Row
เป็น

Code: Select all

 irow = ws.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row

Re: อยากให้ sheets รับค่าจากtext box

Posted: Fri Sep 14, 2012 11:05 am
by Sangkate
ขอบคุณมากครับอาจารย์(รู้สึกว่าผมอ่อนหัดจริงๆ)ต้องรบกวนสอนหน่อยนะครับ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Fri Sep 14, 2012 11:18 am
by snasui
:D ค่อย ๆ เรียนรู้และฝึกฝนไปครับ เรื่อง Programming ไม่ง่ายนัก ต้องขออภัยที่ผมไม่สามารถเขียนอธิบายแต่ละบรรทัดของ Code ได้ เนื่องจากต้องใช้เวลากับการทำเช่นนั้น ผมจึงเน้นแก้ปัญหา ติดตรงไหนแล้วถามตรงนั้น

Re: อยากให้ sheets รับค่าจากtext box

Posted: Fri Sep 14, 2012 11:32 am
by Sangkate
ขอบคุณจริงๆ ครับ อีกนิดหนึ่งครับ การใช้งานของฟอร์มต้องเปิด Excell ก่อนเสมอหรือครับให้เห็นแต่ฟอร์มโดยไม่แสดงซีทที่เก็บข้อมูลได้ไหมครับอาจารย์

Re: อยากให้ sheets รับค่าจากtext box

Posted: Fri Sep 14, 2012 11:35 am
by snasui
:D จำเป็นต้องเปิด Excel ไว้ก่อนเสมอหากเขียน Code ใน Excel เพราะเป็น Host หรือเป็นที่เก็บของ Code ไม่เช่นนั้นต้องเขียน Code ไว้ในโปรแกรมอื่นเพื่อเรียก Excel

ส่วนชีท จำเป็นต้องเปิดไว้อย่างน้อย 1 ชีทแต่จะย่อให้เล็กก็ทำได้ เป็นข้อจำกัดที่ไม่สามารถซ่อนทุกชีทได้พร้อมกัน

Re: อยากให้ sheets รับค่าจากtext box

Posted: Mon Sep 24, 2012 4:48 pm
by Sangkate
รบกวนอาจารย์ผมต้องการให้ file sheet(OM1) หรือ workbook นี้ Save โดยไม่ต้องคอย save เมื่อจะปิด file ทำไมใช้ ws.Save หรือครับ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Mon Sep 24, 2012 5:18 pm
by snasui
:D เมื่อจะปิดไฟล์แล้วให้ Save สามารถเขียน Code ที่ ThisWorkbook เป็นตามด้านล่างครับ

Code: Select all

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ThisWorkbook.Save
End Sub

Re: อยากให้ sheets รับค่าจากtext box

Posted: Wed Apr 12, 2017 12:49 am
by jariiz
bank9597 wrote::D โดยกฏแล้ว หากถามเรื่อง VBA จำเป็นต้องเขียนมาเองก่อนเสมอ เพราะจะสามารถปรับเองได้บ้างในเวลาเกิดปัญหา

แต่ที่ถามมาไม่ยากมาก เลยมีตัวอย่างให้ศึกษาดูครับ
ทำไมลองโหลดไฟล์ไปดูแล้วรันดูไม่ได้อ่ะคะ

Re: อยากให้ sheets รับค่าจากtext box

Posted: Mon Apr 17, 2017 2:52 pm
by snasui
:D คำว่า "อ่ะคะ" ใช้คำว่า "คะ" แทน อ่านกฎการใช้บอร์ดข้อ 1 ด้านบนประกอบ

ช่วยจับภาพที่แสดงปัญหาว่า Run ไม่ได้มาด้วยจะได้ช่วยดูได้ครับ