ActiveSheet foutmelding

Status
Niet open voor verdere reacties.

Maurice40

Gebruiker
Lid geworden
30 jan 2014
Berichten
36
Beste mensen,
ik heb een Macro gemaakt, waarin een nieuw blad (bijv Sheet4) wordt aangemaakt in excel. Dit blad krijgt de naam "nieuw" en in dit blad worden gegevens gekopieerd. Nadat de Macro klaar is, krijgt het nieuwe blad handmatig een nieuwe naam. Als ik daarna de macro opnieuw start krijg ik de foutmelding dat Sheet4 niet vindbaar is. Ik heb in VBA Sheet4.name = Nieuw aangepast in ActiveSheet.name = Nieuw, om de foutmelding op te lossen, maar dit werkt niet.
Kan iemand mij aan de oplossing helpen?

Groet, Maurice
 

Bijlagen

Vervang je macro door:

Code:
Sub Verwerken()
    Sheets.Add(, Sheets(Sheets.Count)).Name = Application.WeekNum(Date, 21)
End Sub
 
Bedankt voor je reactie. Helaas geeft je oplossing een foutmelding. Ik was in de veronderstelling dat wanneer ik dit nieuwe blad de tijdelijke naam "nieuw" meegeef, dat de macro dan zou moeten werken. De bedoeling van de macro is namelijk dat deze ervoor zorgt dat dat ik telkens nieuwe informatie automatisch in een nieuw blad kan zetten.
In mijn voorbeeld wordt in het werkblad een getal ingevuld en door op de knop verwerken te drukken wordt dit getal in een nieuw blad gezet. Als deze actie voltooid is, pas ik handmatig de naam van het nieuwe blad aan en als ik vervolgens een nieuw getal invul op het werkblad, zou die actie zich moeten herhalen. Maar daar krijg ik in mijn code een foutmelding bij ActiveSheet.

Code:
Sub Verwerken()

    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "Nieuw"
    Range("B1").Select
    Sheets("Werkblad").Select
    Range("B2").Select
    Selection.Copy
    Sheets("Nieuw").Select
    ActiveSheet.Paste
    Sheets("Werkblad").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A3").Select
End Sub
Hoe kan ik in de macro het nieuwe blad de naam "nieuw" geven zodat de rest van de macro afgewerkt kan worden?
 
Je hebt natuurlijk eerst uitgezocht waarom die foutmelding ontstaat; pas dan heeft het zin verder te werken. Zonder begrip kom je nergens.
 
ik heb handmatig de macro aangepast. Er stond eerst Sheet4.name = "Nieuw". Daar kreeg ik bij het opnieuw starten van de macro een foutmelding op. Dat komt omdat het blad Sheet4 inmiddels een andere naam had gekregen. Ik heb dat geprobeerd op te lossen door er van te maken ActiveSheet.name = "Nieuw". Dat leek me logisch. Maar dat werkt niet. Ik weet niet wat de reden van de foutmelding is. Kun je me hiermee helpen?
 
Wijzig in het voorbeeldje wat in B2

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B2")) Is Nothing Then
        Sheets.Add , Sheets(Sheets.Count)
        Sheets("Werkblad").[B2].Copy Sheets(Sheets.Count).Range("B2")
        MsgBox "Pas wel even de naam van de tab aan naar de huidige week", vbCritical, "Aanpassen"
    End If
End Sub

Je krijgt nu wel een melding maar geen foutmelding.;)
 

Bijlagen

Bedankt voor je reactie. In dit voorbeeld doet de code precies wat het hoort te doen. Ik heb 'm iets aangepast omdat ik in werkelijkheid een kolom moet kopieren en een knop wil gebruiken. Bij mij ziet ie er zo uit:
Code:
Sub Verwerken()

    Sheets.Add , Sheets(Sheets.Count)
    Sheets("Werkblad").[C:C].Copy Sheets(Sheets.Count).Range("C:C")
    MsgBox "Pas wel even de naam van dit blad aan naar de huidige week", vbCritical, "Aanpassen"
End Sub
Super bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan