dubbelzinnige naam in vba

Status
Niet open voor verdere reacties.

krispat

Gebruiker
Lid geworden
15 apr 2019
Berichten
12
hallo, ik heb een dubbelzinnige naam in vba staan, al eea geprobeerd maar kom er niet uit .
vba heeft als functie als er in kolom F een waarde veranderd dat er een datum update komt. dit werkt op zich
nu heb ik wat toegevoegd om als de waarde in kolom F veranderd , dat de oude waarde in een andere cel komt.
dan krijg ik de melding en zie het ook maar weet niet hoe dit op de juiste manier op te lossen.
wachtwoord vba is 1x spatie indrukken.
 

Bijlagen

je hebt achter blad 1 twee maal een worksheet_change event staan. Dat kan maar 1 x natuurlijk.
 
Je hebt 2x de Sub Worksheet_SelectionChange(ByVal Target As Range).
Zo'n sub mag maar 1x voor komen.
Tevens staan er Dim opdrachten tussen een End Sub en een Sub.
Die horen bovenin de module te staan.
 
Bepaal een voorwaarde en laat afhankelijk van de controle erop de ene of de andere Sub uitvoeren.
Voorbeeld:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Voorwaarde = True Then
        Call DeEne (Target)
    Else
        Call DeAndere (Target)
    End If
End Sub

Private Sub DeEne(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("F:F"), Target)
xOffsetColumn = 10
If Not WorkRng Is Nothing Then
    Application.EnableEvents = False
    For Each Rng In WorkRng
        If Not VBA.IsEmpty(Rng.Value) Then
            Rng.Offset(0, xOffsetColumn).Value = Now
            Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy"
        Else
            Rng.Offset(0, xOffsetColumn).ClearContents
        End If
    Next
    Application.EnableEvents = True
End If
End Sub

Private Sub DeAndere(ByVal Target As Range)
    Dim I As Long
    Dim xCell As Range
    Dim xDCell As Range
    Dim xHeader As String
    Dim xCommText As String
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    xHeader = "Previous value :"
    x = xDic.Keys
    For I = 0 To UBound(xDic.Keys)
        Set xCell = Range(xDic.Keys(I))
        Set xDCell = Cells(xCell.Row, 17)
        xDCell.Value = ""
        xDCell.Value = xDic.Items(I)
    Next
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
Zet ook die Dim instructies die buiten de Subs staan bovenin de module.
 
Laatst bewerkt:
Ik krijg het helaas niet voor elkaar.
Eea geprobeerd. Maar helaas niet kundig genoeg
 
Het is precies zoals ik zei.
Je zal alleen zelf de voorwaarde moeten bepalen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan