Page 3 of 3

Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT

Posted: Sat Apr 28, 2018 7:30 am
by March201711
จะลองตรวจสอบดูก่อนค่ะ ว่าเพิ่มขึ้นจากอะไร ขอบคุณอาจารย์มากค่ะ

Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT

Posted: Tue May 23, 2023 6:24 pm
by March201711
ต้องการให้เก็บ rate ตามวันที่เลือกเข้าที่ไฟล์ AVG_rate
เข่น วันที่ 22/5/23 อยู่ที่ cell N1 ที่ Currency "USD " ที่ cell F9 ให้ไปวางไว้ที่ F22 ที่ file AVG_rate ที่ sheet AVG_USD
เข่น วันที่ 22/5/23 อยู่ที่ cell N1 ที่ Currency "SGD " ที่ cell F15 ให้ไปวางไว้ที่ F22 ที่ file AVG_rate ที่ sheet AVG_SGD
แต่พอรันแล้วติด Debud ค่ะ ต้องปรับ code vba ยังไงคะ

Code: Select all

Sub Run_rate()

Dim dayOfMth As Variant, dataAll As Range
Dim rngCur As Range, r As Range
With Workbooks("Year 2023.xlsx").Worksheets("AVG_SGD")
    Set dataAll = .Range("B3:M33")
End With
With Workbooks("Main.xlsm").Worksheets("Rate_BOT")
    dayOfMth = VBA.Split(VBA.Mid(.Range("A1"), VBA.InStr(.Range("A1"), "as of") + 6), " ")
    Set rngCur = .Range("B:B").Find("SGD").Offset(0, 3)
End With
For Each r In dataAll
    If r.Parent.Cells(r.Row, "A").Value = "Day " & dayOfMth(0) And _
        Application.Text(r.Parent.Cells(2, r.Column), "[$- ]mmmm") = dayOfMth(1) Then
        r.Value = rngCur.Value
        Exit For
    End If
Next r
   
   
'Dim dayOfMth As Variant, dataAll As Range
'Dim rngCur As Range, r As Range
With Workbooks("Year 2023.xlsx").Worksheets("AVG_USD")
    Set dataAll = .Range("B3:M33")
End With
With Workbooks("Main.xlsm").Worksheets("Rate_BOT")
    dayOfMth = VBA.Split(VBA.Mid(.Range("A1"), VBA.InStr(.Range("A1"), "as of") + 6), " ")
    Set rngCur = .Range("B:B").Find("USD").Offset(0, 3)
End With
For Each r In dataAll
    If r.Parent.Cells(r.Row, "A").Value = "Day " & dayOfMth(0) And _
        Application.Text(r.Parent.Cells(2, r.Column), "[$- ]mmmm") = dayOfMth(1) Then
        r.Value = rngCur.Value
        Exit For
    End If
Next r
   
    Windows("Year 2023.xlsx").Activate


End Sub



Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT

Posted: Tue May 23, 2023 6:59 pm
by snasui
March201711 wrote: Tue May 23, 2023 6:24 pm วางไว้ที่ F22 ที่ file AVG_rate ที่ sheet AVG_USD
กรุณาแนบไฟล์ตามที่ระบายสีไว้ในข้อความด้านบนพร้อมปรับ Code ให้อ้างอิงถึงไฟล์นั้นด้วย ปัจจุบันใน Code อ้างอิงถึงไฟล์ชื่อ Year 2023.xlsx ช่วยทบทวนดูใหม่ว่าที่จริงแล้วคือไฟล์ไหนครับ

Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT

Posted: Tue May 23, 2023 10:14 pm
by March201711
ตามไฟล์ Year 2023 ที่แนบค่ะ

Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT

Posted: Thu May 25, 2023 7:12 am
by snasui
:D ค่อย ๆ ถามตอบกันไปครับ

จาก Code

Code: Select all

With Workbooks("Main.xlsm").Worksheets("Rate_BOT")
    dayOfMth = VBA.Split(VBA.Mid(.Range("A1"), VBA.InStr(.Range("A1"), "as of") + 6), " ")
    Set rngCur = .Range("B:B").Find("SGD").Offset(0, 3)
End With
ประเด็นแรก เซลล์ A1 ของชีต Rate_BOT ของไฟล์ Main.xlsm ไม่มีค่าใด ๆ ทำให้มีค่าเสียก่อนจึงจะกำหนดค่าให้กับตัวแปร dayOfMth ได้

ประเด็นที่สอง บรรทัดนี้ต้องการทำอะไรครับ :?: :arrow: Set rngCur = .Range("B:B").Find("SGD").Offset(0, 3)

กรุณาตรวจสอบตำแหน่งคอลัมน์ว่าตรงตามที่เขียน Code แล้วหรือไม่ ถ้าเป็นการค้นหา Currency ควรค้นหาในคอลัมน์ใด ฯลฯ

Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT

Posted: Thu May 25, 2023 12:10 pm
by March201711
ค่ะ จะลองไปทำเองดูก่อนค่ะ ขอบคุณมากค่ะอาจารย์