![]() |
|
#1
|
|||
|
|||
|
Hi my first post here. I am trying to create a macro that can delete the text out of all blue cells in my forms. I used an existing macro and modified it but cant seem to get it work. The command "myCell.ClearContents" doesn't want to work. What am I doing wrong? Sub DeleteTextFromBlueCells() If Not Selection.Information(wdWithInTable) Then MsgBox "Place the cursor in a table cell with a colored pattern." Exit Sub End If Dim myRange As Range CurrentTexture = Selection.Range.Cells(1).Shading.Texture CurrentForegroundPatternColor = Selection.Range.Cells(1).Shading.ForegroundPattern Color CurrentBackgroundPatternColor = Selection.Range.Cells(1).Shading.BackgroundPattern Color For Each myTable In ActiveDocument.Tables Set myRange = myTable.Range For Each myCell In myRange.Cells If myCell.Shading.Texture = CurrentTexture _ And myCell.Shading.ForegroundPatternColor = CurrentForegroundPatternColor _ And myCell.Shading.BackgroundPatternColor = CurrentBackgroundPatternColor Then myCell.ClearContents End If Next myCell Next myTable End Sub |
|
#2
|
||||
|
||||
|
The answer is quite simple: ClearContents is an Excel cell-clearing method, not a Word cell-clearing method. In Word, ClearContents is only a method of the ChartArea object.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
Thank you Paul. So how do I get it right?
|
|
#4
|
||||
|
||||
|
You could use code like:
Code:
Sub DeleteTextFromColoredCells()
Application.ScreenUpdating = False
Dim myTable As Table, myCell As Cell
Dim CurrentTexture As Long
Dim CurrentForegroundPatternColor As Long
Dim CurrentBackgroundPatternColor As Long
If Not Selection.Information(wdWithInTable) Then
MsgBox "Place the cursor in a table cell with a colored pattern."
Exit Sub
End If
With Selection.Range.Cells(1).Shading
CurrentTexture = .Texture
CurrentForegroundPatternColor = .ForegroundPatternColor
CurrentBackgroundPatternColor = .BackgroundPatternColor
End With
For Each myTable In ActiveDocument.Tables
For Each myCell In myTable.Range.Cells
With myCell
If .Shading.Texture = CurrentTexture Then
If .Shading.ForegroundPatternColor = CurrentForegroundPatternColor Then
If .Shading.BackgroundPatternColor = CurrentBackgroundPatternColor Then
.Range.Text = ""
End If
End If
End If
End With
Next myCell
Next myTable
Application.ScreenUpdating = True
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#5
|
|||
|
|||
|
WOW! this works so well!
Thank you so much!!! All the best Sönke |
|
| Tags |
| clearcontents, vba |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Delete specific text
|
Jackson | Word VBA | 16 | 12-06-2019 08:24 PM |
Macro to delete text in specific styles
|
ljd108 | Word VBA | 14 | 01-22-2019 01:22 PM |
Delete cell content that has a specific format
|
Daniel Arbeit | Excel Programming | 1 | 06-20-2016 03:02 PM |
Delete specific mass text on document
|
JadeRisley | Word | 4 | 07-17-2013 11:11 PM |
Macro to delete rows with all empty cells
|
ubns | Excel Programming | 2 | 08-14-2012 02:01 AM |