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

Programmeren in excel bestand

Status
Niet open voor verdere reacties.

robbintjuh

Gebruiker
Lid geworden
31 jan 2011
Berichten
5
Goede avond,

Ik loop al een tijdje te stoeien met een excel bestand(staat in bijlage).
Het is een weekrooster voor mijn werk wat ik nu heb is eigenlijk de basis. Maar ik zou graag deze gegevens doormiddel van een Macro automatisch laten aanvullen.

Wat moet de macro doen:
1. Orgineel kopieeren naar een nieuw tablad(week1).
2. Gegevens kolom W kopieeren naar kolom U.
3. Kolom V alles weer op 0.
4. Gegevens kolom T kopieeren naar Kolom R
Einde Macro

Dit gedeelte lukt mij. Alleen nu komt het waar ik tegen aanloop. Ik zoek een manier dat er in week 1 een macro staat dat alle gegevens in week 1 verwerkt worden als hierboven Stap 2 t/m 4. En dat deze handeling weer automatisch in week 2 staat voor week 3 en dit door tot einde van het jaar.

Ik hoop dat jullie begrijpen wat ik bedoel.

Groeten,

robbintjuh

Bekijk bijlage nieuw rooster.xlsx
 
Dit gedeelte lukt mij.

Waarom staat dat dan niet in je voorbeeld bestand?
Er staan geen macro in je bestand, je moet hem opslaan als .xlsm bestand anders worden de macro's verwijderd.

Niels
 
Dankje wel Niels28

Dit is al bijna wat ik bedoel alleen zou ik graag vanuit Bijv. week 12 willen in voeren en als ik dan de macro indruk hij de macro uitvoert en dan de gegevens in week 13 weer goed staan.

Is dit mogelijk?

Robbin
 
Volgens mij bedoel je dit:

Code:
Sub nieuwemaand()

For Each sh In ThisWorkbook.Worksheets
ditblad = ActiveSheet.Name
If CStr(Sheets(ditblad).Range("A1").Value + 1) = CStr(sh.Name) Then
MsgBox "dit blad is al aangemaakt."
Exit Sub
End If
Next

    Sheets(ditblad).Copy After:=Sheets(1)
    With Sheets(ditblad & " (2)")
    .Name = Sheets(ditblad).Range("A1").Value + 1
    .Range("W9:W53").Copy Range("U9")
    .Range("A1").Value = Sheets(ditblad).Range("A1").Value + 1
    With .Range("V9:V53").SpecialCells(2)
    .Value = 0
    End With

  .Range("R9:R53").Value = .Range("T9:T53").Value
End With
End Sub



Niels
 
Niels

Heel erg bedankt het werkt precies hoe ik het bedoelde.
Alleen kwam 1 klein dingetje tegen in de week notering als je week 16 invoert en je maakt een nieuw blad aan da krijg je 17 en bij 19 krijg je 20
 
Volgens mij ben ik je een stap voor.
Je hoeft het week nummer niet in te typen druk gewoon op de knop in het tabblad van de laatste week en dan wordt er automatisch 1 bij opgeteld.
Het zou toch onzinnig zijn om dat nog met de hand te veranderen.

Niels
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan