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

toevoegen tabblad dmv. macro

Status
Niet open voor verdere reacties.

jeroen2605

Gebruiker
Lid geworden
23 dec 2010
Berichten
18
Ik wil graag in een bestand mbv. een macro het laatste tabblad kopiëren. en dan graag zo dat het nieuwe tabblad aan het eind komt te staan.

Ook zou ik graag willen dat bij het kopiëren van het tabblad een regel wordt toegevoegd op een "hoofd tabblad" met daarin formules die naar het nieuwe tabblad verwijzen.

Ik heb het dmv. macro opnemen en daarna de macro iets bewerken al voor elkaar gekregen dat het tabblad word gekopieerd en dat de regel op het "hoofd tabblad" wordt toegevoegd. maar nu wil ik graag dat de tabblad naam de datum van vandaag wordt. als ik dit doe door de tabblad naam aan te laten passen naar 'date', dan werken de formules niet meer (niet zo gek, de tabblad naam in de formules klopt immers niet meer), dus wat moet ik dan bij de formules als tabblad naam invullen in de macro, zodat de formule de data van het nieuwe tabblad haalt?

heb deze macro code nu in gebruik:
Code:
Sub Nieuw_tab()
    Sheets("Main").Select
    Sheets("Main").Copy After:=Sheets(3)
    Sheets("Main (2)").Name = Date
       Sheets("Cashflow").Select
    Range("A7:F7").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A5:F5").Select
    Selection.Copy
    Range("A7").Select
    ActiveSheet.Paste
    Range("A7").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "Date"
    Range("B7").Select
    ActiveCell.FormulaR1C1 = _
        "=SUMIF('Date'!R3C12:R40C12,""Bank"",'Date'!R3C11:R40C11)"
    Range("D7").Select
    ActiveCell.FormulaR1C1 = _
        "=SUMIF('Date'!R3C12:R40C12,""Kas"",'Date'!R3C11:R40C11)"
    Range("F7").Select
    ActiveCell.FormulaR1C1 = "Inleg tot " & Date
End Sub

het tabblad 'main' wordt nu gekopieerd en achter tabblad 2 gezet en de kopie krijgt de datum van vandaag als naam. ik zou graag willen dat hier het laatste tabblad word gekopieerd en de kopie aan het einde komt te staan.

en bij de SUMIF formules aan het eind moet op de plek van date de naam van het nieuwe tabblad komen te staan (deze formules moeten zoeken in het nieuwe tabblad!)

Hopelijk kan iemand mij helpen!
 
Code:
Sub Nieuw_tab()
    Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = Format(Date, "dd-mm-yyyy")
    With Sheets("Cashflow")
        .Range("A7:F7").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        .Range("A5:F5").Copy .Range("A7")
        .Range("A7") = "Date"
        .Range("B7") = "=SUMIF('" & Sheets(Sheets.Count).Name & "'!R3C12:R40C12,""Bank"",'" & _
                                Sheets(Sheets.Count).Name & "'!R3C11:R40C11)"
        .Range("D7") = "=SUMIF('" & Sheets(Sheets.Count).Name & "'!R3C12:R40C12,""Kas"",'" & _
                                Sheets(Sheets.Count).Name & "'!R3C11:R40C11)"
        .Range("F7") = "Inleg tot " & Date
    End With
End Sub
 
Dit is inderdaad wat ik zocht! bedankt!

nu worden in een cel op het hoofd tabblad ook nog de totaal waardes van de tabbladen opgeteld. is het mogelijk dat als er een nieuw tabblad gemaakt wordt, met bovenstaande macro, de totaal waarde van dat nieuwe tabblad ook mee geteld wordt?

stel in cel A1 op het hoofd tabblad wordt het totaal van de cellen E5 van alle overige tabbladen opgeteld. als ik dan een nieuw tabblad erbij maak, moet de cel E5 van dat tabblad bij in die som komen te staan.
 
Zo zou het kunnen in de code van Rudi (vanaf End sub gezien).
Code:
Dim iWS
.Range("A1").ClearContents
        For iWS = 2 To Sheets.Count
        .Range("A1") = .Range("A1").Value + Sheets(iWS).Range("E5")
        Next iWS
    End With
 End Sub
 
Laatst bewerkt:
is het ook mogelijk om een verwijzing te maken in een macro, naar een cel die niet altijd op de zelfde plek staat?

ik heb namelijk een totaal cel, waar ik de gegevens van wil gebruiken op een totaal blad, maar dit moet door de macro ingevuld worden. ik heb dit al werkend gekregen, zoals ik wil. maar als ik boven de totaal cel een regel toevoeg, past excel dit niet aan in de macro.

normaal als ik in een formule verwijs naar bv. cel A10 en ik voeg boven cel A5 een regel in, dan wordt de verwijzing automatisch veranderd naar cel A11. maar als ik de formule in laat vullen door een macro, gebeurt dit niet.

weet iemand hoe dit op te lossen??
 
hoi

geef die cel een naam

(selecteer de cel daarna tik je in het naamvak op de balk een naam in bv MijnCel)

in VB kun je deze cel gebruiken via [MijnCel]

als je rijen of kolommen toevoegt schuift deze cel gewoon mee
groet sylvester
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan