Page 1 of 1

ขอความรู้จากผู้รู้ เรื่อง Loop

Posted: Thu Nov 22, 2012 8:56 pm
by teclub2006
พอดีว่าผมมีช่วงคอลัมน์ เช่น A : J ที่ผมต้องการใส่สีช่องโดยการเช็คค่า จากช่องหนึ่งช่อง ในการแบ่งสี

ผมใช้ For ในการวนแถว

ปัญหาคือ ผมเอาค่า i ไปเป็นค่า ในช่วงของ คอลัมน์ไม่ได้ A : J ช่วยแนะนำหน่อยครับ

Code: Select all

For i = 7 To 17 Step 1

        If Cells(i, 7) = "RB" Then
            Worksheets("test").Cells(i, 7).Select  
                With Selection.Interior
                        .Pattern = xlSolid
                        .PatternColorIndex = xlAutomatic
                        .ThemeColor = xlThemeColorAccent3
                        .TintAndShade = 0.599993896298105
                        .PatternTintAndShade = 0
                    End With
        ElseIf Cells(i, 7) = "SE" Then
            Worksheets("test").Cells(i, 7).Select
                    With Selection.Interior
                            .Pattern = xlSolid
                            .PatternColorIndex = xlAutomatic
                            .Color = 10092543
                            .TintAndShade = 0
                            .PatternTintAndShade = 0
                        End With
        ElseIf Cells(i, 7) = "PK" Then
            Worksheets("test").Cells(i, 7).Select
                    With Selection.Interior
                        .Pattern = xlNone
                        .TintAndShade = 0
                        .PatternTintAndShade = 0
                    End With
        End If

Next i

Re: ขอความรู้จากผู้รู้ เรื่อง Loop

Posted: Thu Nov 22, 2012 9:02 pm
by snasui
:D แนบไฟล์ตัวอย่างพร้อมอธิบายว่าต้องการผลลัพธ์เป็นอย่างไรมาด้วยครับ

Re: ขอความรู้จากผู้รู้ เรื่อง Loop

Posted: Thu Nov 22, 2012 9:14 pm
by teclub2006
พอดีว่าไฟล์ต้นฉบับไม่ได้เอามาด้วย แต่ผมจะแนบไฟล์ผลลัพธ์ ที่จะให้เป็นก็แล้วกันนะครับ

Re: ขอความรู้จากผู้รู้ เรื่อง Loop

Posted: Thu Nov 22, 2012 9:17 pm
by snasui
:D ช่วยแจ้งว่ามีเงื่อนไขในการแบ่งสีอย่างไรหรือดูจากอะไรเพื่อเป็นสีนั้น ๆ ครับ

Re: ขอความรู้จากผู้รู้ เรื่อง Loop

Posted: Thu Nov 22, 2012 9:21 pm
by teclub2006
ถ้าตามโค้ด นะครับ ถ้าในช่อง เป็น PK ให้ช่วงของคอลัมน์ A : J ในแถวนั้นเป็นสีขาว
ถ้าในช่อง เป็น SE ให้ช่วงของคอลัมน์ A : J ในแถวนั้นเป็นสีเหลือง
ถ้าในช่อง เป็น RB ให้ช่วงของคอลัมน์ A : J ในแถวนั้นเป็นสีเขียว

Re: ขอความรู้จากผู้รู้ เรื่อง Loop

Posted: Thu Nov 22, 2012 9:33 pm
by snasui
:D ลองดูตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Sub Test()
    Dim r As Range
    For Each r In Range("G7:G17")
        Select Case r
            Case "SE"
                r.Offset(0, -6).Resize(1, 10).Interior.Color = vbYellow
            Case "RB"
                r.Offset(0, -6).Resize(1, 10).Interior.Color = vbGreen
        End Select
    Next r
End Sub

Re: ขอความรู้จากผู้รู้ เรื่อง Loop

Posted: Thu Nov 22, 2012 9:38 pm
by teclub2006
ขอบคุณครับอาจารย์ เดี๋ยวจะลองเอาไปทำดูก่อนครับ