Можно ли разделить таблицу на несколько частей по строкам без пробелов между ними в Word

Степан Федин 20 Баллы репутации
2025-11-06T03:22:25.55+00:00

Создал таблицу в Word, мне нужно разделить ее по строкам, чтобы каждая строка считалась отдельной таблицей, но при этом чтобы между ними не было пробела. То есть должна быть одна таблица, но строки у нее считаются как отдельные таблицы.

Microsoft 365 и Office | Прочее
Microsoft 365 и Office | Прочее

Другие темы, которые не попадают под определенные категории.

Комментариев: 0 Без комментариев

Ответ, принятый автором вопроса
Kimberly Olaño 23,615 Баллы репутации
2025-11-07T06:14:30.7866667+00:00

Yes there's a way to do that, and it requires turning off all auto width adjustment mechanisms. Make sure you don't miss a step below.

Click anywhere inside the table.

Go to Table Tools then Layout then AutoFit.

Make sure “Fixed Column Width” is selected.

  • If “AutoFit to Window” or “AutoFit to Contents” is selected, columns will still move when the page width changes.

Next is, right-click inside the table then Table Properties.

  • On the Table tab:
    • Set a Preferred width (in cm or inches).
    • Choose Measure in: Centimeters (not percent). Using percent makes width relative to window size.
  • Click Options... (bottom right) and ensure:
    • “Automatically resize to fit contents” is unchecked.
    • Cell margins are fixed (e.g., left/right: 0.19 cm default).
  • Click OK then OK.

This stops table and column scaling when the window or margins change.

Now, if certain columns still adjust:

Select those columns.

Right-click then Table Properties then Column tab.

Check Preferred width, enter a numeric value, and click OK.

  • This locks the exact column width and disables dynamic resizing at the cell level.

Этот ответ помог вам?

Комментариев: 0 Без комментариев

Дополнительные ответы: 8

Сортировать по: Самые старые
  1. Kimberly Olaño 23,615 Баллы репутации
    2025-11-06T04:02:23.7466667+00:00

    Thanks for sharing the details, Степан! Yes you can do that manually.

    Click in the row where you want to split the table.

    On the Layout tab (under Table Tools), click Split Table.

    • Word will separate the table into two tables.

    You’ll now see a tiny blank paragraph (¶) between the tables, this creates a visual gap.

    Turn on ¶ marks (Ctrl + Shift + 8) so you can see it.

    Select and delete that empty paragraph mark.

    Once deleted, the two tables will touch directly, no visual space, even though they’re separate tables.

    Repeat steps 1–5 for each row.

    You’ll have multiple one-row tables that appear to form one continuous table.

    See if this helps. If you need further assistance just let me know.

    Best regards,

    Kimberly

    Этот ответ помог вам?


  2. Kimberly Olaño 23,615 Баллы репутации
    2025-11-06T22:38:33.4433333+00:00

    It seems better to automate it, practically for large tables. Try this:

    Enable the Developer tab if you don’t see it

    • In Word, go to File then Options.
    • Click Customize Ribbon on the left.
    • On the right side, check Developer, then click OK. You’ll now see a Developer tab at the top.

    Then open the VBA editor

    • Go to the Developer tab.
    • Click Visual Basic (far left), or press Alt + F11 on your keyboard.

    Create a new module

    • In the VBA window, click Insert then Module.
    • A blank code window will appear.

    Copy this code and paste it into the module window:

    Sub SplitTableIntoSingleRowTables()

    Dim tbl As Table, rw As Row, i As Long

    Set tbl = Selection.Tables(1)

    For i = tbl.Rows.Count - 1 To 1 Step -1

    tbl.Rows(i).Select

    Selection.SplitTable

    Selection.MoveDown Unit:=wdLine, Count:=1

    If Selection.Paragraphs.Count > 0 Then

    Selection.Delete

    End If

    Next i

    End Sub

    Press Ctrl + S to save.

    Close the VBA window (press Alt + Q or click the X).

    When Word asks where to save it:

    • If you want the macro to be available in all documents, save it in Normal.dotm (the default template).
    • If you only need it for this document, save it in “This Document”.

    Этот ответ помог вам?


  3. Kimberly Olaño 23,615 Баллы репутации
    2025-11-07T03:39:12.4+00:00

    Click anywhere inside your table.

    Go to Developer then Macros.

    Select SplitTableIntoSingleRowTables.

    Click Run.

    Этот ответ помог вам?


  4. Kimberly Olaño 23,615 Баллы репутации
    2025-11-07T03:47:10.3233333+00:00

    Replace it with this code, it skips vertically joined rows.

    Sub SplitTableIntoSingleRowTables_Safe()

    Dim tbl As Table, rw As Row, i As Long

    On Error Resume Next

    Set tbl = Selection.Tables(1)

    On Error GoTo 0

    If tbl Is Nothing Then

    MsgBox "Please place the cursor inside a table first."

    Exit Sub

    End If

    For i = tbl.Rows.Count - 1 To 1 Step -1

    On Error Resume Next

    tbl.Rows(i).Select

    If Err.Number = 5991 Then

    Err.Clear

    ' Skip rows with merged cells

    Continue For

    End If

    Selection.SplitTable

    Selection.MoveDown Unit:=wdLine, Count:=1

    If Selection.Paragraphs.Count > 0 Then Selection.Delete

    On Error GoTo 0

    Next i

    MsgBox "Done! Rows with vertical merges were skipped."

    End Sub

    Этот ответ помог вам?


Ваш ответ

Автор вопроса может устанавливать для ответов пометку "Принято", а модераторы — пометку "Рекомендуется". Благодаря этому пользователям становится проще понять, какой из ответов помог решить проблему автора.