Er is geen ingebouwde functie in Excel 2007 (of welke versie dan ook) om *alle* formules uit een hele werkmap op één pagina weer te geven. Wat het dichtst in de buurt komt, is een aantal verschillende benaderingen, elk met beperkingen:
1. Gebruik "Formules weergeven" en druk af:
* Eenvoudig, maar beperkt: Schakel 'Formules weergeven' in (tabblad Formules> Formules tonen). Druk vervolgens het(de) blad(en) af. Hierdoor worden de formules *zoals ze in de cellen* op elk blad verschijnen weergegeven. Als u veel vellen heeft, zijn hiervoor meerdere pagina's nodig.
2. Kopiëren en plakken:
* Meer controle, maar handmatig: Selecteer alle cellen die formules bevatten (Ctrl+A), kopieer ze (Ctrl+C) en plak ze in een nieuw blad (Ctrl+V). Hierdoor worden alleen de formules weergegeven, zonder de resultaten. Mogelijk moet u de kolombreedte aanpassen om alle formules te kunnen zien. Dit kan nog steeds meerdere pagina's vereisen voor een grote werkmap.
3. VBA-macro (meest krachtig, maar vereist codering):
* Het meest effectief voor grote werkmappen: Een VBA-macro kan alle bladen in uw werkmap doorlopen, de formules verzamelen en deze samenvoegen tot één enkele reeks. Deze string kan vervolgens naar een enkele cel (of meerdere cellen als de string te lang is) op een nieuw blad worden geschreven. Dit is de enige manier om *gegarandeerd* alle formules op één pagina te krijgen, vooral voor zeer grote werkmappen. Dit vereist echter inzicht in VBA-programmering. Hier is een eenvoudig voorbeeld:
```vba
Sub ShowAllFormules()
Dim ws As werkblad, strFormules als string
Voor elke ws in ThisWorkbook.Worksheets
strFormules =strFormules &ws.Name &teken:&vbCrLf
Voor elke cel in ws.UsedRange
Als cel.Formule heeft Dan
strFormules =strFormules &cel.Adres &":" &cel.Formule &vbCrLf
Einde Als
Volgende cel
Volgende ws
Spreadsheets.Add After:=Sheets(Sheets.Count) ' Voeg een nieuw blad toe
ActiveSheet.Range("A1").Value =strFormules
Einde sub
```
Belangrijke overwegingen:
* Bladformaat: Zelfs met de VBA-methode kan het, als u een extreem groot aantal formules heeft, nog steeds de capaciteit van één pagina overschrijden. Mogelijk moet u overwegen de uitvoer te splitsen of een andere opmaakmethode te gebruiken (bijvoorbeeld een kleiner lettertype).
* Opmaak: De VBA-macro-uitvoer is platte tekst. De oorspronkelijke celopmaak gaat verloren.
* Circulaire referenties: De macro verwerkt kringverwijzingen mogelijk niet correct.
* Foutafhandeling: De meegeleverde VBA-code is eenvoudig. Een robuustere macro zou foutafhandeling omvatten.
De beste aanpak hangt af van de grootte en complexiteit van uw werkmap en uw comfortniveau met VBA. Voor kleine tot middelgrote werkmappen kan kopiëren en plakken of het gebruik van "Formules weergeven" voldoende zijn. Voor grote werkmappen biedt de VBA-macro de meest complete oplossing. Vergeet niet een reservekopie van uw werkmap op te slaan voordat u macro's uitvoert. |