Page 1 of 1

สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Thu Jan 14, 2021 2:50 pm
by wisitsakbenz
เรียนอาจารย์ครับ

เขียนสูตรด้านล่างแล้ว โปรแกรมประมวลผลช้ามากครับ

สูตร
=IFERROR(VLOOKUP(InputHN,[ListHNSVNH.xlsx]ListHNSVH1!$A:$G,6,0),
IFERROR(VLOOKUP(InputHN,[ListHNSVNH.xlsx]ListHNSVH2!$A:$G,6,0),
IFERROR(VLOOKUP(InputHN,[ListHNSVNH.xlsx]ListHNSNH1!$A:$G,6,0),
IFERROR(VLOOKUP(InputHN,[ListHNSVNH.xlsx]ListHNSNH2!$A:$G,6,0),""))))

สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้หรือไม่ครับ ขอบคุณครับ

ไฟล์ ListHNSVNH มีขนาด 60M ครับ

Re: สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Thu Jan 14, 2021 9:07 pm
by snasui
:D กรุณาเข้าไป Update Field ใน Profile ให้ระบุถึง Version ของ Excel ที่ใช้จริงด้วยตาม Link นี้ครับ https://snasui.com/viewtopic.php?f=6&p=103177#p103177

จากตัวอย่างสูตรที่ยกมา ให้เปลี่ยนช่วงเซลล์ในสูตรให้เป็นช่วงเซลล์ตามที่มีข้อมูลจริงหรือเผื่อไว้แค่เท่าที่ข้อมูลจะขยายไปถึง ไม่ควรเลือกทั้งคอลัมน์ครับ

Re: สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Fri Jan 15, 2021 8:33 am
by wisitsakbenz
เรียน อาจารย์ snasui ผมลองทำตามที่อาจารย์แนะนำแล้ว

จะมีปัญหาตอน Clear ค่า โปรแกรมจะประมวลผลนานมาก

หมายเหตุ :
1.ที่ยกมาคือบางส่วนนะครับ
2.ขนาดไฟล์ ListHNSVNH1 มีขนาด 150M แต่ละ sheet จะมีข้อมูลคนไข้ประมาณ 700,000 Row

อาจารย์พอมีวิธี หรือปรับสูตร แนะนำอย่างไรบ้างครับ ขอบคุณครับ

Code: Select all


Private Sub CommandButton1_Click()
    With Worksheets("Input")
.Range("InputName").Formula = "=IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SVH00!$A$2:$G$10,6,0),IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SVH01!$A$2:$G$10,6,0),IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SVH10!$A$2:$G$10,6,0),IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SNH01!$A$2:$G$10,6,0),IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SNH10!$A$2:$G$10,6,0),"""")))))"
.Range("InputDOB").Formula = "=IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SVH00!$A$2:$G$10,7,0),IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SVH01!$A$2:$G$10,7,0),IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SVH10!$A$2:$G$10,7,0),IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SNH01!$A$2:$G$10,7,0),IFERROR(VLOOKUP(InputHN,[ListHNSVNH1.xlsx]SNH10!$A$2:$G$10,7,0),"""")))))"
          
    End With
End Sub


Re: สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Fri Jan 15, 2021 11:49 am
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Dim sb As Workbook
Dim sh As Worksheet
Dim rngA As Range
Dim r As Range
Dim strSb As String
Dim hn As String
Dim f As Boolean
strSb = "C:\ListHNSVNH1.xlsx"
Set sb = Workbooks.Open(Filename:=strSb, UpdateLinks:=False, ReadOnly:=True)
f = False
With ThisWorkbook.Worksheets("Input")
    hn = .Range("b3").Value
    For Each sh In sb.Worksheets
        Set rngA = sh.Range("a2", sh.Range("a" & sh.Rows.Count).End(xlUp))
        For Each r In rngA
            If r.Value = hn Then
                .Range("b4").Value = r.Offset(0, 5).Value
                .Range("b5").Value = r.Offset(0, 6).Value
                f = True
                Exit For
            End If
        Next r
        If f Then Exit For
    Next sh
End With
sb.Close False
เปลี่ยน "C:\ListHNSVNH1.xlsx" ที่กำหนดให้กับตัวแปร strSb ให้เป็นตำแหน่งไฟล์ที่ใช้งานจริงครับ

Re: สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Fri Jan 15, 2021 3:27 pm
by wisitsakbenz
เรียน อาจารย์ snasui ครับ

ได้แล้วครับอาจารย์ ขอสอบถามเพิ่มเติมครับ
ถ้า file ที่ไว้อยู่ใน shared file ต้องเขียนแบบนี้ป่าวครับ ขอบคุณครับ

Code: Select all

...other code....

strSb = "\\svh-sv-vcifs01\Test\Estimated Form\ListHNSVNH1.xlsx"

...other code....

Re: สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Fri Jan 15, 2021 3:33 pm
by snasui
:D เท่าที่ดูน่าจะใช้ได้เลยครับ

Re: สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Fri Jan 15, 2021 3:53 pm
by wisitsakbenz
เรียน อาจารย์ snasui ครับ

error ครับอาจารย์ ขอบคุณครับ

Re: สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Fri Jan 15, 2021 4:02 pm
by snasui
:D คีย์ค่านี้ \\svh-sv-vcifs01\Test\Estimated Form เข้าไปใน Windows Explorer แล้ว Enter สังเกตว่า Windows พาไปยัง Folder นั้นหรือไม่ ถ้าไม่ไปก็แสดงว่าไม่สามารถ Acces เข้าไปได้ ถ้าไปแสดงว่า Access ได้จะต้องเห็นไฟล์ต้นทางวางอยู่ และเมื่อ Access ได้ก็จะต้องเปิดไฟล์นั้นได้ครับ

Re: สามารถปรับสูตร หรือใช้สูตรอะไรทดแทนได้

Posted: Fri Jan 15, 2021 4:05 pm
by wisitsakbenz
เรียน อาจารย์ snasui

ไม่ได้ครับ น่าจะไม่สามารถ Access เข้าไปได้ ขอบคุณครับ