Ga naar inhoud

Danielle_01

Lid
  • Items

    1
  • Registratiedatum

  • Laatst bezocht

Danielle_01's prestaties

  1. Hallo allemaal, Ik ben al een tijdje aan het stoeien, maar kom er echt niet uit. Ik heb een tabel en kan er niet omheen dat er samengevoegde cellen in voorkomen. Echter, zoals verwacht, geven deze samengevoegde cellen veel problemen. Een van de problemen is de plaatsing van de pagina eindes. De invoer zal telkens verschillend zijn, dus het is niet mogelijk om handmatig de pagina eindes in te stellen. Echter wil ik voorkomen dat mijn samengevoegde cellen gesplitst worden, want de tekst wordt daardoor verdeeld over twee verschillende pagina's (zie bijlage). Ik zou dit probleem graag willen oplossen door bijvoorbeeld het gebruik van een macro. Op internet heb ik hier al veel over opgezocht, maar omdat ik hier geen ervaring mee heb kom ik er maar niet uit... Ik heb nu deze programmering, maar krijg telkens een foutmelding: Sub MergedWithNext() 'FTable As Table) Dim Tester As String Dim FTable As Table Dim i As Integer Dim imax As Integer Dim RowStart As Integer Dim RowEnd As Integer Dim CNMerged As Integer Dim CNNotMerged As Integer Dim CNMax As Integer CNMerged = 2 'A column that is vertically merged that you don't want to split pages CNNotMerged = 1 'A column that has no vertical mergers Set FTable = Selection.Tables(1) With FTable imax = .Rows.Count CNMax = .Columns.Count 'Start with no rows kept with next ActiveDocument.Range(Start:=.Cell(1, 1).Range.Start, _ End:=.Cell(imax, CNMax).Range.End).ParagraphFormat.KeepWithNext = False On Error Resume Next For i = 2 To imax 'Assume table has header Tester = .Cell(i, CNMerged).Range.Text If Err.Number = 0 Then 'The first row in the merged cell will exist, others will not 'If you are back in this If statement, then you have left the previous block of rows 'even if that was a block of one. The next If statement checks to see if the previous 'row block had more than one row. If so it applies the "KeepWithNext" property If (RowEnd = (i - 1)) Then '.Cell(RowStart, 1).Range.ParagraphFormat.KeepWithNext = True ActiveDocument.Range(Start:=.Cell(RowStart, CNNotMerged).Range.Start, _ End:=.Cell(RowEnd - 1, CNNotMerged).Range.End).ParagraphFormat.KeepWithNext = True 'Use RowEnd - 1 because you don't care if the whole merged block stays with the next 'row that is not part of the merger block End If RowStart = i 'Beginning of a possible merger block RowEnd = 0 'Reset to 0, not really needed, used for clarity Else RowEnd = i 'This variable will be used to determine the last merged row Err.Clear End If Next i On Error GoTo 0 End With End Sub Zou iemand mij op weg willen/kunnen helpen? Wat gaat er fout in de programmering, of is er een totaal andere oplossing? Ik hoor het graag. Bij voorbaat dank!
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.