У Майкла довольно длинный стол. Один столбец таблицы содержит кодирующие символы, такие как буквы c, b, x и т. Д. Он задается вопросом, есть ли способ, когда он распечатывает таблицу, печатать только те строки, которые имеют определенный кодирующий символ в столбце. Например, он может захотеть напечатать только те строки, которые содержат код «c» в столбце кодирования.

Есть несколько подходов, которые вы можете использовать для решения этой проблемы.

Возможно, самым простым способом было бы скопировать таблицу на лист Excel, а затем отфильтровать данные на основе символов в столбце кодирования. Затем вы можете распечатать отфильтрованный лист и получить именно то, что хотите.

Конечно, бывают случаи, когда работать в Excel вместо Word нецелесообразно или нежелательно. Например, у вас может не быть Excel или у вас могут быть потребности в форматировании, превышающие возможности Excel. В этом случае вы можете просто отсортировать свою таблицу в Word на основе содержимого столбца кодирования. Затем выберите те строки таблицы, которые содержат код, который вы хотите напечатать (все они должны быть смежными, поскольку вы отсортировали таблицу), и выберите печать. Однако при указании того, что печатать, печатайте только выбранные.

Другой возможный подход — использовать вашу таблицу в качестве источника данных для слияния почты. Я не буду вдаваться в подробные шаги, которые нужно использовать при разработке слияния (они были рассмотрены в других WordTips), но вы можете указать, что слияние включает только те, которые имеют желаемый символ в столбце кодирования.

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

Sub CopyTableRows()

Dim SourceDoc As Document     Dim r As Row     Dim iCol As Integer     Dim sPCode As String     Dim sTemp As String

iCol = 3        ' Set the coding column     sPCode = "C"    ' Set code to select (must be uppercase)



ScreenRefresh = False

Set SourceDoc = ActiveDocument      ' Get active document's name     Documents.Add       ' Create a new document

' Find all rows that have correct code in the coding column     For Each r In SourceDoc.Tables(1).Rows         sTemp = UCase(r.Cells(iCol).Range)

sTemp = Left(sTemp, Len(sTemp) - 2)     ' Remove cell overhead                  If sTemp = sPCode Then             r.Range.Copy             Selection.PasteAndFormat wdFormatOriginalFormatting         End If     Next r

ScreenRefresh = True End Sub

Чтобы использовать макрос, вам необходимо убедиться, что iCol установлен на столбец, используемый в качестве столбца кодирования, и что sPCode содержит код, который вы хотите выбрать. (Это должно быть все в верхнем регистре.) Когда макрос будет готов, у вас будет документ, содержащий только те строки, которые вы хотите распечатать, и затем вы сможете распечатать этот документ.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (3511) относится к Microsoft Word 2007, 2010, 2013 и 2016.