Page 1 of 1

สอบถามตัวแปรในโค๊ดนี้ครับ

Posted: Fri Apr 05, 2013 9:24 pm
by Umbokeenee

Code: Select all

Sub UpDate_Meal_Accom()
Application.Run "UpDate_Meal_Accom_01"
On Error Resume Next
Dim Rx%, rxx%, Cx%
 xdate = Worksheets("data").Range("c1")         ' Check DATE"
rxx = Format(xdate, "d") ' Rxx = DATE
Rx = 6                                                           ' Row Start Index
Cx = rxx + 2                                                  ' Column Index
For i = Rx To Rx + 43
If Worksheets("Data").Cells(i + 25, 5) = 1 Then
Worksheets("Meal&Accom").Cells(i, Cx).Value = "Erw"
End If
 Next i
  For i = Rx To Rx + 43
If Worksheets("Data").Cells(i + 25, 5) = 2 Then
Worksheets("Meal&Accom").Cells(i, Cx).Value = "Efso"
End If
 Next i

โค๊ดนี้ใช้งานเกี่ยวกับการบันทึกข้อมูลของแต่ละคนว่าได้พักที่ไหนบ้างในวันไหนนับ ไปเรื่อยตามวันที่ครับ ส่วนอื่นพอเข้าใจครับ

For i = Rx To Rx + 43 ?
If Worksheets("Data").Cells(i + 25, 5) ?

Re: สอบถามตัวแปรในโค๊ดนี้ครับ

Posted: Fri Apr 05, 2013 9:34 pm
by snasui
จาก Code

Code: Select all

For i = Rx To Rx + 43
หมายถึง ให้ I มีค่าเท่ากับตัวแปร Rx จนถึงค่าของ Rx+43

จาก Code

Code: Select all

If Worksheets("Data").Cells(i + 25, 5) = 2 Then
หมายถึง หากชีท Data ตำแหน่งเซลล์ในบรรทัดที่ I+25 คอลัมน์ที่ 5 (คอลัมน์ E) มีค่าเท่ากับ 2 แล้ว

กรณีการถาม หากเป็นคนไทย ให้เขียนถามให้ครบถ้วน ไม่ควรใช้เครื่องหมายปรัศนี (?) แทนข้อความ แต่หากเป็นชาวต่างชาติอาจจะอนุโลมให้ได้สักระยะครับ

ดังนั้น
Umbokeenee wrote:For i = Rx To Rx + 43 ?
If Worksheets("Data").Cells(i + 25, 5) ?
จึงควรเขียนว่า

For i = Rx To Rx + 43 หมายความว่าอย่างไร

If Worksheets("Data").Cells(i + 25, 5) หมายความว่าอย่างไร