Page 1 of 1
การส่งค่าข้อมูล
Posted: Fri Nov 05, 2010 2:24 pm
by mooae
1.อยากถามเรื่อง การส่งค่าข้อมูลอ่ะคะ ไม่รุว่าสามารถใช้วิธีไหนได้บ้าง
เช่น เรากรอกชื่อ ไว้ในเซลล์ A1 ชีท 1 แร้วอยากดึงข้อมูลจากอันนั้น มาไว้ในชีทที่2 จะทำอย่างไรคะ
2. ในexcel สามารถสร้างฟอร์มต่างๆได้มั้ยคะ เช่น list box , กล่องตอบโต้ข้อความ ประมาณนี้อ่ะ ค่ะ ไม่ทราบว่าอยู่ตรงไหน
รบกวนหน่อยนะคะ พอดีต้องทำคลังสินค้า ยังไม่รุว่าจะเริ่มตรงไหนดี
Re: การส่งค่าข้อมูล
Posted: Fri Nov 05, 2010 2:44 pm
by snasui
การกรอกค่าใน Sheet1 เซลล์ A1 แล้วให้ค่าไปอยู่ใน Sheet2 เซลล์ A1 ให้ทำตามนี้ครับ
1. คลิก Sheet2 เลือก A1 แล้วคีย์เครื่องหมาย =
2. คลิก Sheet1 เลือก A1 แล้วกดแป้น Enter
กรณีต้องการสร้างฟอร์มโต้ตอบกับผู้ใช้ต่าง ๆ Listbox, Combo Box โดยมี VBA เป็นตัวควบคุม ให้สร้างในโปรแกรม VBE ครับ การเข้าโปรแกรม VBE ให้กดแป้น Alt+F11 ต้องการปิด VBE แล้วกลับมายัง Excel กดแป้น Alt+Q
กรณีสร้างเป็น Object ใน Excel ต้องทราบก่อนว่าเป็น Excel Version ใดครับ
Re: การส่งค่าข้อมูล
Posted: Fri Nov 05, 2010 10:51 pm
by mooae
ไม่ทราบว่ามีตัวอย่าง งาน ประเภท คลังสินค้า หรือ ร้านขายหน้าร้าน ไหมคะ
อิอิ...ทำการบ้านไปไม่ถูกจิงๆค่ะ
Re: การส่งค่าข้อมูล
Posted: Sat Nov 06, 2010 7:23 am
by snasui
ผมใช้คอมพ์หลายเครื่อง แต่ละเครื่องก็อยู่ต่างที่กันไป สำหรับเครื่องที่เล่นอยู่นี้ไม่มีไฟล์เกี่ยวกับขายของหน้าร้านหรือสต็อคสินค้าครับ
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 3:44 pm
by mooae
แร้วหากเราจะfixหน้า ในexcel ตามที่เราต้องการ ไม่ให้มันเลื่อนไปอีก ได้มั้ยคะ เช่น คอลัมมี A- zzzzzz แต่เราจะเลือกแค่ A-H ได้มั้ยคะ
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 5:12 pm
by snasui
ลองดูการกำหนดค่าตามภาพด้านล่างครับ
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 5:29 pm
by mooae
ขอบคุณค่ะแล้วด้านล่างนี่ทำไงหรอคะ ที่เป็นแถวอ่ะ....รบกวนอีกกนิด
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 5:31 pm
by snasui
ครับ...จากเดิมกำหนดเป็น a:h ถ้าจะกำหนดบรรทัดด้วยก็คีย์เป็นเช่น
a1:h10 หมายความว่าให้เลือกได้เพียง a1:h10 เท่านั้น
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 5:42 pm
by snasui
คงต้องเขียน Macro เข้ามาช่วยครับ ไม่เช่นนั้นเปิดมาใหม่มันจะไม่มีผล ดูตัวอย่างการวาง Code ด้านล่างครับ
Code: Select all
Private Sub Worksheet_Activate()
ActiveSheet.ScrollArea = "$A$1:$H$10"
End Sub
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 11:14 pm
by mooae
ขอรบกวนอีกหน่อย...(คงจะอีกนานกว่าโปรเจกจะเสด เหอๆ)
คืออยากถามว่าเราจะส่งค่าข้อมูล จากหน้าร้านขาย จากตัวอย่างที่แนบ ถ้าเราจะทำให้มันส่งค่าข้อมูลไปบันทึก เป็นวันๆ ว่าวันนี้เราขายอะไรได้บ้าง จำนวนเท่าไร ไปเก็บไว้หน้าเปล่าอ่ะคะ จะทำได้ไหม แร้วก้อ วันที่ที่เป็นเหมือนปฏิทินนี่ทำยังไงหรอคะ
เยอะไปนิดนึง เหอๆ ....ยังไงก้อช่วยหน่อยนะคะ
ทามมายแนบไม่ได้อ่ะคะ แค่6M เอง
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 11:24 pm
by mooae
ส่งเป็นรูปมาแทนละกัน แร้วก้อ code lock scroll ใส่ตามนั้นใช่มั้ยคะ ทำไมหนูใส่แร้วมันไม่ล็อกอ่า
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 11:49 pm
by snasui
สำหรับในฟอรัมพยายาม
งดใช้ภาษาแชทนะครับ
กรณี Code ไม่ทำงานอาจจะต้องเปลี่ยนตำแหน่งการวาง Code ครับ เนื่องจากว่ากำหนดให้ชีทนั้นถูกคลิกเลือกก่อน Code จึงทำงาน
สามารถเปลี่ยนใหม่เป็นเปิดไฟล์มาแล้ว Code ทำงานเลย โดยคีย์ Code ตามด้านล่างที่ ThisWorkbook แทนครับ
Code: Select all
Private Sub Workbook_Open()
Worksheets("Sheet1").ScrollArea = "$A$1:$H$10"
End Sub
Re: การส่งค่าข้อมูล
Posted: Mon Nov 08, 2010 11:52 pm
by snasui
mooae wrote:ขอรบกวนอีกหน่อย...(คงจะอีกนานกว่าโปรเจกจะเสด เหอๆ)
คืออยากถามว่าเราจะส่งค่าข้อมูล จากหน้าร้านขาย จากตัวอย่างที่แนบ ถ้าเราจะทำให้มันส่งค่าข้อมูลไปบันทึก เป็นวันๆ ว่าวันนี้เราขายอะไรได้บ้าง จำนวนเท่าไร ไปเก็บไว้หน้าเปล่าอ่ะคะ จะทำได้ไหม แร้วก้อ วันที่ที่เป็นเหมือนปฏิทินนี่ทำยังไงหรอคะ
เยอะไปนิดนึง เหอๆ ....ยังไงก้อช่วยหน่อยนะคะ
ทามมายแนบไม่ได้อ่ะคะ แค่6M เอง
ทำเป็นตัวอย่างข้อมูลมาแทน แต่ต้องเป็นตัวแทนของข้อมูลจริงได้ ไม่ต้องส่งข้อมูลจริงมาครับ ระบุให้ชัดเจนว่าต้องการให้เซลล์ไหนไปบันทึกที่ชีทไหน เซลล์ไหนครับ
Re: การส่งค่าข้อมูล
Posted: Tue Nov 09, 2010 12:08 am
by mooae
ตัวอย่างค่ะ (ต้องขอโทษเรื่องการใช้ภาษาค่ะ )
Re: การส่งค่าข้อมูล
Posted: Tue Nov 09, 2010 11:38 am
by snasui
ลองดูตัวอย่างตามไฟล์แนบครับ
Code ใน Module1
Code: Select all
Sub PasteData()
Dim rSource As Range
Dim rTarget As Range
Application.ScreenUpdating = False
Set rSource = Sheets("Temp").Range("A2:E10")
Set rTarget = Sheets("Sheet2").Range("B65536").End(xlUp).Offset(1, 0)
rSource.Copy
rTarget.PasteSpecial xlPasteValues
Application.ScreenUpdating = True
MsgBox "Record Complete"
End Sub
Code ใน Sheet1
Code: Select all
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Calendar1
If ActiveCell.Address = "$E$8" Then
.Visible = True
.Top = ActiveCell.Offset(0, 0).Top
.Left = ActiveCell.Offset(0, 1).Left
Else
.Visible = False
End If
End With
End Sub
Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
End Sub