:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ถามเรื่อง list box กับ Text Box ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

ถามเรื่อง list box กับ Text Box ครับ

#1

Post by khainui »

1. ตามไฟล์ที่แนบ ผมยังหาวิธีนำข้อมูลจาก listbox audit_name

ไปวางที่ column e f g ใน sheet job ไม่ได้ครับ ต้องเขียนกำหนด ตัวแปรอย่างไรครับ ตอนนี้จะเป็นแค่ active cell

2. Text box Run_no ใช้วิธีดึงข้อมูลจาก cell a2 มา ต้องเขียนคำสั่งอย่างไรให้เหมือนกับสูตร lookup ใน ช่อง A2 ใน Textbox โดยตรงครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ถามเรื่อง list box กับ Text Box ครับ

#2

Post by khainui »

อัพไฟล์ใหม่ครับ ผมเปลี่ยนวันที่เป็น Text Box แทนรู้สึก Date Picker excel 2010 ไม่รองรับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ถามเรื่อง list box กับ Text Box ครับ

#3

Post by snasui »

:D ลองดูตัวอย่างการปรับ Code ตามด้านล่าง โดยให้ลบ Row Source ของ ListBox ทิ้งไปก่อน ถ้าต้องการจะใช้หัวคอลัมน์ใน ListBox ให้ Loop ค่าคอลัมน์ C:D ในชีท Job ไปวางในตำแหน่งอื่นก่อนแล้วค่อยนำค่านั้นเอาไว้มาใช้ใน Rowsource สำหรับ Code ตามด้านล่างใช้การ Loop คอลัมน์ C:D แล้ว Add เข้าไปตรง ๆ ใน ListBox

Code: Select all

Dim i As Integer

Private Sub cmdClose_Click()
    Unload Me
End Sub

Private Sub cmdOK_Click()
Worksheets("job").Cells(i, 1).Value = run_no.Text
Worksheets("job").Cells(i, 2).Value = DTpicker1.Text
Worksheets("job").Cells(i, 3).Value = Job_descrip.Text
Worksheets("job").Cells(i, 4).Value = Audit_team.Text
With Audit_name
    Sheets("Job").Range("a" & Rows.Count).End(xlUp).Offset(0, 4).Select
    For x = 0 To .ListCount - 1
        If .Selected(x) Then
            ActiveCell.Value = .List(x)
            ActiveCell.Offset(0, 1).Select
        End If
    Next x
End With
Unload Me
MsgBox "บันทึกรายการแล้ว"
End Sub


Private Sub UserForm_Initialize()
    Dim rAll As Range, r As Range
    i = WorksheetFunction.CountA(Worksheets("job").Columns("a:a")) + 1
    audit_job.run_no = i
    With Sheets("Job")
        Set rAll = .Range("c2", .Range("c" & Rows.Count).End(xlUp))
    End With
    For Each r In rAll
        With audit_job.Audit_name
            .ColumnCount = 2
            .ColumnWidths = "90;60"
            .AddItem
            .Column(0, .ListCount - 1) = r
            .Column(1, .ListCount - 1) = r.Offset(0, 1)
        End With
    Next r
End Sub
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ถามเรื่อง list box กับ Text Box ครับ

#4

Post by khainui »

Code: Select all

Dim i As Integer
Private Sub cmdClose_Click()
Unload Me
End Sub

Private Sub cmdOK_Click()
Worksheets("job").Cells(i, 1).Value = run_no.Value
Worksheets("job").Cells(i, 2).Value = DTpicker1.Value
Worksheets("job").Cells(i, 3).Value = Job_descrip
Worksheets("job").Cells(i, 4).Value = Audit_team
With Audit_name
    Sheets("Job").Range("a" & Rows.Count).End(xlUp).Offset(0, 4).Select ติดที่แถวนี้ครับ
    For x = 0 To .ListCount - 1
        If .Selected(x) Then
            ActiveCell.Value = .List(x)
            ActiveCell.Offset(0, 1).Select
        End If
    Next x
End With
Unload Me
MsgBox "ºÑ¹·Ö¡ÃÒ¡ÒÃáÅéÇ"
End Sub

