Rij arceren afhankelijk van een cel in die rij

Status
Niet open voor verdere reacties.

madref

Gebruiker
Lid geworden
17 feb 2005
Berichten
220
Hoi iedereen,

Ik heb een tabel van 13 rijen bij 9 kolommen in Word.
Hoe kan ik via VBA alle rijen doorlopen en als dan de derde cel van die rij het wordt 'DICHT' bevat die hele rij grijs wordt gearceerd?
 
Dat kan je zo doen:
Code:
Sub RijKleuren()
Dim oTbl As Table
Dim i As Integer

    If Selection.Information(wdWithInTable) = True Then
        Set oTbl = Selection.Tables(1)
        For i = 1 To oTbl.Rows.Count
            If InStr(oTbl.Cell(i, 3).Range.Text, "DICHT") > 0 Then
                oTbl.Rows(i).Cells.Shading.BackgroundPatternColorIndex = wdGray25
            Else
                oTbl.Rows(i).Cells.Shading.BackgroundPatternColorIndex = wdWhite
            End If
        Next i
    Else
        MsgBox "Dit is geen tabel"
    End If
End Sub
 
En hoe kan je dit doen als je het document beveiligd hebt tegen wijzigingen.
Het is dus een invulformulier geworden met verschillende velden?
 
Ooohhh zelf het antwoord gevonden...

Code:
Sub RijKleuren()
Dim oTbl As Table
Dim i As Integer
Dim StrPwd As String
StrPwd = "11111"

    Application.ScreenUpdating = False
    If ActiveDocument.ProtectionType <> wdNoProtection Then ActiveDocument.Unprotect Password:=StrPwd
    If Selection.Information(wdWithInTable) = True Then
        Set oTbl = Selection.Tables(1)
        For i = 1 To oTbl.Rows.Count
            If InStr(oTbl.Cell(i, 3).Range.Text, "DICHT") > 0 Then
                oTbl.Rows(i).Cells.Shading.BackgroundPatternColorIndex = wdGray25
            Else
                oTbl.Rows(i).Cells.Shading.BackgroundPatternColorIndex = wdWhite
            End If
        Next i
    Else
        MsgBox "Dit is geen tabel"
    End If
    Application.ScreenUpdating = True
    ActiveDocument.Protect wdAllowOnlyFormFields, True, StrPwd
End Sub
 
Hmmm..... ben er nu mee aan het werken, maar die code maakt alles wel wat trager.
Is er een mogelijkeheid dat er alleen gekeken wordt naar de geselecteerde cell en dan dat er hetzelfde gebeurd als mijn initieel vraag?

Dit omdat ik namelijk 5 tabellen heb
 
Laatst bewerkt:
Volgende keer eerst zelf maar een google-en

Complete code ziet er nu zo uit:
Code:
Sub RijKleuren()
Dim oTbl As Table
Dim i As Integer
Dim StrPwd As String
StrPwd = "11111"

    Application.ScreenUpdating = False
    If ActiveDocument.ProtectionType <> wdNoProtection Then ActiveDocument.Unprotect Password:=StrPwd
    If Selection.Information(wdWithInTable) = True Then
        If InStr(UCase(Selection.Cells(1).Range.Text), "DICHT") > 0 Then
            Selection.Rows(1).Shading.BackgroundPatternColorIndex = wdGray25
        Else
            Selection.Rows(1).Shading.BackgroundPatternColorIndex = wdWhite
        End If
    End If
    Application.ScreenUpdating = True
    ActiveDocument.Protect wdAllowOnlyFormFields, True, StrPwd
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan