Page 1 of 1
Vlookup แบบมีเงื่อนไข
Posted: Mon Mar 05, 2018 3:37 pm
by yangkodza
a01.JPG
Sub Macro1()
Range("B10").Select
ActiveCell.FormulaR1C1 = "ห"
Range("B10").Select
Selection.AutoFill Destination:=Range("B10:AF10"), Type:=xlFillDefault
Range("B10:AF10").Select
Range("B8").Select
End Sub
จากเซลล์ AK14 เป็น เลข 2
เราต้องการให้ ช่องเวลาของเลขที่ 2 ทั้งหมด เป็น ห แนวนอนครับ
คือ Range("B10:AF10") เป็น ห ทั้งหมด
และในกรณีเดียวกัน ถ้าคนลาออกเป็นเลขที่ 8
Range("B16:AF16") ก็จะเป็น ห ทั้งหมด...
ลาออก.xlsm
Re: Vlookup แบบมีเงื่อนไข
Posted: Mon Mar 05, 2018 3:56 pm
by logic
ลองดูโค้ดนี้ครับ
Code: Select all
Dim MyRange As Range, Rng As Range
With ActiveSheet
Set MyRange = .Range("A9:A50")
For Each Rng In MyRange
If Application.CountIf(.Range("AK14:AL14"), Rng) > 0 Then
Rng.Offset(0, 1).Resize(1, 31).Value = "ห"
End If
Next Rng
End With
Re: Vlookup แบบมีเงื่อนไข
Posted: Mon Mar 05, 2018 4:13 pm
by yangkodza
logic wrote: Mon Mar 05, 2018 3:56 pm
ลองดูโค้ดนี้ครับ
Code: Select all
Dim MyRange As Range, Rng As Range
With ActiveSheet
Set MyRange = .Range("A9:A50")
For Each Rng In MyRange
If Application.CountIf(.Range("AK14:AL14"), Rng) > 0 Then
Rng.Offset(0, 1).Resize(1, 31).Value = "ห"
End If
Next Rng
End With
ใช้ได้เลยครับ รบกวนอธิบายการทำงานให้ที่ครับ
ทีแรกผมคิดว่าต้องใช้ Vlookup อ้างอิงเลขที่อย่างเดียว
Re: Vlookup แบบมีเงื่อนไข
Posted: Mon Mar 05, 2018 8:18 pm
by snasui

เป็นการ Loop เข้าไปในแต่ละเซลล์ในช่วง A9:A50 ว่ามีค่าอยู่ใน AK14:AL14 หรือไม่ ถ้ามีก็ให้ค่าที่ตรงกันในคอลัมน์ B เป็นต้นไปรวม 31 คอลัมน์มีค่าเป็น "ห" ครับ
Re: Vlookup แบบมีเงื่อนไข
Posted: Mon Mar 05, 2018 8:57 pm
by yangkodza
snasui wrote: Mon Mar 05, 2018 8:18 pm

เป็นการ Loop เข้าไปในแต่ละเซลล์ในช่วง A9:A50 ว่ามีค่าอยู่ใน AK14:AL14 หรือไม่ ถ้ามีก็ให้ค่าที่ตรงกันในคอลัมน์ B เป็นต้นไปรวม 31 คอลัมน์มีค่าเป็น "ห" ครับ
ขอบคุณมากครับ