: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

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

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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :thup: :cp: :flw: :rz: :sg: :tt: :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :ard: :arl: :aru: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

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

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

#46

by March201711 » Thu May 25, 2023 12:10 pm

ค่ะ จะลองไปทำเองดูก่อนค่ะ ขอบคุณมากค่ะอาจารย์

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

#45

by snasui » Thu May 25, 2023 7:12 am

: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

#44

by March201711 » Tue May 23, 2023 10:14 pm

ตามไฟล์ Year 2023 ที่แนบค่ะ
Attachments
Year 2023.xlsx
(12.35 KiB) Downloaded 8 times

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

#43

by snasui » Tue May 23, 2023 6:59 pm

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

#42

by March201711 » Tue May 23, 2023 6:24 pm

ต้องการให้เก็บ 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


Attachments
Error.JPG
Error.JPG (52.35 KiB) Viewed 91 times
Main.xlsm
(20.76 KiB) Downloaded 9 times

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

#41

by March201711 » Sat Apr 28, 2018 7:30 am

จะลองตรวจสอบดูก่อนค่ะ ว่าเพิ่มขึ้นจากอะไร ขอบคุณอาจารย์มากค่ะ

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

#40

by snasui » Fri Apr 27, 2018 9:24 pm

:D จะบอกได้ว่าปรับตรงไหน อย่างไรก็ต้องทราบว่า Code ทำงานอะไรอย่างไรเสียก่อนครับ

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

#39

by March201711 » Fri Apr 27, 2018 9:22 pm

แล้วต้องแก้ปรับอย่างไรบ้างคะ

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

#38

by snasui » Fri Apr 27, 2018 9:05 pm

:D เพิ่ม Code แค่ไม่กี่บรรทัดย่อมไม่ทำให้ไฟล์ใหญ่ ยกเว้นว่าเขียน Code ให้บันทึกข้อมูลลงในไฟล์หรือสร้าง Object จำนวนมากจึงจะทำให้ไฟล์มีขนาดใหญ่ขึ้นมากครับ

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

#37

by March201711 » Fri Apr 27, 2018 9:01 pm

อาจารย์คะ ทำไมพอใช้ code vba แล้ว พอdave file ทำให้file เพิ่มมากขึ้น จาก้ดิม 2Mb พอใช้ code vba หรือmarco fileเพิ่มขึ้นเป็น 7Mb เลยค่ะ :flw:

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

#36

by snasui » Fri Apr 27, 2018 7:12 pm

:D ตัวอย่างการปรับ Code ครับ

Code: Select all

ie.navigate "https://www.bot.or.th/thai/statistics/financialmarkets/exchangerate/exchangerate_EN_PDF/ER_PDF_" & Format(l, "ddmmyyyy") & ".PDF"

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

#35

by March201711 » Fri Apr 27, 2018 7:55 am

ติดตรง เปิด BrowerBOT แล้วหน้าต่างไม่มี exchange rate ค่ะ

Code: Select all

     ie.navigate "https://www.bot.or.th/thai/statistics/financialmarkets/exchangerate/exchangerate_EN_PDF/ER_PDF_" & l & ".PDF"
Attachments
Capture.JPG
Capture.JPG (34.38 KiB) Viewed 181 times

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

#34

by snasui » Thu Apr 26, 2018 10:48 pm

:D ช่วยอธิบายลักษณะที่ว่า "ไม่ได้" ว่าเป็นอย่างไรมาด้วยครับ

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

#33

by March201711 » Thu Apr 26, 2018 10:08 pm

ลองทำแล้วไม่ได้น่ะค่ะอาจารย์

