Page 1 of 1

ต้องการให้เลขไปรษณีย์โชว์ตรงกับข้อมูลที่ Import ไฟล์เข้ามา

Posted: Wed Mar 22, 2023 4:01 pm
by liveday
เรียนอาจาร์ยทุกท่าน

จากไฟล์ Test Import Text into Excel.xlsm Sheet! Form - User frome - Import File Data
พอดึงข้อมูลจาก Text มาแล้ว ต้องการให้เลข ปณ ขึ้นให้เองเลย ผมจะต้องใช้สูตรเพิ่มตรงไหนบ้างครับ
จากที่ผมทำ ไม่แน่ใจว่าผิดตรงไหนนะครับ เช่น Userform Combobox1 เลือกตำบลโคกสว่าง ซึ่งจริงเป็น จังหวัดร้อยเอ็ด แต่สูตรไปดึง จังหวัดสระบุรี ทำให้เลข ปณ ขึ้นมาไม่ตรงกันกับข้อมูลครับ

Code: Select all

Private Sub UserForm_Activate()
    On Error Resume Next
    Dim Data1 As String
     Data1 = Range("Userdata").Address                          'Customerscan
    ComboBox1.RowSource = "Data!" & Data1
End Sub

Code: Select all

Private Sub ComboBox1_Change()                                      'cboProvince ??? Combobox
    Dim f As Long
    If ComboBox1.ListIndex <> -1 Then
        f = FindRow(Sheet2, "A", ComboBox1.Text)
        If f > 1 Then
            ComboBox1.Text = Sheet2.Range("A" & f).Value
            TextBox3.Text = Sheet2.Range("B" & f).Value
            TextBox4.Text = Sheet2.Range("C" & f).Value
            TextBox5.Text = Sheet2.Range("D" & f).Value
    End If
    End If
End Sub

Re: ต้องการให้เลขไปรษณีย์โชว์ตรงกับข้อมูลที่ Import ไฟล์เข้ามา

Posted: Wed Mar 22, 2023 4:25 pm
by snasui
:D ช่วยเล่าลำดับการทำงานมาด้วยว่าต้องทดสอบอย่างไร คลิกปุ่มใด กรอกค่าใด ฯลฯ จึงจะเจอปัญหานั้นจะได้เข้าถึงปัญหาโดยไวครับ

Re: ต้องการให้เลขไปรษณีย์โชว์ตรงกับข้อมูลที่ Import ไฟล์เข้ามา

Posted: Wed Mar 22, 2023 4:51 pm
by liveday
ไฟล์ Text จะเป็นข้อมูลชื่อ แต่ละคนนะครับ เนื่องจากผมต้อง Import เข้ามาที่ Excel เพื่อดึงข้อมูลในการเก็บไว้ใน Excel
แต่ว่าในข้อมูล Text จะไม่มี รหัส ปณ. จึงใช้สูตรเพื่อให้ดึง รหัส ปณ.จาก Sheet Choice! นำมา Matching กับที่ Import เข้ามา ซึ่งจะอยู่ Sheet Data! ครับ โดยใช้ User form - combobox1 ในการดึงข้อมูลระหว่าง Sheet Data! แล้วให้ดึงข้อมูลรหัส ปณ.จาก Sheet Choice! มา เพื่อให้ข้อมูลครบครับ ก่อนจะบันทึกข้อมูลทั้งหมดไปเก้บไว้ที่ Sheet Customers! ครับ

Re: ต้องการให้เลขไปรษณีย์โชว์ตรงกับข้อมูลที่ Import ไฟล์เข้ามา

Posted: Wed Mar 22, 2023 5:29 pm
by snasui
:D ผมต้องทดสอบอย่างไรเพื่อให้เห็นปัญหานั้น ช่วยอธิบายมาเป็นข้อ ๆ และกรุณาอ่านที่ผมเขียนไปในโพสต์ก่อนหน้าด้วยครับ :roll:

Re: ต้องการให้เลขไปรษณีย์โชว์ตรงกับข้อมูลที่ Import ไฟล์เข้ามา

Posted: Wed Mar 22, 2023 8:00 pm
by liveday
ต้องขอโทษด้วยครับผมอาจจะอธิบายยากไป จะพยายามใช้ตำถามให้ชัดกว่านี้นะครับ
1.จากไฟล์ Test Import Text into Excel.xlsm Sheet FROM
2.เปิด User Form ตรง แขวง/ตำบล (Combobox1)
3.หลังจากเลือกแล้ว ตัวอย่าง ตำบล โคกสว่าง ซึ่งอ้างอิงจาก Sheet Data เพื่อนำมาแสดงที่ Textbox 3,4,5 ตามลำดับ
แต่ว่า ตำบลโคกส่วาง ควรจะเป็น โคกสว่าง หนองพอก ร้อยเอ็ด ไม่ใช่ เมืองสระบุรี สระบุรี 18000 ครับ
ซึ่งทำให้ รหัส ปณ. ที่ดึงมาจากข้อมูลจาก Sheet Choice ไม่ตรงกับข้อมูล
ตำบลโคกส่วาง หนองพอก ร้อยเอ็ด ปณ ที่จะได้ ควรจะเป็น 45210 ครับ

ข้อมูลที่ตำบลซ้ำกันใน Sheet Choice ครับ
โคกสว่าง เมืองสระบุรี สระบุรี 18000
โคกสว่าง หนองกี่ บุรีรัมย์ 31210
โคกสว่าง สำโรง อุบลราชธานี 34360
โคกสว่าง พนมไพร ร้อยเอ็ด 45140
โคกสว่าง หนองพอก ร้อยเอ็ด 45210
โคกสว่าง ปลาปาก นครพนม 48160

ผมจะพยายามทำความเข้าใจให้มากกว่านี้มาก่อนนะครับ เพื่อว่าจะได้ถามอาจารย์ ให้กระชับยิ่งขึ้นกว่านี้ครับ ทั้งนี้ต้องขอโทษอาจารย์ด้วยครับ

Re: ต้องการให้เลขไปรษณีย์โชว์ตรงกับข้อมูลที่ Import ไฟล์เข้ามา

Posted: Wed Mar 22, 2023 10:07 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
Dim f As Long, v As String
Dim rall As Range, r As Range
If ComboBox1.ListIndex <> -1 Then
    v = Sheet1.Cells(ComboBox1.ListIndex + 3, "g").Value
    With Sheet2
        Set rall = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
        For Each r In rall
            If r.Value = ComboBox1.Text And r.Offset(0, 2) = v Then
                'f = FindRow(Sheet2, "A", ComboBox1.Text)
                f = r.Row
                Exit For
            End If
        Next r
    End With
'Other code