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

wel in 2003

Status
Niet open voor verdere reacties.

de Ooievaar

Nieuwe gebruiker
Lid geworden
19 mrt 2007
Berichten
2
In Excel 2003 werkte het prima, nu in Excel 2007 niet meer.
De fout zit ergens in het rode gedeelte.
Iemand enig idee ??


begin = Oft
' begin wordt later gebruikt om de named range te bepalen

For i = 2 To 650
AfzonderlijkeBedragenBijschrijven (i)
Next i
'
'Hier wordt het totaal per tabblad getotaliseerd
'
Worksheets("Offerte").Cells(Oft, 6).Value = "+-------------------"
Oft = Oft + 1
'HIER KOMEN DE VERSCHILLENDE 'NAMED-RANGES GEMAAKT (PER TABBLAD)
Worksheets("Offerte").Range(Worksheets("Offerte").Cells(begin - 1, 6), _
Worksheets("Offerte").Cells(Oft - 1, 6)).Name = ActiveSheet.Name
'Subtotaal wordt per tabblad in kolom 7 vet gedrukt
Worksheets("Offerte").Cells(Oft, 7).Font.Bold = True
Worksheets("Offerte").Cells(Oft, 7).Formula = _
"=Sum(" & ActiveSheet.Name & ")"

'
Oft = Oft + 2


'
 
Er is niets met de code.

Ik heb onderstaande code zonder problemen kunnen gebruiken.
Worksheets("Offerte").Cells(Oft, 7).Formula = _
"=Sum(" & ActiveSheet.Name & ")"


Het valt mij op dat je in de code spreekt over het ophalen van gegevens uit verschillende tabbladen terwijl je geen routine gebruikt om de verschillende tabbladen aan te sturen.
M.a.w. in de code staat bijvoorbeeld geen lus om per blad de gegevens op te halen.

Aangezien je niet aangeeft, welke foutmelding je krijgt, geef ik een enkele opties wat er aan de hand kan zijn.

- bij het starten van de macro is het actieve werkblad, het werkblad met de totaaloverzichten.
- de macro wordt gestart terwijl er in de betreffende werkblad geen bereik voorkomt dat overeenkomt met de naam van het werkblad.

Met vriendelijke groet,


Roncancio
 
Roncancio,
Bedankt dat je hebt meegedacht !

Hierbij wat aanvullende informatie:



Overzicht van het programma:
1- De tabbladen worden aangemaakt (met een marco), het tabblad "Offerte" bestaat al.
2- Het 1e tabblad na "Offerte" wordt doorzocht of er in een bepaalde kolom een getal <>0 staat.
3- Zoja, dan worden deze rijen gekopieerd naar het tabblad "Offerte"
4- Er wordt een subtotaal op het tabblad "Offerte" gemaakt met de naam van het 1e tabblad.
5- Begin weer bij 2, maar dan wordt het 2e, 3e, 4e enz enz tabblad doorzocht )
6- Als er geen nieuwe tabbladen meer gevonden worden, wordt het totaal van alle tabbladen opgeteld en weergegeven onderaan het tabblad "Offerte"

Na een beetje verder puzzelen het volgende ontdekt:

Als ik het tabblad handmatig een andere naam geef werk het weer prima ?????
Dus op de een of andere manier gaat er iets mis met het bepalen van de named range....

Oja, Als fout krijg ik #VERW! (omdat de named range niet gevonden kan worden?)
De formule klopt inderdaad: SUM=("naam van het tabblad cq named range")

Met vriendelijke groet,

de Ooievaar
 
Roncancio,
Bedankt dat je hebt meegedacht !

Hierbij wat aanvullende informatie:



Overzicht van het programma:
1- De tabbladen worden aangemaakt (met een marco), het tabblad "Offerte" bestaat al.
2- Het 1e tabblad na "Offerte" wordt doorzocht of er in een bepaalde kolom een getal <>0 staat.
3- Zoja, dan worden deze rijen gekopieerd naar het tabblad "Offerte"
4- Er wordt een subtotaal op het tabblad "Offerte" gemaakt met de naam van het 1e tabblad.
5- Begin weer bij 2, maar dan wordt het 2e, 3e, 4e enz enz tabblad doorzocht )
6- Als er geen nieuwe tabbladen meer gevonden worden, wordt het totaal van alle tabbladen opgeteld en weergegeven onderaan het tabblad "Offerte"

Na een beetje verder puzzelen het volgende ontdekt:

Als ik het tabblad handmatig een andere naam geef werk het weer prima ?????
Dus op de een of andere manier gaat er iets mis met het bepalen van de named range....

Oja, Als fout krijg ik #VERW! (omdat de named range niet gevonden kan worden?)
De formule klopt inderdaad: SUM=("naam van het tabblad cq named range")

Met vriendelijke groet,

de Ooievaar


Hallo,

Het lijkt er inderdaad op dat er iets niet goed gaat in de benaming.

Onderstaande code is wellicht een ideetje:

Code:
For WS = 2 To ActiveWorkbook.Worksheets.Count
    Worksheets(WS).Range("B3:D7").Name = Worksheets(WS).Name
Next
Van elk werkblad vanaf werkblad 2 krijgt het bereik B3 t/m D7 de naam van het bijbehorende werkblad.
Deze naam staat dus linksboven in het scherm en is ook in de code te gebruiken.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan