Compileerfout in vba code

Status
Niet open voor verdere reacties.

gast0660

Terugkerende gebruiker
Lid geworden
28 dec 2010
Berichten
4.530
Hallo iedereen,
Bij het stukje: Dim strto As String en Dim strbody As String krijg ik een foutmelding nl. Compileerfout dubbele declaratie in het huidig bereik.

Code:
 With OutMail
            .To = strto
             Dim cell As Range
    Dim strto As String
    For Each cell In ThisWorkbook.Sheets("Sheet1").Range("B1:B10")
        If cell.Value Like "?*@?*.?*" And LCase(cell.Offset(0, 1).Value) = "yes" Then
            strto = strto & cell.Value & ";"
        End If
    Next cell
    If Len(strto) > 0 Then strto = Left(strto, Len(strto) - 1)
            .CC = ""
            .BCC = ""
            .Subject = "Simulaten gevraagt voor volgende dagen: (indien beschikbaar invullen en terugsturen)"
            .body = strbody
               Dim strbody As String
    With ThisWorkbook.Sheets("Blad1")
        strbody = "Hi there" & vbNewLine & vbNewLine & _
                  .Range("A1") & vbNewLine & _
                  .Range("A2") & vbNewLine & _
                  .Range("A3") & vbNewLine & _
                  .Range("A4")
    End With

In bijlage het testbestandje.
Ik zie niet direct wat ik fout doe.
Alvast bedankt voor het meedenken

Greetz
 

Bijlagen

  • Map1.xlsm
    20,1 KB · Weergaven: 34
Haal die Dim strto As String daar weg waar deze staat en zet hem, net als de ander Dim opdrachten, boven in je routine. Hetzelfde geldt voor Dim strbody As String.
Waarom je die op die plek hebt gezet is mij een raadsel.

Daarnaast dit: Dim cell As Range
Voorkom het gebruik van correct Engelse woorden als naam van een variabele, zoals Cell in dit geval.
Die hoort trouwens ook boven in je routine.

Tip:
Gebruik Option Explicit bovenin de Module, daarmee voorkom je dit soort problemen.
 
Laatst bewerkt:
Hoi Edmoor,
Hartelijk dank voor uw snelle reactie.
Hoe kon ik zo stom zijn:eek:
Bij deze, vraag is opgelost

Greetz
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan