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

Toevoeg Error

Status
Niet open voor verdere reacties.

recius

Gebruiker
Lid geworden
8 sep 2009
Berichten
16
Beste,

Ik heb een excel bestant waar ik elke week een nieuwe sheet toevoeg met het weeknummer als sheetnaam.

Ik heb de volgende macro:

Sub nieuwe_week()


Dim Nieuweweek As String
Dim ws As Worksheet

Nieuweweek = Application.InputBox("Vul het weeknummer in:", "weeknummer", "weeknummer", Type:=2)


Set ws = ActiveWorkbook.Sheets("nieuw")

Sheets("nieuw").Copy Before:=Workbooks("agenda(2).xls").Sheets(3)
Sheets("nieuw (2)").Name = Nieuweweek

On Error Resume Next

If Err.Number <> 0 Then

MsgBox Nieuweweek & " bestaat al"

End If

On Error GoTo 0


Dim lngAantalSheets As Long
Dim i As Long
Dim rnWorksheetNaam As Range

lngAantalSheets = Worksheets.Count

For i = 1 To lngAantalSheets
Set rnWorksheetNaam = Worksheets(i).Cells(4, 2)
rnWorksheetNaam = Worksheets(i).Name
Next i


End Sub

Hij kopieert hier de sheet "nieuw" (dat is een soort van template), en de opgegeven naam in het onvoerveld (het weeknummer) is de naam van de sheet. Het toevoegen gaat prima, maar zodra ik een sheet toevoeg met dezelfde naam krijg ik wel een error maar voegt hij hem wel nogsteeds toe als "nieuw (2)". Iemand hier een oplossing voor?

thnx in advance :thumb:
 
Dat komt omdat je eerst het blad invoegt en pas daarna een controle uitvoert.
Je zou het kunnen oplossen door een kleine lus in te bouwen achter de input:

Code:
For i = 1 To Sheets.Count
If Sheets(i).Name = Nieuweweek Then
MsgBox "Bestaat al"
Exit Sub
End If
Next

Succes Cobbe
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan