ค่ะอาจารย์ ไม่ทราบเข้าใจถูกต้องหรือไม่ค่ะ ว่าก่อนใช้ Code ด้านล่างนี้
snasui wrote:
ปกติการ Loop ด้วย For ก็เพื่อให้เข้าถึงสมาชิกแต่ละตัวของ Collection ครับ
set rall = range("a1:a10") หมายถึงกำหนดให้ rall เป็นช่วงข้อมูล a1:a10
for each r in rall เป็นการเป็นการเข้าถึงสมาชิกแต่ละตัวของ rall
if r = 1 and r.offset(0,1) = 2 and r.offset(0,2) = 3 then หมายถึง ถ้า a1 มีค่าเท่ากับ 1 และ b1 มีค่าเท่ากับ 2 และ c1 มีค่าเท่ากับ 3 แล้ว
... <== ตรงนี้จะต้องเขียนคำสั่งให้ทำอย่างใดอย่างหนึ่งก่อนจะไปยัง r ตัวถัดไป
next r หมายถึงไปยัง r ตัวถัดไป ซึ่งก็คือ a2 จนถึง a10
เมื่อต้องการให้ Code ทำงานตามด้านล่างนี้
suka wrote:ขอรบกวนเรื่องปรับสูตรเพิ่มค่ะ
ไฟล์แนบที่ชีท Form จากเดิมเลือกวันที่เริ่มต้นเซลล์ B1 และวันที่สิ้นสุดเซลล์ D1
ให้สูตรเรียกเพิ่มเป็น
เลือกวันที่เริ่มต้นเซลล์ B1 และวันที่สิ้นสุดเซลล์ D1 และเลือกกลุ่มเอกสารที่เซลล์ E1 ค่ะ
ขอบคุณค่ะ
ต้องใส่วันที่เริ่มต้นและวันที่สิ้นสุดและตัวเลือกเอกสาร ให้ Code ก่อนไหมคะ
ชีท Form วันที่เริ่มต้น เซลล์ B1 วันที่สิ้นสุดเซลล์ D1 เลือกกลุ่มเอกเซลล์ E1 รหัสร้านค้า G1 ค่ะ เพื่อทราบว่าถูกหรือไม่อยากให้อาจารย์ดูก่อนค่ะ
Code: Select all
With ActiveSheet
i = (.Range("D1") - .Range("B1")) * 1 + 1
If i < 0 Then
MsgBox "Please check date."
Exit Sub
End If
End With
With Sheets("Form")
Set rSource = .Range("E1")
End With
With Sheets("Database")
Set rall = .Range("C2")
End With
With Sheets("Form")
Set rSource = .Range("G1")
End With
With Sheets("Database")
Set rall = .Range("F2")
End With