Estoy trabajando con VBA en Word y lo que quiero conseguir es lo siguiente:
Dada una tabla, añadir una columna sin que "copie" el formato de color de fondo de la anterior (o ningún formato de la anterior)
El código podría ser como sigue:
Código:
Sub pintaTabla()
'crea la tabla
Dim r As Range
Set r = ActiveDocument.Range(Start:=ActiveDocument.Range.End - 1, End:=ActiveDocument.Range.End)
ActiveDocument.Tables.Add Range:=r, numrows:=6, numcolumns:=7, _
AutoFitBehavior:=wdAutoFitFixed
ActiveDocument.Tables.Item(1).Columns.Width = CentimetersToPoints(0.8)
With ActiveDocument.Tables.Item(1)
'pinta el contenido
For i = 1 To .Rows.Count
For j = 1 To .Columns.Count
.Cell(i, j).Range.Text = j + i
If j = 6 Or j = 7 Then
.Cell(i, j).Shading.BackgroundPatternColor = wdColorGray10
End If
Next
Next
'agrega una columna
.Columns.Add
End With
End Sub
Y el resultado que da es este:
Y así es como me gustaría que saliese:
Un saludo y gracias
Edit: Me gustaría hacerlo, si fuera posible, sin tener que poner en blanco el fondo de las columnas que no son grises, no sé si me explico, ya que esa solución me parece una chapuza y mi intención es aprender variables/funciones de VBA que me faciliten la vida... y leñe!, debe haber algo! :P