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

Hoe kan ik een VBA code verkorten?

Status
Niet open voor verdere reacties.
Ik moet helaas melden dat de formule niet helemaal lekker loopt, bovendien gaat het helemaal fout bij kolom J.

Wie heeft hier een oplossing voor en kan mij hierbij helpen? :confused::(:(

Hoi Niels,

Wederom een geniale oplossing, wat mij al maanden bezig houdt heb jij met een formule opgelost.


Over die fout melding ga ik wel afwachten met de hoop dat er misschien iemand daar een oplossing voor heeft, anders vind ik dit zo ook prima als het niet anders kan.

Ontzettend veel dank voor je hulp.
Kaan
 
Graag wat meer uitleg wat er niet lekker loopt en wat er helemaal mis gaat.
Het probleem kan heel goed je samen gevoegde cellen zijn, daar is vba nl niet blij mee.


Niels
 
Goedemorgen Niels,

Ik heb samen gevoegde cellen verwijderd en zie inderdaad dat het wel gewoon zijn werk doet.

Dank je wel
 
Hi Niels,

Ik durf het niet te vragen maar kan het ook op dit moment aan niemand anders vragen?

Ik wil dat de cel een kleur krijg maar ik zie dat het bij kolom J fout gaat want, als ik in de cel J een waarde invoer word ook de cellen H en I ook gekleurd.
Kun je me hiermee ook helpen?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("J:J"), Range("M:M"), Range("P:P"))) Is Nothing Then  Target.Offset(, -1).Value = Cells((Target.Row - (Target.Row Mod 5)) + 3, 8).Value
Target.Interior.Color = RGB(216, 228, 188)
End Sub
 
Geen probleem

Het kleuren van de cel moet ook binnen de if staan, het plaatsen van de waarde in kolom K door de macro is ook een wijziging van het werkblad en
dan wordt de macro dus nog een keer uit gevoerd , er wordt dan niet voldaan aan de kolom dus dat stuk wordt niet uitgevoerd maar het kleuren wel
omdat hier geen voorwaarden voor gelden.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Union(Range("J:J"), Range("M:M"), Range("P:P"))) Is Nothing Then
    Target.Offset(, -1).Value = Cells((Target.Row - (Target.Row Mod 5)) + 3, 8).Value
    Target.Interior.Color = RGB(216, 228, 188)
    End If

End Sub

Niels
 
Niels,

De code loopt niet helemaal lekker helaas!

Ik heb even een voorbeeldje erbij gevoegd om te laten zien waar het fout gaat!

Als ik meerde cellen selecteer en daar de waarde van ga wissen loopt het module door en alle cellen worden ingevuld met de waarde wat daarvoor staat.
Heb je hier wel een oplossing voor?
 

Bijlagen

  • Deplist-5-2.xlsm
    83,1 KB · Weergaven: 14
Zo zou het kunnen:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Union(Range("J:J"), Range("M:M"), Range("P:P"))) Is Nothing Then
    Target.Offset(, -1).Value = Cells((Target.Row - (Target.Row Mod 5)) + 3, 8).Value
    Target.Interior.Color = RGB(216, 228, 188)
    End If

End Sub

PS je zou de samengevoegde cellen verwijderen, dit gaat problemen geven als je het niet doet.

Niels
 
Laatst bewerkt:
Niels,

Op het moment dat ik een andere module run krijg ik een error melding: Fout 1004 - Door de toepassing of door object gedefinieerde fout Zie bijlage voor een voorbeeld, klik op de button en je kunt het zien.

Ik ben sinds vanmorgen al hiermee bezig maar door dat ik het niet helemaal snap kom ik niet tot een oplossing.

Zou je nog heel even hier naar kunnen kijken?

Samen gevoegde cellen heb ik al verwijdert, nogmaals bedankt daarvoor.

Groet, Kaan
 

Bijlagen

  • Depalist-3.xlsm
    45,3 KB · Weergaven: 14
Laatst bewerkt:
Dat komt omdat de macro cellen wijzigt en om dat te voorkomen voeg je onderstaande toe

als je dit gebruikt moet je het altijd weer aanzetten, als je bv een exit sub hebt zet je hem daar ook weer aan.



Code:
Sub update()
    Application.EnableEvents = False
    '============
    'jouw code
    '============
    Application.EnableEvents = True
End Sub

Niels
 
Niels,

Ook dit probleem is hiermee opgelost, 1000 en 1 maal bedankt voor alles.

Ik ga nu alles samen voegen.

Mvg, Kaan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan