Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 9 van 9

Onderwerp: Format Excel tabellen in Word

  1. #1
    Senior Member
    Geregistreerd
    14 december 2012
    Vraag is niet opgelost

    Format Excel tabellen in Word

    Beste forummers,

    Ik sta voor een uitdaging. Stel je hebt een rapport met honderden tabellen, waarvan elke tabel begint met "Tabel" gevolgd door een nummer en een titel. De tabellen komen uit Excel en staan met twee regels gescheiden van elkaar. Hierdoor komt het voor dat sommige tabellen niet op 1 pagina meer passen.

    Wat ik nu graag zou willen is dat op het moment dat het gebeurt dat een tabel onderbroken wordt, de gehele tabel op de volgende pagina geplaatst wordt, of dat alleen de tabeltitel met tabelkoppen (2 regels) boven het onderbroken gedeelte op de volgende pagina wordt gekopieerd. Als bijvoorbeeld onderaan een pagina alleen de eerste regel + koppen en titel zichtbaar is dan is het beter om de gehele tabel op de volgende pagina te zetten en vice versa.

    In de bijlage staat al een stukje code om er een mooie Word tabel van te maken. De code is niet helemaal zoals ik het wil omdat ik eerst een selectie moet maken van de tabellen voordat de tabel aangepast wordt. Het mooiste zou zijn dat de code de tabel herkent en dan aan de slag gaat.

    In dat stukje code wou ik ook iets maken dat de kolommen gelijkmatig verdeeld, maar dat werkt niet omdat er samengevoegde cellen in staan. Als het mogelijk is moeten de kolommen waar geen samengevoegde cellen in staan gelijkmatig verdeeld worden.

    Code:
    Sub Tabelopmaak_in_Word()
    'Programma format tabellen
    
    'Selection.Cells.DistributeWidth
        
     With Selection.ParagraphFormat
         .SpaceBefore = 4
         .SpaceAfter = 2
     End With
    
     Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)
     Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)
        
    End Sub

    In de bijlage een voorbeeld bestand. Het is zonder macro. Het is blijkbaar niet mogelijk een docm-bestand toe te voegen

    Veel vragen, vba Excel is al moeilijk, maar Word lijkt nog veel lastiger.

    Format_tabellen2.docx

    Mvg
    Marco
    Laatst aangepast door Symphysodon : 9 november 2018 om 16:55

  2. #2
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Check of docm bestanden geplaatst kunnen worden.
    Attached Files Attached Files
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  3. #3
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Met de eigenschappen van de alinea's kun je instellen dat alinea's bij elkaar moeten worden gehouden.
    Zie de bijlage

    Als je samengevoegde cellen gebruikt valt Word niets te verwijten.
    Attached Files Attached Files
    Laatst aangepast door snb : 9 november 2018 om 17:50
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  4. #4
    Senior Member
    Geregistreerd
    14 december 2012
    Ik begrijp niet wat je bedoelt met die bookmarkpagina. Bij geldige bestandsextensies staat dat je wel docm bestanden kan toevoegen?

    Alinea's bijeenhouden lukt wel als je de desbetreffende tabel selecteert en de bedoeling is juist dat het automatisch gedaan wordt omdat het vaak over megabestanden gaat met honderden tabellen.

    Als cellen samenvoegen een optie is in Word dan moet toch kunnen om met vba kolommen gelijkmatig te verdelen? Rekenkundig is dat wel te doen. Als je van een selectie het maximaal aantal kolommen telt en die gelijkmatig verdeeld, dan ben je er toch al.

    Attached Files Attached Files
    Laatst aangepast door Symphysodon : Gisteren om 10:07

  5. #5
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Zullen we eens beginnen met het opknappen (jouw taak, uiteraard ) van je brondocument? Je hebt het in je initiële vraag over
    Quote Origineel gepost door Symphysodon Bekijk Bericht
    een rapport met honderden tabellen, waarvan elke tabel begint met "Tabel" gevolgd door een nummer en een titel. De tabellen komen uit Excel en staan met twee regels gescheiden van elkaar. Hierdoor komt het voor dat sommige tabellen niet op 1 pagina meer passen.
    Maar je hébt niet 'honderden' (of een paar, zoals in je voorbeeld) tabellen, maar één tabel. Alle 'tabellen' zitten namelijk in één tabel verwerkt. Wat jij met 'twee regels gescheiden van elkaar' gescheiden' noemt, is dat niet: er zitten lege rijen tussen, maar geen lege regels (waar je dan vermoedelijk alinea's mee bedoelt).

    Kortom: de macro die je normaal gesproken zou maken voor dit soort situaties (een loop die door alle tabellen loopt) kun je niet maken als er maar één tabel is.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  6. #6
    Senior Member
    Geregistreerd
    14 december 2012
    Ja dat klopt, ik heb op dit moment een rapport met 529 Excel tabellen. De tabellen zijn in dit geval verdeeld over 4 tabbladen en worden in 4 keer gekopieerd en geplakt in Word.
    In het voorbeeld zitten inderdaad maar een aantal tabellen die in 1 keer gekopieerd en geplakt zijn. Dus 1 tabel met een x-tal Excel tabellen gescheiden door steeds 2 lege rijen.

  7. #7
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Maar dan heb je dus technisch gezien één tabel, of in jouw geval 4 als je er 4 plakt. En afstand houdt . En zoals je vast wel weet, kun je van een tabel een aantal rijen als koprij vastzetten zodat ze op elke pagina terugkomen, maar dat is in jouw geval dus een waardeloze optie, omdat je maar 1 tabel hebt. Dus wat wil je precies? Moeten de tabellen in de macro ook nog gescheiden worden? En wat moet er dan gebeuren met die overtollige lege rijen die dan als blindedarmpjes aan de tabellen blijven kleven?
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  8. #8
    Senior Member
    Geregistreerd
    14 december 2012
    Ik had eigenlijk gehoopt dat in die ene x tabel gezocht kon worden naar het woord 'Tabel', vervolgens het kader (rand) van de exceltabel herkent en dan op basis van het aantal rijen binnen de buitenrand besluit of de gehele tabel op een volgende pagina komt of dat alleen de koprij vastgezet wordt en de tabel doorloopt op de volgende pagina.

    Nu zet ik de koprij vast en doorloop het gehele document en als ik dan een tabel zie met bijvoorbeeld alleen een titel en een koprij, zet ik met Ctr+Enter de gehele tabel op de volgende pagina.

    Of is het mogelijk om in Excel de macro te maken: kopiëren (per tabel) in Excel en plakken in Word op een aangegeven positie. In Excel zijn het vaak maar drie of vier soorten tabellen die allemaal op gelijke afstand onder mekaar staan.

  9. #9
    Senior Member
    Geregistreerd
    14 december 2012
    Zoiets:

    Code:
    Sub WOrd_export()
    Dim wrdApp As Word.Application
    Dim wrdDoc As Word.Document
    
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True
     
    For Each ws In Worksheets
        With Sheets(ws.Name)
            s = Left(ws.Name, 1)
            If s = "V" Then
                ws.Activate
                Set wrdDoc = wrdApp.Documents.Open("H:\Excel\VBA\vragen aan forum\Wordexport.docx")
                For sR = 5 To 879 Step 34
                   Range(Cells(sR, 31), Cells(sR + 31, 36)).Copy
                   
                   With wrdDoc
                      .Content.PasteExcelTable False, False, False
                   End With
                Next
            
            End If
        End With
    Next
    wrdDoc.Close
    wrdApp.Quit
    
    End Sub
    Nu nog een manier om de tabel op een bepaalde positie in Word te plakken. Het werkt alleen voor de 1e tabel

    Wordexport.xlsm
    Wordexport.docx
    Laatst aangepast door Symphysodon : Vandaag om 09:47

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren