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

Aanpassing tabbladen.

Status
Niet open voor verdere reacties.
Dat was een test om te kijken of het daadwerkelijk ging bij jou om de lege cellen D2 en B40.

Upload je nieuwste bestand en ik zal kijken voor wijziging op B38 van tabblad 'Instellingen'.
 
Wat mij ook opvalt is dat er bij jou op elk tabblad: Option Explicit staat.

Heeft met wel of niet declareren van variabelen te maken.
'Dim y as long, ws as worksheet'
 
Bestand geupload en geopend.

Na deze heb ik middels ALT F8 opnieuw op uitvoeren geklikt en toen ging het voor zover ik zag goed. Ik heb enkel dat mijn jaar niet wordt afgemaakt en dat ik 2 lege bladen heb, maar dat gaf jij net al aan als jij dat bedoelde.
 
Die twee lege bladen heb handmatig leeggehaald.
Hier de code voor het automatisch veranderen van bladnamen.
In bladmodule 'Instellingen'.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet, y As Long
 If Not Intersect(Target, Range("B38")) Is Nothing Then
y = 1
  For Each ws In Worksheets
   If WorksheetFunction.And(ws.Name <> "Instellingen", ws.Name <> "Jaar-totaal 2012") Then
    ws.Name = "Maarten " & y
      y = y + 1
    End If
 Next ws
    
y = 1
 For Each ws In Worksheets
  If WorksheetFunction.And(ws.Name <> "Instellingen", ws.Name <> "Jaar-totaal 2012") Then
     If WorksheetFunction.And(ws.Range("D2") > 0, ws.Range("B40") > 0) Then
  ws.Name = "Week " & ws.Range("D2") & " " & Year(ws.Range("B40"))
      Else
      ws.Name = "leeg blad " & y
     y = y + 1
    End If
   End If
 Next ws
End If
End Sub
 
Ziet er goed uit.

Namen van tabblad worden inderdaad nu meteen verandert na datum wijziging.

Moet die module welke jij eerder gaf, blijven staan of moet ik die verwijderen.

Ik neem aan dat ik mijn naam in jouw opgegeven code zelfstandig kan veranderen of gooi ik dan de code weer buiten werking?

Blijft over het automatisch doorspringen naar de juiste week bij openen van het bestand. Nu krijg ik namelijk daar een foutmelding. Kreeg ik overigens al voor deze laatste code, maar ik geef dat nu pas aan omdat we anders wellicht meerdere stappen tegelijk doen en dat is vaak erg verwarrend.
 
Verwijder module 1, en beantwoord met "Nee".

Als alle bladen hernoemd zijn naar de juiste weeknummer en jaar, sla je het bestand op, en heropen het daarna.
Nu zou de code in Thisworkbook geen foutmelding moeten geven.
 
Module verwijderd, VBA opnieuw opgeslagen en hierna het hele bestand opnieuw opgeslagen (weet niet of dat noodzakelijk is of dat slechts opslaan bij VBA al voldoende is).

Bestand gesloten en hierna heropend en helaas krijg ik volgend bericht:

Fout 9 tijdens uitvoering:

Het subscript valt buiten het bereik.

Klik ik dan op foutopsporing dan ga ik automatisch naar het VBA blad en zie daar in het geel gemarkeerd de volgende tekst:

Application.Goto Sheets("Week " & DatePart("ww", Date - Weekday(Date, 2) + 4, 2, 2) & " " & Year(Now)).Range("d2"), True
 
Upload je bestand eens, dan kan ik achterhalen wat er mis gaat.
 
Kilometerlijst voorbeeld.xlsm

Ik probeer deze te uploaden net als de andere welke ik eerder heb geupload, maar dit bestandsformaat gaat kennelijk ineens maar tot 100KB. Ik krijg deze helaas dus nu niet geupload. Dit bestand is 857KB groot. Terwijl ik eerdere welke ik heb geupload en hier geplaats ook ongeveer van dat formaat zijn. Echter dit zijn bestanden waar nog geen macro's in stonden.

Wellicht dat het persoonlijke email kan of moet gaan.
 
Google op 'Mijn bestand.nl', daar gaat het wel mee.
 
Verander de code in thisworkbook.
Deze pakt het jaar van het tweede blad in volgorde.
In blad 'Instelingen' b38 staat 29-12-2008 en je bladen krijgen de naam 'Week 1 2009' dus wordt in de code 'Year(now)' = 2012 niet gevonden.
Vandaar de foutmelding die je kreeg.
Code:
Private Sub Workbook_Open()
 Application.Goto Sheets("Week " & DatePart("ww", Date - Weekday(Date, 2) + 4, 2, 2) & " " & Year(Sheets(2).Range("B40"))).Range("d2"), True
End Sub
 
Oke fantastisch... dan kan ik zo de testronde in voor meerdere jaren om te kijken of alles blijft kloppen in mijn formules.

Ik heb alleen nog een klein puntje bij de laatste code...

Het bestand wordt nu inderdaad geopend op de juiste week... Alleen ik zou het wel prettig vinden als ik meteen in de Cel A1 in de linkerbovenhoek vind en niet zoals nu het geval is: D2.

Ga ik kijken naar de andere weken dan beginnen deze gewoon bij cel A1 in de linkerbovenhoek. Heb verschillende datum invoeren nu getest maar telkens blijkt dat de te openen week meteen D2 in de linker bovenhoek gooit.

Ik heb hem even opnieuw geupload. Bij openen zie je wat ik bedoel... Ik heb het vermoeden dat dit komt door de range van de code??

Kun jij zien waar dat nog aan ligt.

Verder heb je mij tot nu fantastisch geholpen en ben ik jou er erg dankbaar voor. In feite werkt het bestand bijna zoals ik het wil hebben en voor ogen had.

http://www.mijnbestand.nl/Bestand-4DJNO6BH7ZOK.xlsm
 
Graag gedaan hoor,

Verander in de laatst gegeven code Range("d2") in Range("A1")
 
http://www.mijnbestand.nl/Bestand-FVLQ7B7QO7RA.xlsm

Komt ie nog een keer.... Krijg weer dezelfde melding na wijziging van datum... fout 9 tijdens uitvoering...........

Ik heb in ThisWorkbook de code veranderd van d2 naar a1.

Voordat ik de datum veranderde deed deze het nog.

Ik hoop niet dat ik aan mijn kant bestanden door elkaar heb geschut al lijkt mij dat zeer onwaarschijnlijk.
 
Het is mij niet geheel duidelijk welke maand en jaar je neemt op blad 'Instelingen' cel B38.
Als je laat in het jaar zit (bv. 28-12-12) zal het jaar verschijnen in blad 2.
Vul je bv. 26-6-11 in, zal het goede jaar wat bij het weeknummer hoort bv. in tabblad 26 staan.

Vandaar dat ik eerst Jaar(nu) had aangenomen. maar je maakt ook sprongen terug naar 2006 zag ik.

Nieuwe versie; codes aangepast.
http://www.mijnbestand.nl/Bestand-SMDSLXVDC4VI.xlsm
 
Ik kom er later vanavond op terug...

Hoe het er nu uitziet krijg ik weer met datum 26-12-2011 een foutmelding......


Foutmelding 1004 tijdens uitvoering:

Kan de naam van een blad niet wijzigen in de naam van een ander blad, een opgeroepen objectbibliotheek of werkmap die wordt gebruikt door Visual Basic.


Hier kom ik achter als ik telkens willekeurig de datum van de eerste week van een betreffend jaar invul.

Voor nu trekt mijn vrouw mij even weg.

Het hele systeem moet gewoon op alle willekeurige datums werken en inderdaad ik wil mijn kilometerlijsten van voorgaande jaren ook nog overzetten in de bestand en uiteraard ook voor in de toekomst.

Ik zie dat jij ontzettend je best doet om mij te helpen. Ik dank je echt daarvoor. Voor nu neem een biertje met deze warmte en ik spreek je hopelijk snel weer.
 
Verander eens Range("B4") in beide codes in range("B56").
Totaal staat het er drie keer in.
 
Ben ik weer even.

Dezelfde melding blijft aanwezig en wat mij ook opvalt is dat de laatste tabbladen wel veranderen, maar dan in mijn naam en daarachter niet de betreffende week.

De melding verschijnt als ik de datum 26-12-2011 opnieuw invoer.

Dit komt nog steeds bij meerdere jaren voor.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan