Page 1 of 1
จะให้ เลือก หลายๆ คอมลัมตามเงื่อนไข ได้อย่างไรครับ
Posted: Wed May 17, 2023 12:58 pm
by nutpochan
Code: Select all
Sub Macro1()
Dim LR As Long, i As Long, r As Range
LR = Range("a" & Rows.Count).End(xlUp).Row
For i = 1 To LR
If Range("a" & i).Value = "11" Then
If r Is Nothing Then
Set r = Range("b" & i)
Else
Set r = Union(r, Range("b" & i))
End If
End If
Next i
r.Select
End Sub
ในโค๊ดนี้ เมื่อกด รัน แล้ว จะเลือกเงือนไข ที่ คอลัมb โดย อ้างอิง ว่า คอลัม เท่ากับ a =11
แต่ถ้า ผมอยากจะให้ เลือก คอลัม b และ คอลัม c เลือก หลายๆ คอลัม ในรันครั้งเดียวกัน โดย อ้างอิง เงือนไขดังกล่าว ผมจะสามารถแก้โค๊ดอย่างไรครับ
Re: จะให้ เลือก หลายๆ คอมลัมตามเงื่อนไข ได้อย่างไรครับ
Posted: Wed May 17, 2023 1:36 pm
by snasui
ถ้าเลือกเซลล์ที่ติดกันก็ใช้ Resize เข้าไปช่วยได้ครับ เช่น
set r = range("b" & i).resize(1,5)
หมายถึง จากคอลัมน์ B ให้ขยายไปทางขวา 5 คอลัมน์ เช่นนี้เป็นต้นครับ
Re: จะให้ เลือก หลายๆ คอมลัมตามเงื่อนไข ได้อย่างไรครับ
Posted: Wed May 17, 2023 5:24 pm
by nutpochan
ถ้าเลือก range เซล ที่ไม่ติดกันเช่น เลือก range a และ range c เราจะเขียนว่าอย่างไรครับ
Re: จะให้ เลือก หลายๆ คอมลัมตามเงื่อนไข ได้อย่างไรครับ
Posted: Wed May 17, 2023 6:52 pm
by nutpochan
ลองใช้ คำสั่ง
Code: Select all
Range("B1:B9,C1:C9,E1:E9,G1:G9").Select
ได้ผลเฉพาะ selection ที่จงเจาะเซล ที่ไม่ติด ตัวแปร r ลองดัดแปลงโค๊ดแล้ว ยังติด debug ครับ
Re: จะให้ เลือก หลายๆ คอมลัมตามเงื่อนไข ได้อย่างไรครับ
Posted: Wed May 17, 2023 7:37 pm
by nutpochan
แก้ไข ปัญหา ได้แล้ว ครับ
Code: Select all
Union(r.Offset(0, 0), r.Offset(0, 2)).Select