Code: Select all

 
Dim l As Long
k = 2
Do Until Workbooks("Base_WD.xlsx").Worksheets("WorkingDay").Cells(k, 7).Value <> ""
k = k + 1
Loop
l = Workbooks("Base_WD.xlsx").Worksheets("WorkingDay").Cells(k - 1, 1).Value2
    
    Dim ie As Object, s As String, i As Integer
    Select Case Weekday(Date, vbMonday)
        Case 7
            i = -2
        Case 1
            i = -3
        Case Else
            i = -1
    End Select
    s = Format(DateAdd("d", i, Date), "ddmmyyyy")
    
    Set ie = CreateObject("Internetexplorer.Application")
    ie.Visible = True
    ie.navigate "https://www.bot.or.th/thai/statistics/financialmarkets/exchangerate/exchangerate_EN_PDF/ER_PDF_" & l & ".PDF"
    
    MsgBox " finished "
    
End Sub
 
Attachments
Test_BOTday.xlsm
(18.43 KiB) Downloaded 13 times

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

#32

by March201711 » Thu Apr 26, 2018 9:33 pm

ขอบคุณค่ะ จะลองำปปรับใช้ดู ได้ไม่ได้จะแจ้งให้ทราบนะคะอาจารย์ :D

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

#31

by snasui » Thu Apr 26, 2018 9:24 pm

:D เมื่อเจอแล้วให้นำค่านั้นหักออกด้วย 1 เพื่อให้เป็นตำแหน่งเซลล์ก่อนหน้า จะนำค่าในเซลล์ไปใช้ต่อครับ

Code: Select all

Dim l as Long
k = 2
Do Until Workbooks("Base_WD.xlsx").Worksheets("WorkingDay").Cells(k, 7).Value <> ""
   k = k + 1
Loop
l = Workbooks("Base_WD.xlsx").Worksheets("WorkingDay").Cells(k-1, 1).Value2
จากนั้นนำค่า l ไปใช้ต่อครับ ช่วยโพสต์ Code ให้แสดงเป็น Code จะได้แตกต่างจากข้อความทั่วไป สะดวกแก่การอ่านครับ

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

#30

by March201711 » Thu Apr 26, 2018 9:16 pm

k = 2
Do Until Workbooks("Base_WD.xlsx").Worksheets("WorkingDay").Cells(k, 7).Value <> ""
k = k + 1
Loop

cell ที่ 2 column ที่ 7 ค่ะ ถ้าเป็นค่าว่างก้อให้วนไปเรื่อยๆจนเจอ cell ที่ไม่เป็นค่าว่างค่ะ คือ วันที่ 26/4/18ค่ะ

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

#29

by snasui » Thu Apr 26, 2018 8:45 pm

:D ใช้การ Loop ไม่ตรงกับตำแหน่งที่ควร Loop ครับ

Code: Select all

k = 2
Do Until Workbooks("Base_WD.xlsx").Worksheets("WorkingDay").Cells(k, 7).Value <> ""
  k = k + 1
Loop
กรุณาตอบว่า Code นี้ว่าเป็นการ Loop ข้อมูลในเซลล์ใด ให้ระบุตำแหน่งเซลล์ เช่น A1, A2, Z10 สังเกตตรงไหนว่าเป็นเซลล์นั้นครับ :?:

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

#28

by March201711 » Thu Apr 26, 2018 8:37 pm

คือหนูดูที่อาจารย์ให้คลิปมาดูแล้วลองปรับประยุกต์ใช้ค่ะ ต้องใช้ do unit ...loop เพื่อหาค่าที่มีอยู่ ถ้าเป็นค่าว่างก็ให้วนลูปไปเรื่อยๆจนกว่าจะเจอค่าของวันนี้ค่ะ

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

#27

by snasui » Thu Apr 26, 2018 8:25 pm

:D นำ Code มาอธิบายประกอบว่าติดตรงไหน

ผมพบว่า Code กับสิ่งสิ่งอธิบายมานี้ไม่ได้เป็นไปในทางเดียวกัน การจะใช้ Code จะต้องเข้าใจและเขียนได้เองบ้างครับ

Code ที่เขียนจะต้องเขียนเพื่อแก้ไขปัญหาที่ถาม ไม่ใช่นำ Code อื่นที่ไม่เกี่ยวข้องหรือทำงานอื่นไม่เกียวกับงานนี้มาถาม

ลองพยายามใหม่ครับ

Top