snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Sangkate
Member
Posts: 38 Joined: Tue Aug 07, 2012 6:10 pm
#21
Post
by Sangkate » Fri Aug 17, 2012 12:38 pm
อาจารย์ครับ ถ้าอยากให้มัน Auto save แบบยิงบาร์โค๊ด( keydown)โดยไม่ต้องมีปุ่มคอย Save หรือกด Enter ละครับ แบบว่ามี textbox เดียวเพื่อเก็บข้อมูลที่ป้อนเข้าไป
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#22
Post
by bank9597 » Fri Aug 17, 2012 2:04 pm
ลองดูไฟล์แนบครับ
คีย์รหัสหรือชื่อ 1 ครั้ง ก็เท่ากับบันทึกข้อมูล 1 บรรทัด
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
hinokia7210
Member
Posts: 34 Joined: Wed Aug 15, 2012 8:40 am
#23
Post
by hinokia7210 » Sat Aug 18, 2012 9:59 am
bank9597 wrote: เข้าไปใน VBE โดยกด Alt+F11
ไปที่ Insert เลือก Module เอาโค๊ดนี้ไปวาง
Code: Select all
Sub FormShow()
กรอกข้อมูล.Show
End Sub
แนะนำให้เปลี่ยนชื่อฟอร์มเป็นภาษาอังกฤษ
กลับมาที่ชีท Data คลิ๊กขวาที่ปุ่ม "กรอกข้อมูล" เลือก Assign Macro จากนั้นเลือกที่ FormShow แล้ว OK
ทดสอบคลิ๊กปุ่ม
ลองเขียนโค้ดแล้วค่ะ (ลองก๊อบจากด้านบนไปใส่) ลองทำแล้ว มันออกให้ค่ะ
แต่ว่ามันไม่เรียงลำดับกันจากด้านบนลงมา ต้องแก้ที่ตรงไหนคะ รบกวนช่วยอธิบาย
โค้ดแต่ละบรรทัดให้ปรับใช้ได้มั้ยคะ ถ้าอยากจะเพิ่ง box ขึ้นมา
2. เวลาเข้าใช้กับวันที่ สามารถปรับแก้ไขให้ไม่เปลี่ยนทุกบรรทัดได้มั้ยคะ จริงๆ มันก็น่าจะแค่ cell ใคร cell มัน
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#24
Post
by snasui » Sat Aug 18, 2012 11:17 am
คุณ hinokia7210 ช่วยตั้งกระทู้ใหม่เป็นของตัวเอง เนื่องจากเจ้าของกระทู้ยังใช้กระทู้ของตัวเองถามเรื่องที่เกี่ยวเนื่องต่อไป เพื่อไม่ให้เป็นการรบกวนกัน จึงควรตั้งกระทู้ใหม่ครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#25
Post
by bank9597 » Sat Aug 18, 2012 1:25 pm
ลองเขียนโค้ดแล้วค่ะ (ลองก๊อบจากด้านบนไปใส่) ลองทำแล้ว มันออกให้ค่ะ
แต่ว่ามันไม่เรียงลำดับกันจากด้านบนลงมา ต้องแก้ที่ตรงไหนคะ รบกวนช่วยอธิบาย
โค้ดแต่ละบรรทัดให้ปรับใช้ได้มั้ยคะ ถ้าอยากจะเพิ่ง box ขึ้นมา
2. เวลาเข้าใช้กับวันที่ สามารถปรับแก้ไขให้ไม่เปลี่ยนทุกบรรทัดได้มั้ยคะ จริงๆ มันก็น่าจะแค่ cell ใคร cell มัน
ขอบคุณค่ะ
เห็นด้วยตามอาจารย์คนควนบอกไว้ครับ ลองตั้งกระทู้ใหม่ แล้วผมจะช่วยดูให้อีกแรงนึงครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Sangkate
Member
Posts: 38 Joined: Tue Aug 07, 2012 6:10 pm
#26
Post
by Sangkate » Sat Aug 18, 2012 4:12 pm
อาจารย์ครับตอนนี้ผมต่อยอดได้แล้วกำลังลองทำแต่มีเรื่องถามว่าใน VB ของExcell 2007 ธรรมดาแล้วตรงTextbox อยากให้แสดงเวลาปัจุบันไม่ทราบว่ามี toolหรือต้องดาวน์โหลดมาครับ เดี่ยวรอบหน้าจะแนบฟอร์มมาให้อาจารย์ comment นะครับ
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#27
Post
by snasui » Sat Aug 18, 2012 4:32 pm
กรณีต้องการให้แสดงเวลาปัจจุบันสามารถใช้ Time เข้ามาช่วยได้ครับ เช่น
TextBox1 = Time
Sangkate
Member
Posts: 38 Joined: Tue Aug 07, 2012 6:10 pm
#28
Post
by Sangkate » Tue Aug 21, 2012 1:19 pm
ทำให้เป็น text ที่แสดงแล้วแต่อยากให้เป็น เหมือน timer โชว์เวลาเดินตลอดเช่น 12.20.35 ใน VB ของ excell 2007 ,มีหรือเป่ลาครับอาจารย์
,Private Sub Txtdate_Change()
Txtdate = Date
Txttime = time
End Sub
You do not have the required permissions to view the files attached to this post.
Sangkate
Member
Posts: 38 Joined: Tue Aug 07, 2012 6:10 pm
#29
Post
by Sangkate » Tue Aug 21, 2012 8:03 pm
เรียน อาจารย์ เรื่องtext การรับข้อมูลตอนนี้ผมพอเข้าใจและกำลังลองเขียนหลายๆแบบ สั้นๆเพื่อฝึกความเข้าใจ ในอีกด้านหนึ่งผมก็ลองเขียน textที่เรียกข้อมูลมาโชว์. ตัวอย่างการค้นหา โดยใช้ part number แล้วให้มาแสดง location ที่เก็บ แต่พยายามอยู่ 2 ชั่วโมงก็ไม่เห็นแสงสว่างเลย ก็ต้องขอSample สั้นๆเช่นเคยจะเอามาต่อยอดเพื่อพัฒนากับรูปแบบอื่น
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#30
Post
by snasui » Tue Aug 21, 2012 8:14 pm
Sangkate wrote: ทำให้เป็น text ที่แสดงแล้วแต่อยากให้เป็น เหมือน timer โชว์เวลาเดินตลอดเช่น 12.20.35 ใน VB ของ excell 2007 ,มีหรือเป่ลาครับอาจารย์
,Private Sub Txtdate_Change()
Txtdate = Date
Txttime = time
End Sub
สามารถใช้ 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 สำหรับการค้นหาครับ แนบไฟล์ที่ได้ลองเขียนมาแล้วด้วยครับ
Sangkate
Member
Posts: 38 Joined: Tue Aug 07, 2012 6:10 pm
#31
Post
by Sangkate » Thu Sep 13, 2012 7:38 pm
อาจารย์ขอรับ วันนี้รบกวนอาจารย์ดูตรงที่มันdebug ที่บอกว่า irow= 0 จริงๆแล้วมันต้องแก้อย่างไรและช่วยอธิบายเป็นภาษาพูด(เช่น irow คือค่า จากcellที่...ถึงcell...ป เพื่อจะได้เข้าใจง่าย(ตอนนี้ผมพยายามอ่านภาษา VB ให้เป็นภาษาเขียน)แล้วอย่าลืมแก้ให้ด้วยนะครับเอา 3 text ก็พอ แฮ่ะๆ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#32
Post
by snasui » Thu Sep 13, 2012 8:22 pm
ที่ 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
Sangkate
Member
Posts: 38 Joined: Tue Aug 07, 2012 6:10 pm
#33
Post
by Sangkate » Fri Sep 14, 2012 11:05 am
ขอบคุณมากครับอาจารย์(รู้สึกว่าผมอ่อนหัดจริงๆ)ต้องรบกวนสอนหน่อยนะครับ
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#34
Post
by snasui » Fri Sep 14, 2012 11:18 am
ค่อย ๆ เรียนรู้และฝึกฝนไปครับ เรื่อง Programming ไม่ง่ายนัก ต้องขออภัยที่ผมไม่สามารถเขียนอธิบายแต่ละบรรทัดของ Code ได้ เนื่องจากต้องใช้เวลากับการทำเช่นนั้น ผมจึงเน้นแก้ปัญหา ติดตรงไหนแล้วถามตรงนั้น
Sangkate
Member
Posts: 38 Joined: Tue Aug 07, 2012 6:10 pm
#35
Post
by Sangkate » Fri Sep 14, 2012 11:32 am
ขอบคุณจริงๆ ครับ อีกนิดหนึ่งครับ การใช้งานของฟอร์มต้องเปิด Excell ก่อนเสมอหรือครับให้เห็นแต่ฟอร์มโดยไม่แสดงซีทที่เก็บข้อมูลได้ไหมครับอาจารย์
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#36
Post
by snasui » Fri Sep 14, 2012 11:35 am
จำเป็นต้องเปิด Excel ไว้ก่อนเสมอหากเขียน Code ใน Excel เพราะเป็น Host หรือเป็นที่เก็บของ Code ไม่เช่นนั้นต้องเขียน Code ไว้ในโปรแกรมอื่นเพื่อเรียก Excel
ส่วนชีท จำเป็นต้องเปิดไว้อย่างน้อย 1 ชีทแต่จะย่อให้เล็กก็ทำได้ เป็นข้อจำกัดที่ไม่สามารถซ่อนทุกชีทได้พร้อมกัน
Sangkate
Member
Posts: 38 Joined: Tue Aug 07, 2012 6:10 pm
#37
Post
by Sangkate » Mon Sep 24, 2012 4:48 pm
รบกวนอาจารย์ผมต้องการให้ file sheet(OM1) หรือ workbook นี้ Save โดยไม่ต้องคอย save เมื่อจะปิด file ทำไมใช้ ws.Save หรือครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#38
Post
by snasui » Mon Sep 24, 2012 5:18 pm
เมื่อจะปิดไฟล์แล้วให้ Save สามารถเขียน Code ที่
ThisWorkbook เป็นตามด้านล่างครับ
Code: Select all
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub
jariiz
Member
Posts: 2 Joined: Wed Apr 12, 2017 12:32 am
#39
Post
by jariiz » Wed Apr 12, 2017 12:49 am
bank9597 wrote: โดยกฏแล้ว หากถามเรื่อง VBA จำเป็นต้องเขียนมาเองก่อนเสมอ เพราะจะสามารถปรับเองได้บ้างในเวลาเกิดปัญหา
แต่ที่ถามมาไม่ยากมาก เลยมีตัวอย่างให้ศึกษาดูครับ
ทำไมลองโหลดไฟล์ไปดูแล้วรันดูไม่ได้อ่ะคะ
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#40
Post
by snasui » Mon Apr 17, 2017 2:52 pm
คำว่า "อ่ะคะ" ใช้คำว่า "คะ" แทน อ่านกฎการใช้บอร์ดข้อ 1 ด้านบนประกอบ
ช่วยจับภาพที่แสดงปัญหาว่า Run ไม่ได้มาด้วยจะได้ช่วยดูได้ครับ