Page 1 of 1
add ข้อมูลลง listbox
Posted: Fri Jan 20, 2012 2:38 pm
by pepper_dog
รบกวนสอบถามครับ เรื่องการ add ข้อมูลลง listbox
ถ้าข้อมูลจาก sheet1(data ไม่สามารถลบรายการใดทิ้งได้) มีข้อมูลซ้ำ และต้องการ add ลง listbox ที่ sheet2
สามารถตัด dup ได้ยังไงครับ
ถ้าเป็นคำสั่ง vba ใช้งานยังไงครับสำหรับการทำงาน listbox
Re: add ข้อมูลลง listbox
Posted: Fri Jan 20, 2012 2:42 pm
by snasui

การใช้ VBA จำเป็นต้องเขียนมาก่อนครับ ติดตรงไหนก็มาถามกันได้เรื่อย ๆ ครับ
Re: add ข้อมูลลง listbox
Posted: Fri Jan 20, 2012 3:00 pm
by pepper_dog
ครับผม
ดังนี้นะครับ
1. ที่ sheet "paymentbycus" ให้ listbox ดึงข้อมูลรหัสลูกค้าจาก sheet "data" ณ วันปัจจุบันมาแสดง โดยตัด dup รหัสที่ซ้ำออกนะครับ
2.หลังจากเลือก รหัสลูกค้าแล้ว ทำการกดปุ่ม "แสดงรายการ" ให้นำข้อมูลมาแสดงที่หน้า paymentbycus นะครับ
ผมแนบไฟล์มาให้ครับ code vba จะทำที่หน้า sheet "paymentbycus" เลยครับ
รบกวนช่วยหน่อยครับ
ขอบคุณมากครับ
Re: add ข้อมูลลง listbox
Posted: Fri Jan 20, 2012 4:03 pm
by snasui

ผมเขียน Code ตัวอย่างมาตามด้านล่างครับ
Code: Select all
Sub RemoveDup()
Sheets("paymentbycus").Range("O:O") = Sheets("data").Range("B:B").Value
With Sheets("paymentbycus")
.Range("O:O").RemoveDuplicates Columns:=1, Header:=xlYes
.Range("O2", .Range("O" & Rows.Count).End(xlUp)).Name = "Code"
End With
End Sub
จากนั้นคลิกขวาในที่ ComboBox แล้วกดหนด Input range: ตามภาพด้านล่าง
Re: add ข้อมูลลง listbox
Posted: Fri Jan 20, 2012 4:30 pm
by pepper_dog

ขอขอบคุณพี่มากๆนะครับ
ไว้ติดปัญหาอะไรจะรบกวนสอบถามใหม่นะครับ
ขอบคุณอีกครั้งครับ

Re: add ข้อมูลลง listbox ** สอบถามเพิ่มเติมครับ
Posted: Mon Jan 23, 2012 11:59 am
by pepper_dog

พี่ครับ ถามต่ออีกหน่อยครับ
ถ้าต้องการให้ ComboBox ที่ได้มา sort จากน้อยไปหามากจะต้อง เขียนสูตรยังไงครับ
และถ้าเลือก รหัสใน ComboBox แล้วให้มาแสดงที่ช่อง D1 จะต้องทำยังไงครับ เพราะเวลาที่แสดงไม่ตรงกับที่เลือกครับ
ผมแนบไฟล์เพิ่มเติมมานะครับ
ขอบคุณครับ
Re: add ข้อมูลลง listbox
Posted: Mon Jan 23, 2012 5:42 pm
by snasui

ลองบันทึก Macro การจัดเรียงข้อมูลจากน้อยไปหามากและปรับ Code เข้ากับ Code ที่ผมเขียนให้ไปดูก่อน ติดตรงไหนค่อยมาถามกันต่อครับ
Re: add ข้อมูลลง listbox
Posted: Tue Jan 24, 2012 10:38 am
by pepper_dog
ขอบคุณครับ ตอนนี้ผม sort ได้แล้วครับ โดยใช้ function หาจากในนี้นะครับ แล้วเอามาแก้ไขนิดหน่อย
ขอบคุณครับผม ตอนนี้เหลือเรื่อง combobox ค่าที่โชว์ไม่ตรงกัน กำลังหาวิธีอยู่ ถ้าไม่ไ้ด้จริงจะสอบถามนะครับ
Sub SortData()
Dim r As Range
With Sheets("paymentbycus")
Set r = .Range("O2", .Range("O" & Rows.Count).End(xlUp))
End With
r.Sort Key1:=Range("O2"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
DataOption3:=xlSortNormal
End Sub