: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

ผมสอบถามข้อมูลลูกค้าในแถวถัดไปไม่ได้ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
peeraphat
Member
Member
Posts: 8
Joined: Thu May 22, 2014 8:06 am

ผมสอบถามข้อมูลลูกค้าในแถวถัดไปไม่ได้ครับ

#1

Post by peeraphat »

สวัสดีครับอาจารย์ผมมีปัญหาสอบถามอาจารย์เรื่องการสอบถามข้อมูลลูกค้าในชีทงาน..
คีย์เงื่อนไขแล้วข้อมูลไม่แสดงข้อมูลครับ..
Option Explicit
Private Sub CommandButton1_Click()

Dim customer_data As String
Dim data_row As Single
Dim i As Single
Const db_sheet = "db_customers"
Const id_col = 1
Const sub_col = 2
Const dept_col = 3
Const name_col = 4
Const type_col = 5
Const account1_col = 6
Const account2_col = 7
Const account3_col = 8
Const account4_col = 9
Const account5_col = 10
Const account6_col = 11




With Worksheets(db_sheet)
data_row = 2
'set matching data
If TextBox1.Text = Worksheets(db_sheet).Cells(data_row, id_col).Value And TextBox2.Text = Worksheets(db_sheet).Cells(data_row, sub_col).Value And TextBox3.Text = Worksheets(db_sheet).Cells(data_row, dept_col).Value Then
data_row = data_row + 2
customer_data = "True"
End If

End With
'if id ,sub and dept match, data show
If customer_data = "True" Then

With UserForm1
.TextBox4.Value = Worksheets(db_sheet).Cells(data_row, name_col).Value
.TextBox5.Value = Worksheets(db_sheet).Cells(data_row, type_col).Value
.TextBox6.Value = Worksheets(db_sheet).Cells(data_row, account1_col).Value
.TextBox7.Value = Worksheets(db_sheet).Cells(data_row, account2_col).Value
.TextBox8.Value = Worksheets(db_sheet).Cells(data_row, account3_col).Value
.TextBox9.Value = Worksheets(db_sheet).Cells(data_row, account4_col).Value
.TextBox10.Value = Worksheets(db_sheet).Cells(data_row, account5_col).Value
.TextBox11.Value = Worksheets(db_sheet).Cells(data_row, account6_col).Value
.TextBox12.Value = Worksheets(db_sheet).Cells(data_row, id_col).Value
.TextBox13.Value = Worksheets(db_sheet).Cells(data_row, name_col).Value

End With
'¶éÒ¢éÍÁÙÅäÁèµÃ§¡Ñºà§×è͹ä¢á¨é§àµ×͹
Else
MsgBox ("äÁ辺¢éÍÁÙŹÕé...¡ÃسҵÃǨÊͺÍÕ¡¤ÃÑé§")
'clear both TextBox
TextBox1.Text = vbNullString
TextBox2.Text = vbNullString
TextBox3.Text = vbNullString
TextBox4.Text = vbNullString
TextBox5.Text = vbNullString
TextBox6.Text = vbNullString
TextBox7.Text = vbNullString
TextBox8.Text = vbNullString
TextBox9.Text = vbNullString
TextBox10.Text = vbNullString
TextBox11.Text = vbNullString
TextBox12.Text = vbNullString
TextBox13.Text = vbNullString
'set focus to TextBox1
TextBox1.SetFocus
End If

End Sub
ขอบคุณอาจารย์ล่วงหน้านะครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ผมสอบถามข้อมูลลูกค้าในแถวถัดไปไม่ได้ครับ

#2

Post by snasui »

:D ลองปรับ Code เป็นด้านล่างครับ

Code: Select all

'other code
'set matching data
Do While .Cells(data_row, id_col) <> ""
    If TextBox1.Text = Worksheets(db_sheet).Cells(data_row, id_col).Value And TextBox2.Text = Worksheets(db_sheet).Cells(data_row, sub_col).Value And TextBox3.Text = Worksheets(db_sheet).Cells(data_row, dept_col).Value Then
        customer_data = "True"
        Exit Do
    End If
    data_row = data_row + 1
Loop
'other code
peeraphat
Member
Member
Posts: 8
Joined: Thu May 22, 2014 8:06 am

Re: ผมสอบถามข้อมูลลูกค้าในแถวถัดไปไม่ได้ครับ

#3

Post by peeraphat »

:thup: :cp: ขอบคุณอาจารย์มากๆครับผม..ทำได้แล้วครับ..
Post Reply