Page 1 of 1

อยากให้ VBA รัน Script จนถึง row สุดท้าย

Posted: Thu Oct 18, 2018 12:22 am
by rattp
สวัสดีครับอาจารย์และ Expert ทุกๆท่าน


ผมมีเรื่องสอบถามหน่อยครับ จากสูตรข้างล่าง ผมอยากให้ Macro ผม run Script name 1โดยให้เปลี่ยนค่าจาก A2 เป็น ค่า A3,A4,A5,... ซ้ำไปเรื่อยๆจนถึงบรรทัดสุดท้ายของ column A.

ไม่ทราบว่าต้องเขียนประมาณไหนครับ



Dim fdate As Range
Set fdate = Sheets("Formulars").Range("A2")

'Script name 1'
objSess.findById("wnd[0]").maximize
objSess.findById("wnd[0]/tbar[0]/okcd").Text = "/n/sapapo/rrp4"
objSess.findById("wnd[0]").SendVKey 0
objSess.findById("wnd[0]/usr/ctxtSV_SIMID").Text = "000"
objSess.findById("wnd[0]/usr/ctxtSV_DTSTA").Text = fdate
objSess.findById("wnd[0]/usr/ctxtSV_DTEND").SetFocus

Re: อยากให้ VBA รัน Script จนถึง row สุดท้าย

Posted: Thu Oct 18, 2018 11:29 am
by logic
ช่วยโพสต์โค้ดตามกฎข้อ 5 ของบอร์ดด้วยนะครับ (กฎของบอร์ดอยู่ด้านบน ๆ ของเพจ)

แบบที่ถามมาต้องลูป ลองดูแบบนี้ครับ

Code: Select all

Dim r As Range, rall As Range
With ActiveSheet
    Set rall = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
End With
For Each r In rall
    'Set fdate = Sheets("Formulars").Range("A2")
    Set rdate = r
    'Script name 1'
    objSess.findById("wnd[0]").maximize
    objSess.findById("wnd[0]/tbar[0]/okcd").Text = "/n/sapapo/rrp4"
    objSess.findById("wnd[0]").SendVKey 0
    objSess.findById("wnd[0]/usr/ctxtSV_SIMID").Text = "000"
    objSess.findById("wnd[0]/usr/ctxtSV_DTSTA").Text = fdate
    objSess.findById("wnd[0]/usr/ctxtSV_DTEND").SetFocus
Next r