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

Onder een bepaalde voorwaarde een stukje code uitvoeren.

Status
Niet open voor verdere reacties.

Lengerke

Gebruiker
Lid geworden
23 okt 2016
Berichten
41
Dag mensen,

Ik ben op zoek naar een stukje code waarmee het volgende gedaan kan worden:
Wanneer in A1 een waarde staat met een lengte van 4, dan moet een stukje code worden uitgevoerd dat ik al heb. Is de waarde niet 4, dan moet er niets gebeuren.
Alvast dank!
 
Hoi,

hoe bedoel je precies dat de waarde een lengte van 4 heeft

Moet de waarde een 4 zijn of moet er een getal staan dat bestaat uit 4 cijfers?
 
Dag Grilla,

Bedankt voor je snelle reactie.
Wat ik bedoel is als er b.v. 34-M (lengte=4) staat in A1, dat dan het stukje code moet worden uitgevoerd. Maar als er in A1 b.v. staat TER (lengte=3) of 35-67 (lengte=5), dat dan het stukje code niet wordt uitgevoerd.
Hoop dat het zo iets duidelijker is.
 
Wat is er mis met even een voorbeeldbestand plaatsen? Welke code wordt er zoal uitgevoerd of niet? Heb je al gekeken naar het Change event?
 
Hopelijk is het voorbeeld bestandje duidelijk.
 

Bijlagen

  • VersimpeldVoorbeeld.xlsx
    19,2 KB · Weergaven: 17
Dat weet ik. Hier is hij met code.
 

Bijlagen

  • VersimpeldVoorbeeld2.xlsm
    22,7 KB · Weergaven: 25
Zoiets:
Code:
Sub KopieerOnderVoorwaarde()
    If Len(Range("A1")) = 4 Then Range("E4:E10") = Range("G4:G10").value
End Sub

Of wat VenA zei over het Change event, dit achter het werkblad:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Range("E4:E10") = IIf(Len(Target) = 4, Range("G4:G10").Value, "")
    End If
End Sub
 
Laatst bewerkt:
Dag mensen,
Ik heb wat vergeten, sorry er moet als actie niet gewoon gekopieerd worden, maar de waarden moeten gekopieerd worden (want het zijn eigenlijk formules die er achter zitten.
De verbeterde beschrijving staat in het vernieuwde bestandje.
Alvast grote dank!
 

Bijlagen

  • VersimpeldVoorbeeld3.xlsm
    23,8 KB · Weergaven: 19
Heb je het wel getest? Dat is precies wat de Change functie in #9 doet.
Hij kopiëert niet de functies maar de waarden.
 
De code hoort niet thuis in de module van ThisWorkbook maar in de module van Blad1.

Anders moet je de code een beetje aanpassen.
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 
Waarbij je er dan rekening mee moet houden dat het dan voor ieder werkblad geldt.
Middels het sh object dat je dan voorhanden hebt kan je dat dan weer manipuleren.
 
Laatst bewerkt:
Met al jullie hulp ben ik eruit gekomen, dank, jullie zijn geweldig!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan