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

VBA code aanpassen

Status
Niet open voor verdere reacties.

luitgapj

Gebruiker
Lid geworden
18 jan 2012
Berichten
49
Hallo,

Wie kan mij helpen met het aanpassen van onderstaande code :

rivate Sub Worksheet_Change(ByVal Target As Range)

If Len(Range("E5")) > 40 Then
Range("E5").Interior.Color = vbRed
End If

If Len(Range("E5")) < 41 Then
Range("E5").Interior.Color = vbWhite
End If

If Len(Range("E5")) > 40 Then
MsgBox (" DE EQUIPMENT OMSCHRIJVING MAG NIET LANGER ZIJN DAN 40 KARAKTERS, HET AANTAL KARAKTERS WAT NU GEBRUIKT WORDT IS : " & Len(Range("E5")))
End If

End Sub

In bovenstaand geval kleurt cel E5 rood als deze meer dan 40 karakters bevat, en verschijnt er een popup welke aangeeft hoeveel karakters er zijn gebruikt.
Hoe kan ik in deze code aangeven dat dit niet alleen voor E5, maar b.v. de range E5 t/m E100 moet gelden.

Ik kan natuurlijk ook met voorwaardelijke opmaak de cellen in de range laten kleuren, en dan heb ik alleen nog de popup nodig in een range van E5 t/m E100

Bij voorbaat dank !
 
Doe eens de test:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E5:E100")) Is Nothing Then
 Target.Interior.Color = vbWhite
  If Len(Target) > 40 Then
   Target.Interior.Color = vbRed
    MsgBox (" DE EQUIPMENT OMSCHRIJVING MAG NIET LANGER ZIJN DAN 40 KARAKTERS, HET AANTAL KARAKTERS IN " & Target.Address & " IS : " & Len(Range("E5")))
    Target = Left(Target, 40)
 End If
End If
End Sub
 
Laatst bewerkt:
Kijk eens of dit werkt.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  For Each cl In Range("E5:E100")
    If Len(cl) > 40 Then
      cl.Interior.Color = vbRed
      MsgBox (" DE EQUIPMENT OMSCHRIJVING MAG NIET LANGER ZIJN DAN 40 KARAKTERS, HET AANTAL KARAKTERS WAT NU GEBRUIKT WORDT IS : " & Len(cl))
    End If

    If Len(cl) < 41 Then
      cl.Interior.Color = vbWhite
    End If
  Next cl
End Sub
De volgende keer je code selecteren en dan in het bovenstaande menu op # klikken
Je code word dan net zo als mijne weergegeven.

Ik zie net dat "Cobbe" me voor was met een veel betere code.
 
Laatst bewerkt:
Best Cobbe,

Het kleuren van de cellen in de range, langer dan 40 karakters werkt perfect.
Alleen geeft de MsgBox in iedere cel in de Range E5 : E100 het aantal karakters weer van cel E5

Logisch, want dat staat ook in onderstaand stukje van de code :

MsgBox (" DE EQUIPMENT OMSCHRIJVING MAG NIET LANGER ZIJN DAN 40 KARAKTERS, HET AANTAL KARAKTERS WAT NU GEBRUIKT WORDT IS : " & Len(Range("E5")))

Ook deze zou ik graag aangepast zien zodat er niet alleen naar het aantal karakters in E5, maar in de range E5 : E100 afzonderlijk gekeken wordt.

Bij voorbaat dank
 
Vervang die Len(Range("E5") door Len(Target).
 
Kan dan wel zijn ZAPATR, maar nu heb ik er tenminste wel een die werkt zoals ik het graag wil ! ! ! !
 
Die zou je ook gekregen hebben als je in het vorige topic je vraag duidelijker had omschreven.
Maar waar het om gaat is dat zelfs maar de kleinste inspanning (nl. om ook zelf eens wat te doen), kennelijk te veel is voor jou.
Triest hoor, daar heb je alleen jezelf mee.
 
*knip*
En helaas kunnen we niet allemaal zo slim zijn als jij wel denkt te zijn ! ! !
En als je zelf na zou denken zou je niet zon antwoord geven ! ! !
 
Laatst bewerkt door een moderator:
Je zou toch beter wat meer respect kunnen opbrengen voor iemand die zich belangeloos inzet om u een oplossing voor uw probleem te zoeken en aan te reiken.
Als je dan toch iemand een nieuwe nickname voorstelt zorg er dan voor dat je die tenminste zonder fout kan schrijven. :( :(
 
Ach ja, als het hier niet lukt:
http://www.helpmij.nl/forum/showthread.php/840019-VBA-code-voor-karakters-tellen?

dan openen we maar een nieuw topic.
Nogal zielig.

Het is goed dat u dit opmerkt, minder goed dat je dit zelf probeert af te handelen, daar zijn wij moderators voor.
Volgende keer graag gebruik maken van de "Attendeer moderator" knop en dan zullen wij een van de vragen sluiten.



Wat betreft de 2 attendeer moderator meldingen (1 van zaptar en 1 van de TS), jullie zijn allebei niet echt vriendelijk bezig.
Onthoud dat het een gratis hulpforum betreft waar mensen komen voor hulp.
Ik gooi deze vraag ook meteen op slot aangezien er nu een antwoord is in de volgende topic: http://www.helpmij.nl/forum/showthread.php/840019-VBA-code-voor-karakters-tellen?

@luitgapj, denk in het vervolg even na voordat u een bericht plaatst waar u een ander forumlid beledigd.(dit kan echt niet)
Ook raad ik u aan de regels nogmaals te lezen: http://www.helpmij.nl/forum/register.php?hr=ja
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan