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

Reminder sturen per regel die bepaalde tekst bevat

Status
Niet open voor verdere reacties.
hmm met dat stukje sorteer code erbij, doet de macro het niet meer.
Heb jou bijlage gepakt.

Doet hij het bij jou wel?

Wordt het eind van de for-loop aangeduid met end if? Grote kans dat ik hem verkeerd ga plaatsen haha
 
Wordt het eind van de for-loop aangeduid met end if?

Oh god. Zonder denigrerend te willen doen: als je een if-statement niet kan onderscheiden van een for-loop, moet je misschien overwegen toch iets van een cursus programmeren te volgen.

Nee, je for-loop wordt met 'Next' afgesloten - in jouw geval met 'Next cell'. De regel daarna zou bijvoorbeeld prima zijn.
 
Ben minder dan een maand geleden begonnen met te klooien met VBA dus kijk er niet van op hahah
Allemaal puzzelstukjes die ik nog een plaats moet geven.

Anyway, het sorteren doet het goed nu. Alleen maakt de macro geen mails meer aan..

Zal er zelf ook nog mee spelen waarom hij er geen zin in heeft.
 
Hallo,

Lekker weekend gehad?
Ik heb dit weekend nog zitten kijken naar mijn reminder macro, alleen krijg ik hem niet meer aan de praat met de oldcell lijncodes.
Het sorteren gaat prima, van eerst sorteren op betrokkenen en daarna weer op klachtnummers.

Maar zodra ik de oldcell.value codes erbij voeg dan wilt hij geen mails meer aanmaken.
Heb je misschien een oplossing hiervoor? Denk dat dit het laatste aandachtspuntje is, tot de macro volledig werkt.
Ik heb hierbij het laatste bestand gebruikt wat ZiGZaG37 heeft geüpload.
 
Mijn weekend was ook erg goed :)

Kijk aan. Precies wat ik hebben wou. Ik denk dat hierbij mijn macro compleet is. Echt bedankt voor de hulp!
Ik zal deze week nog het één en ander testen, misschien dat ik nog iets tegen kom, maar dat zie ik dan wel.

Groet

Steefpeef
 
Het kan ook met VBA.
En het gebruik van Tabellen maakt het leven in Excel ook een stuk eenvoudiger.

Code:
Sub M_snb()
   sn = Blad1.Cells(1).CurrentRegion.Resize(, 10)
   
   Set d_00 = CreateObject("scripting.dictionary")
   For j = 2 To UBound(sn)
     If sn(j, 7) <> "" Then d_00.Item(sn(j, 10)) = d_00.Item(sn(j, 10)) & vbLf & Join(Application.Index(sn, j), vbTab)
   Next
        
   With CreateObject("outlook.application")
      For Each it In d_00.keys
        With .createitem(0)
           .To = it
           .Subject = "reminder"
           .body = d_00(it)
           .send
        End With
      Next
   End With
End Sub

Voor Dictionaries: http://www.snb-vba.eu/VBA_Dictionary.html
Voor Excel & Outlook: http://www.snb-vba.eu/VBA_Outlook_external.html
 
Laatst bewerkt:
Zo, daar ben ik weer. :D

De macro werkt vooralsnog prima, mijn vraag gaat over het bereik van de macro.
Het is namelijk zo, dat steeds nieuwe regels worden toegevoegd en dat dit na verloop van tijd buiten het huidige filterbereik gaat vallen.

Kan dit met een lijncode worden opgevangen? Een variatie op:
Code:
Set rng = Sheets("Registratie").Range("A1:Y" & Cells(Rows.Count, 2).End(xlUp).Row)

Of dat ik dit bij elk limit steeds verschuif van rij 100 naar 200 enz.?

Of natuurlijk iets anders?

Nog bedankt voor de bronnen snb, die zal ik zeker eens raad plegen!
 
Jouw laatste vraag is met mijn macro al beantwoord.

Heb je hem al getest ?
 
Ik zal je eerlijk bekennen dat dat stukje code, met mijn zeer beperkte VBA kennis, erg op chinees lijkt en dus geen idee hoe die wat doet en waarom.

Aangezien ik mijn collega's ook wat duidelijkheid moet geven over de macro, moet ik mijn huidige stuk code (afkomstig van rondebruijn) even aanhouden. Die begrijp ik in grote lijnen gelukkig.

Ik heb hem daarnaast wel even getest maar deze heeft niet het beoogde resultaat.
test snb.PNG
 
Zoals ik al zei: dat is VBA.

Hoezo niet ?
 
Dit is het beoogde resultaat:
test snb 2.PNG

Met alle respect, maar ik zie je dit niet 1,2,3 aan mij uitleggen wat alle lijncodes in die macro betekenen, en zie daarom geen reden om van mijn huidige code (rondebruijn) af te wijken, die daarnaast al 100% werkt.

Ik zal zeker eens in die bronnen gaan kijken die je hebt gepost, maar voor het moment zoek ik een (kleine) aanpassing in mijn huidige VBA macro, om hier het bereik mee aan te passen.
 
Dit werkt inderdaad. Top!
Ik heb dit ook toegepast bij het bereik van kolommen die die laat zien in de mail:
van
Code:
 With Ash.AutoFilter.Range
                    On Error Resume Next
                    Set rng = Ash.Range("A1:C50" & ",E1:F50" & ",J1:J50" & ",U1:U50").SpecialCells(xlCellTypeVisible)

naar

Code:
  With Ash.AutoFilter.Range
                    On Error Resume Next
                    Set rng = Ash.Range("A1:C" & lastrow & ",E1:F" & lastrow & ",J1:J" & lastrow & ",L1:M" & lastrow).SpecialCells(xlCellTypeVisible)

Werkt vooralsnog prima.

Als ik nog iets heb dan hoor je het wel :p haha Bedankt!
 
Voor wie wel geïnteresseerd is in VBA:

Code:
Sub M_snb()
   sn = Blad1.Cells(1).CurrentRegion.Resize(, 10)
   c00 = "<Table><tr><td>" & Join(Application.Index(sn, 1), "</td><td>") & "</td></tr>"
   
   Set d_00 = CreateObject("scripting.dictionary")
   For j = 2 To UBound(sn)
     If sn(j, 7) <> "" Then d_00.Item(sn(j, 10)) = d_00.Item(sn(j, 10)) & "<tr><td>" & Join(Application.Index(sn, j), "</td><td>") & "</td></tr>"
   Next
        
   With CreateObject("outlook.application")
      For Each it In d_00.keys
        With .createitem(0)
           .To = it
           .Subject = "reminder"
           .HTMLbody = c00 & d_00(it) & "</table>"
           .send
        End With
      Next
   End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan