• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

uitsluiten rij van programmacode Excel

Status
Niet open voor verdere reacties.

jwstolte

Gebruiker
Lid geworden
25 nov 2006
Berichten
87
Ik heb na heel lang prutsen eindelijk het voor elkaar dat ik automatisch een rij kan laten verdwijnen en verplaatsen naar tabblad 2 als alle acties gereed zijn.

Nu wil ik alleen graag dat de eerste rij, hier van wordt uitgesloten. Als ik op dit moment namelijk perongeluk bovenaan klik op 1 van de cellen, dan verdwijnt die rij ook, dat wil ik liever niet.
excel.PNG
Ik heb al geprobeerd om de rij te blokkeren via blad beveiligen, maar dan werkt de formule niet meer/ krijg ik een foutmelding.

kan iemand helpen?:d


hierbij de programmacode:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rCell As Range
Dim rRange As Range
Dim check As Integer

check = 0
Set rRange = Range("A" & Target.Row, "U" & Target.Row)

For Each rCell In rRange.Cells
If rCell.Value <> "" Then check = check + 1
Next rCell

If check = 21 Then
Target.EntireRow.Copy Sheets("Afgerond indienst").Range("B" & Rows.Count).End(xlUp).Offset(1, -1)
Target.EntireRow.Delete xlUp
Sheets("Afgerond indienst").Range("B" & Rows.Count).End(xlUp).Offset(0, 16).Value = Date + Time
Else: Exit Sub
End If
End Sub
 
1e regel in je macro
if target.row=1 then exit sub
 
bedankt voor je snelle reactie!
ik krijg alleen nu een foutmelding bij elke handeling die ik doe; excel 2.PNG
 
ik bedoelde natuurlijk 1e regel binnen de macro.
Verder heb ik niet naar de macro gekeken.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rCell  As Range
    Dim rRange As Range
    Dim check  As Integer

  [COLOR="#FF0000"]  If Target.Row = 1 Then Exit Sub[/COLOR]
    
    check = 0
    Set rRange = Range("A" & Target.Row, "U" & Target.Row)

    For Each rCell In rRange.Cells
        If rCell.Value <> "" Then check = check + 1
    Next rCell

    If check = 21 Then
        Target.EntireRow.Copy Sheets("Afgerond indienst").Range("B" & Rows.Count).End(xlUp).Offset(1, -1)
        Target.EntireRow.Delete xlUp
        Sheets("Afgerond indienst").Range("B" & Rows.Count).End(xlUp).Offset(0, 16).Value = Date + Time
    Else: Exit Sub
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan