• 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.

Celwaarde in meerdere kolommen checken via VBA

Status
Niet open voor verdere reacties.

Lummel

Gebruiker
Lid geworden
9 jul 2008
Berichten
24
Ik heb onderstaande code actief op een worksheet.
Daarin wordt gecheckt of de celwaarde in kolom 8 (=H) gelijk is aan 'Afgehandeld' en indien ja wordt de gehele rij verplaatst naar een ander werkblad.
Nu wil ik daaraan tevens de voorwaarde toevoegen dat kolom 16 (=P) niet leeg mag zijn c.q. hetzij 'ja' of 'nee' moet bevatten. Ik kom er ff niet uit :confused:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    HuidigeWaarde = ActiveCell.Value
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 8 And Target.Row > 5 And Target.Count = 1 Then
        Select Case ActiveCell.Value
            Case "AFGEHANDELD"
                If MsgBox("                      Wil je deze offerte verplaatsen" & vbNewLine & vbNewLine & "                       naar Afgehandelde offertes?" & vbNewLine & vbNewLine & vbNewLine & "  Let op! Indien nodig: lopend offertedossier verplaatsen!", vbYesNo, "Attentie") = vbNo Then
                    ActiveCell.Value = HuidigeWaarde
                    Exit Sub
                End If
          ActiveSheet.Unprotect Password:="123"
          Range("V" & Target.Row).Resize(, 2) = Array(Format(Now, "mm-dd-yy"), Environ("username"))
          Sheets("Afgehandelde offertes").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 27) = Cells(Target.Row, 1).Resize(, 27).Value
          Rows(Target.Row).Delete
          ActiveSheet.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
          , AllowFormattingCells:=True, AllowFormattingRows:=True, _
          AllowInsertingRows:=True, AllowDeletingRows:=True, AllowSorting:=True, _
          AllowFiltering:=True
          ActiveSheet.EnableSelection = xlUnlockedCells
            Case Else
                Exit Sub
        End Select
    End If
End Sub

BVD
 
of:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 8 And Target.Row > 5 And Target.Count = 1 Then
        If Target.Value = "AFGEHANDELD" And Target.Offset(, 8).Value = "ja" Or Target.Offset(, 8).Value = "nee" Then
            If MsgBox("                      Wil je deze offerte verplaatsen" & vbNewLine & vbNewLine & "                       naar Afgehandelde offertes?" & vbNewLine & vbNewLine & vbNewLine & "  Let op! Indien nodig: lopend offertedossier verplaatsen!", vbYesNo, "Attentie") = vbNo Then
                ActiveCell.Value = HuidigeWaarde
                Exit Sub
            End If
                ActiveSheet.Unprotect Password:="123"
                Range("V" & Target.Row).Resize(, 2) = Array(Format(Now, "mm-dd-yy"), Environ("username"))
                Sheets("Afgehandelde offertes").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 27) = Cells(Target.Row, 1).Resize(, 27).Value
                Rows(Target.Row).Delete
                ActiveSheet.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
                , AllowFormattingCells:=True, AllowFormattingRows:=True, _
                AllowInsertingRows:=True, AllowDeletingRows:=True, AllowSorting:=True, _
                AllowFiltering:=True
                ActiveSheet.EnableSelection = xlUnlockedCells
        End If
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan