![]() |
|
|||||||
|
|
|
Thread Tools | Display Modes |
|
|
|
#1
|
|||
|
|||
|
CannotEditRange.zip Code:
Sub t()
''' Retain every first character of each cell in Table 1
Dim oRange As Range
With Selection
Set oRange = .Range
With oRange
.Start = .Start - 1
.Delete ''' Run-time error 5904: Cannot edit Range
End With
End With
End Sub
Each row has a string like "abcde". I want to delete all the characters except the first one. I don't know why my codes above only show errors when the strings are inside a table cell. (If "abcde" is in a paragraph, it works) |
|
#2
|
|||
|
|||
|
Code:
Dim str As String
Dim oRange As Range
With ActiveDocument
With .Tables(1)
For Each Cell In .Range.Cells
With Selection
Set oRange = Cell.Range
With oRange
''' It seems that for table cells .Start cannot function
''' First we should .End = .End - 1 first
.End = .End - 1
.Start = .Start + 1
.Delete
End With
End With
Next
End With
End With
|
|
#3
|
||||
|
||||
|
Hi tinfanide,
Try: Code:
Sub Demo()
Dim oCel As Cell
With Selection
If .Information(wdWithInTable) = False Then Exit Sub
For Each oCel In .Tables(1).Range.Cells
oCel.Range.Text = oCel.Range.Characters.First
Next
End With
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#4
|
|||
|
|||
|
Yes, I was just confusing myself when doing all the best in Range. It should have been avoided. Your approach is simpler.
|
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Set range for merged Word table cells?
|
tinfanide | Word VBA | 1 | 02-06-2012 05:57 AM |
| How can I delete the content of a cell in column if the cell value is more than 1000? | Learner7 | Excel | 2 | 06-27-2011 05:44 AM |
| Can't delete range - error 5904 | expatriate | Word VBA | 1 | 06-03-2011 12:12 AM |
Edit number of characters per page after writing whole paper
|
dea | Word | 1 | 01-04-2011 02:24 AM |
| Auto-populate an MS Word table cell with text from a diff cell? | dreamrthts | Word Tables | 0 | 03-20-2009 01:49 PM |