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
:D การกรอกค่าใน 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 ใดครับ :mrgreen:

Re: การส่งค่าข้อมูล

Posted: Fri Nov 05, 2010 10:51 pm
by mooae
ไม่ทราบว่ามีตัวอย่าง งาน ประเภท คลังสินค้า หรือ ร้านขายหน้าร้าน ไหมคะ

อิอิ...ทำการบ้านไปไม่ถูกจิงๆค่ะ

Re: การส่งค่าข้อมูล

Posted: Sat Nov 06, 2010 7:23 am
by snasui
:D ผมใช้คอมพ์หลายเครื่อง แต่ละเครื่องก็อยู่ต่างที่กันไป สำหรับเครื่องที่เล่นอยู่นี้ไม่มีไฟล์เกี่ยวกับขายของหน้าร้านหรือสต็อคสินค้าครับ :mrgreen:

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
:D ลองดูการกำหนดค่าตามภาพด้านล่างครับ :mrgreen:

Re: การส่งค่าข้อมูล

Posted: Mon Nov 08, 2010 5:29 pm
by mooae
ขอบคุณค่ะแล้วด้านล่างนี่ทำไงหรอคะ ที่เป็นแถวอ่ะ....รบกวนอีกกนิด

Re: การส่งค่าข้อมูล

Posted: Mon Nov 08, 2010 5:31 pm
by snasui
:lol: ครับ...จากเดิมกำหนดเป็น a:h ถ้าจะกำหนดบรรทัดด้วยก็คีย์เป็นเช่น a1:h10 หมายความว่าให้เลือกได้เพียง a1:h10 เท่านั้น 8-)

Re: การส่งค่าข้อมูล

Posted: Mon Nov 08, 2010 5:42 pm
by snasui
:D คงต้องเขียน 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
:roll: สำหรับในฟอรัมพยายามงดใช้ภาษาแชทนะครับ

กรณี Code ไม่ทำงานอาจจะต้องเปลี่ยนตำแหน่งการวาง Code ครับ เนื่องจากว่ากำหนดให้ชีทนั้นถูกคลิกเลือกก่อน Code จึงทำงาน

สามารถเปลี่ยนใหม่เป็นเปิดไฟล์มาแล้ว Code ทำงานเลย โดยคีย์ Code ตามด้านล่างที่ ThisWorkbook แทนครับ :mrgreen:

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 เอง
:shock: ทำเป็นตัวอย่างข้อมูลมาแทน แต่ต้องเป็นตัวแทนของข้อมูลจริงได้ ไม่ต้องส่งข้อมูลจริงมาครับ ระบุให้ชัดเจนว่าต้องการให้เซลล์ไหนไปบันทึกที่ชีทไหน เซลล์ไหนครับ :mrgreen:

Re: การส่งค่าข้อมูล

Posted: Tue Nov 09, 2010 12:08 am
by mooae
ตัวอย่างค่ะ (ต้องขอโทษเรื่องการใช้ภาษาค่ะ )

Re: การส่งค่าข้อมูล

Posted: Tue Nov 09, 2010 11:38 am
by snasui
:D ลองดูตัวอย่างตามไฟล์แนบครับ

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