Private Sub UserForm_Initialize()
    Dim rAll As Range, r As Range
    i = WorksheetFunction.CountA(Worksheets("job").Columns("a:a")) + 1
    audit_job.run_no = i
    With Sheets("dataIn")                               เปลี่ยนเป็นดึงข้อมูลจาก dataIn
        Set rAll = .Range("c2", .Range("c" & Rows.Count).End(xlUp))
    End With
    For Each r In rAll
        With audit_job.Audit_name
            .ColumnCount = 2
            .ColumnWidths = "90;60"
            .AddItem
            .Column(0, .ListCount - 1) = r
            .Column(1, .ListCount - 1) = r.Offset(0, 1)
        End With
    Next r
End Sub
มันติดตรงแถว Sheets("Job").Range("a" & Rows.Count).End(xlUp).Offset(0, 4).Select มันไม่ส่งข้อมูลไป sheet "job"
แล้วตรง userform initialize แถวที่เป็นสีแดงผมเปลี่ยนเป็นดึงจาก sheet dataIn range c2 ครับ

เพิ่มเติมหน่อยครับคือ ใน listbox จะให้ติ๊กผู้ตรวจ แล้วนำข้อมูลเฉพาะที่ติ๊กซึ่งเป็นเลข ID ไปบันทึกที่ sheet job column เจ้าหน้าที่ตรวจสอบ 1 2 และ 3 ครับ ถ้าติ๊ก 4 คน ก็วิ่งไปที่ column 4 ด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ถามเรื่อง list box กับ Text Box ครับ

#5

Post by snasui »

:D ผมยังไม่เปิดไฟล์นะครับ สำหรับ Code

Sheets("Job").Range("a" & Rows.Count).End(xlUp).Offset(0, 4).Select

หากว่าเราไม่อยู่ใน Sheet Job มันจะไม่ Select ให้ จะต้อง Select เป็นลำดับไป เช่น

Code: Select all

Sheets("Job").Select
Range("a" & Rows.Count).End(xlUp).Offset(0, 4).Select
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ถามเรื่อง list box กับ Text Box ครับ

#6

Post by snasui »

:D
snasui wrote:เพิ่มเติมหน่อยครับคือ ใน listbox จะให้ติ๊กผู้ตรวจ แล้วนำข้อมูลเฉพาะที่ติ๊กซึ่งเป็นเลข ID ไปบันทึกที่ sheet job column เจ้าหน้าที่ตรวจสอบ 1 2 และ 3 ครับ ถ้าติ๊ก 4 คน ก็วิ่งไปที่ column 4 ด้วยครับ
ถ้า Tick 1 กับ 4 แล้วจะวิ่งอย่างไรครับ
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ถามเรื่อง list box กับ Text Box ครับ

#7

Post by khainui »

OK ครับพอย้ายปุ่ม OpenForm ไปไว้ Sheet job ก็ใช้ได้ครับ แต่ความต้องการคือปุ่ม Open Form อยู่อีก sheet หนึ่ง (Sheet "dataIn") แล้วส่งข้อมูลในช่อง listbox (audit_name) ไปที่ sheet "job" ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ถามเรื่อง list box กับ Text Box ครับ

#8

Post by snasui »

:D ที่ผมตอบไปไม่ได้หมายความว่าให้ย้าย Button ไปไว้ในชีท Job สำหรับ Button จะอยูที่ไหนก็ได้ ไม่จำเป็นว่าต้องอยู่ในชีท Job แต่การใช้วิธีการ Select Data ด้วย ActiveCell ตามที่เขียนมาแล้วนั้นจะต้องไป Active เซลล์ในชีท Job นั่นหมายความว่า หากไม่ได้อยู่ในชีท Job ก็ต้องเขียน Code ให้ Select Sheet, Select Cell เป็นลำดับไปถึงจะทำงานได้ เขียนรวบที่เดียวไม่ได้ ซึ่งผมได้เขียนเป็นตัวอย่างไว้แล้วด้านบน หากทำตามนั้นแล้วติดปัญหาให้นำ Code ที่ Update แล้วมาถามกันครับ
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ถามเรื่อง list box กับ Text Box ครับ

#9

Post by khainui »

อ๋อเข้าใจแล้วครับ แล้วลองแก้คำสั่งใหม่ครับ ตาหวานอ่านไม่ครบครับ :rz:
Post Reply