根据单元格中的字符串数据对Microsoft Word表格列进行颜色编码,VBA

根据单元格中的字符串数据对Microsoft Word表格列进行颜色编码,VBA,vba,ms-word,Vba,Ms Word,我需要一种在Microsoft Word中节省时间的方法。我希望在工作中每天坚持快速周转时间。我需要VBA代码对Microsoft Word中某些表格单元格的背景进行颜色编码。我有10张桌子。在每个表中,我有数百行数据。每行数据都是一个工具。每个设施位于6个不同的地理管辖区之一。每个地理区域都有自己的名称(北部、南部、东部、西部、中部、省级)。每个地理区域都有自己的颜色。我需要将该颜色添加到表格中引用地理区域的单元格列的背景中 我目前复制并粘贴颜色格式。它会导致错误。我是VBA的新手。我试图实现

我需要一种在Microsoft Word中节省时间的方法。我希望在工作中每天坚持快速周转时间。我需要VBA代码对Microsoft Word中某些表格单元格的背景进行颜色编码。我有10张桌子。在每个表中,我有数百行数据。每行数据都是一个工具。每个设施位于6个不同的地理管辖区之一。每个地理区域都有自己的名称(北部、南部、东部、西部、中部、省级)。每个地理区域都有自己的颜色。我需要将该颜色添加到表格中引用地理区域的单元格列的背景中

我目前复制并粘贴颜色格式。它会导致错误。我是VBA的新手。我试图实现另一个解决方案,有人创建了颜色编码的基础上的数值,但我没有成功,我试图转换和适应他们的代码区域


如果你能教我,我会非常感激的。谢谢

例如,假设您的地理区域名称(北部、南部、东部、西部、中部、省级)位于每个表的第一列:

Sub Demo()
Application.ScreenUpdating = False
Dim Tbl As Table, Rw As Row
For Each Tbl In ActiveDocument.Tables
  For Each Rw In Tbl.Rows
    With Rw.Cells(1)
      Select Case Trim(Split(.Range.Text, vbCr)(0))
        Case "Northern": .Shading.BackgroundPatternColorIndex = wdBrightGreen
        Case "Southern": .Shading.BackgroundPatternColorIndex = wdYellow
        Case "Eastern": .Shading.BackgroundPatternColorIndex = wdTurquoise
        Case "Western": .Shading.BackgroundPatternColorIndex = wdPink
        Case "Central": .Shading.BackgroundPatternColorIndex = wdViolet
        Case "Provincial": .Shading.BackgroundPatternColorIndex = wdDarkYellow
      End Select
    End With
  Next
Next
Application.ScreenUpdating = True
End Sub

在问题中包含有关您尝试的更多信息,最好是您尝试的代码。您可以在Excel中使用条件格式执行此操作,然后将表格复制到Word,也可以在Word文档中嵌入Excel文档。手动执行此任务时录制宏。这至少可以让你开始编写一些代码。