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

Stukje VBA voor een macro

Status
Niet open voor verdere reacties.

bascas

Gebruiker
Lid geworden
18 mei 2006
Berichten
441
Hallo, ik ben op zoek naar een stukje VBA wat er voor zorgt dat er een leeg tabblad wordt aangemaakt na het laatste tabblad met de titel (wk 1) verhoogt met 1. Dus (wk 2), en daarna weer (wk 3) enz, enz.

Groetjes Bas;)
 
Code:
Sheets.Add after := Sheets(Sheets.Count)
Sheets(Sheets.Count).name = "WK " & Sheets.Count-1
 
Laatst bewerkt:
Edmoor, bedankt voor je reactie. Het werkt, alleen tabblad 1 heet bij mij " voorblad" en dan krijg je wk 1, wk 2, enz. hij moet dus eigelijk doornummeren en dan -1.

Groet Bas
 
Zie aangepaste code.
 
Helemaal Top. Laatste verbetering, als ik nu een knop met een macro eronder wil geplaatst hebben op die nieuwe tabbladen, welk stukje code ontbreekt er dan nog?
Groet Bas
 
Dat hangt een beetje van de soort knop af.
Indien het een knop is van ActiveX dan kun je de code er direct onder zetten.
Indien het een knop van een formulier is dan dien je te verwijzen naar een macro.
In dat geval, geef een naam aan de code bijv.:

Code:
Sub Bascas()
Sheets.Add after := Sheets(Sheets.Count)
Sheets(Sheets.Count).name = "WK " & Sheets.Count-1

End Sub

Zorg dat de knop vervolgens naar de knop Bascas verwijst.

Met vriendelijke groet,


Roncancio
 
Aanvulling op de eerdere code:

Code:
    Sheets(Sheets.Count).Select
    Sheets(Sheets.Count).Buttons.Add(156, 47, 77, 29).Select
    Selection.OnAction = "macro1"
    Selection.Characters.Text = "Dit is de knop"

Waarbij macro1 de naam is van de macro die je aan de knop wilt toewijzen.
De dimensies van de knop kun je naar eigen wens aanpassen.

Dit gaat dus om een formulier knop en geen ActiveX.
 
Laatst bewerkt:
De totale code zal dan als volgt zijn:
Code:
Sub Bascas()
    Sheets.Add after:=Sheets(Sheets.Count)
    With Sheets(Sheets.Count)
        .Name = "WK " & Sheets.Count - 1
        With .Buttons.Add(156, 47, 77, 29)
            .OnAction = "macro1"
            .Characters.Text = "Dit is de knop"
        End With
    End With
End Sub

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Klopt helemaal en zo is 'ie echt netjes :thumb:
 
En zo ben ik er weer erg blij mee! Hartelijk bedankt heren.

groet Bas
 
Toch nog een probleempje. Ik heb dit document gemaakt in excel 2003. Heb thuis nergens last van. Als ik het op mijn werk open in 2003 dan gaat ie ineens cellen berekenen, en duurt alles heel erg lang. is nu het systeem op mijn werk zo traag, ben ik zo snel, of zijn de formules te lang?

Doc zit erbij

Groet Bas
Bekijk bijlage Compensatie overzicht afd X.xls
 
Hij gaat bij mij heel snel maar vervolgens zie ik alleen maar verwijzingsfouten: #VERW!
Kolom B (wk1) in het Totaal blad is leeg. Alles lijkt een kolom opgeschoven waardoor de functie terug komt met de #VERW! fout.
 
Laatst bewerkt:
De formule werkt gewoon, zij het dat de berekening vrij traag is.
De #VERW! foutmelding ontstaat omdat er naar werkbladen verwezen wordt die niet in het bestand zitten.

Met vriendelijke groet,


Roncancio
 
Ok, ik zie verder geen problemen maar hij zal ook snel klaar zijn omdat de berekeningen niet uitgevoerd kunnen worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan