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

Regel invoegen als cel is ingevuld

Status
Niet open voor verdere reacties.

Timmiesch

Gebruiker
Lid geworden
14 nov 2007
Berichten
630
In Excel heb ik het volgende staan:

Van Deventer
Stop 1 Utrecht
Stop 2 Amsterdam 1
Naar Amsterdam 2

Wat ik wil is dat als er achter elke stop een plaatsnaam komt te staan.
Dit is in te vullen!
Wanneer achter stop 1 een plaatsnaam staat wil ik dat stop 2 verschijnt en "naar" een cel naar onder gaat.enz.

Hoe krijg ik dit voor elkaar?

Bijgevoegd een voorbeeld
 

Bijlagen

Hier is code voor dit blad:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim arr As Variant
    
    If Target.Cells.Count = 1 Then
    
        If InStr(Target.Value, "Stop") = 1 Then
        
            Application.EnableEvents = False
            
            Target.Offset(1).Resize(, 2).Cut Target.Offset(2)
            
            arr = Split(Target.Value, " ")
            
            Target.Offset(1).Value = "Stop " & arr(UBound(arr)) + 1
            
            Application.EnableEvents = True
        
        End If
    
    End If
    
    Target.Offset(, 1).Select

End Sub

Wigi
 
Iets robuustere code:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim arr As Variant
    
    If Target.Cells.Count = 1 Then
    
        If InStr(Target.Value, "Stop") = 1 Then
        
            Application.EnableEvents = False
            
            Target.Offset(1).Resize(, 2).Cut Target.Offset(2)
            
            arr = Split(Target.Value, " ")
            
            arr(UBound(arr)) = arr(UBound(arr)) + 1
            
            Target.Offset(1).Value = Join(arr, " ")
            
            Application.EnableEvents = True
        
        End If
    
    End If
    
    Target.Offset(, 1).Select

End Sub

Wigi
 
Hij werkt bij mij niet.
als ik in A1 "Van" typ en in A2 "Stop 1" dan wil ik in a 3 "Stop 2" als er in B2 een plaatsnaam[tekst] staat!
Maar dat gebeurd niet:$
 
Als je "Stop 1" typt (Stop wel met een hoofdletter) dan maakt hij hier wel een nieuwe stop aan.

Beter is wel een UCASE te verwerken in die Instr functie.

Om het helemaal te laten werken naar jouw voorbeeld moet hij gaan kijken bij het invullen van iets of in de cel links het woordje "stop" staat, maar dat lijkt me maar een kleine variatie op de code van Wigi.
 
Als je "Stop 1" typt (Stop wel met een hoofdletter) dan maakt hij hier wel een nieuwe stop aan.

Beter is wel een UCASE te verwerken in die Instr functie.

Om het helemaal te laten werken naar jouw voorbeeld moet hij gaan kijken bij het invullen van iets of in de cel links het woordje "stop" staat, maar dat lijkt me maar een kleine variatie op de code van Wigi.


Code:
If InStr(UCase(Target.Value), "STOP") = 1 Then

Wigi
 
Na stop 1 ontstaat er wel een stop 2 maar telt niet verder!
Wil dat er alleen stop 2 komt te staan als ik in de cel achter stop 1 wat heb staan!

En die laatst genoemde code begrijp ik helemaal niet:$
 
Zo dan

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim arr As Variant
    
    If Target.Cells.Count = 1 Then
    
        If InStr(UCase(Target.Value), "STOP") = 1 Then
        
            If Len(Target.Offset(, 1).Value) > 0 Then
        
                Application.EnableEvents = False
                
                Target.Offset(1).Resize(, 2).Cut Target.Offset(2)
                
                arr = Split(Target.Value, " ")
                
                arr(UBound(arr)) = arr(UBound(arr)) + 1
                
                Target.Offset(1).Value = Join(arr, " ")
                
                Application.EnableEvents = True
                
            End If
        
        End If
    
    End If
    
    Target.Offset(, 1).Select

End Sub

Verder tellen? Er moet gewoon 1 naar 2 gaan, 2 naar 3, 3 naar 4 enz.

1 bijtellen per keer dat er een "Stop en getal" getypt wordt.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan