Excel VBA: error 1004

Pagina: 1
Acties:

  • Ghost Rider
  • Registratie: Oktober 2004
  • Laatst online: 31-01 21:41
Ik heb de volgende code

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub btnAdd_Click()

Dim ws As Worksheet
Dim Day As Long
Dim Month As String
Dim Year As Long
Dim MyDate As Date
Dim varA As Variant
Dim varB As Variant
Dim varZ As String
Dim flg As Boolean

Day = Me.cmbDag.Value
Month = Me.cmbMaand.Value
Year = Me.cmbJaar.Value

MyDate = Day & "-" & Month & "-" & Year

varA = DayName(MyDate)

varB = ISOWeekNum(MyDate)

varZ = Me.cmbMaand.Value

For Each ws In Worksheets           'controle of sheet al bestaat
    If ws.Name Like "varZ" Then
    flg = True
    End If
Next

        If flg = True Then
        Sheets(varZ).Select
        Call invullen
        Exit Sub
        Else
        Sheets("Template").Copy Before:=Sheets("Template")
        Sheets("Template (2)").Name = varZ
        Sheets(varZ).Move After:=Sheets(Sheets.Count)
        Range("D1") = Month
        Range("E1") = Year
        Call invullen
        Exit Sub
        End If
    
End Sub



bij de controle moet het script kijken of er al een sheet is met de naam van de maand. Zo ja, dan moet die actief worden. Zo nee, dan moet er een nieuwe sheet aangemaakt worden aan de handvan een template. De controle gaat echter fout, excel probeert steeds een nieuwe sheet aan te maken, ook al bestaat ie al. Dan krijg ik dus de error dat ik sheets niet dezelfde naam mag geven. Let wel, de bestaande sheet mag niet overschreven worden.

kan iemand me helpen?

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 09-07 19:01
Visual Basic:
1
If ws.Name = varZ Then

  • Ghost Rider
  • Registratie: Oktober 2004
  • Laatst online: 31-01 21:41
Bolukan schreef op vrijdag 15 juni 2007 @ 11:39:
Visual Basic:
1
If ws.Name = varZ Then
Dat had ik al geprobeerd, toen werkte het niet. Nu opeens wel, zal wel een typfout gemaakt hebben ofozo.

Bedankt