Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


25326 / 76736 ←次へ | 前へ→

【56751】取り消し線の引かれている文字だけ削除
質問  勉強中  - 08/7/3(木) 14:54 -

引用なし
パスワード
   はじめまして。

たとえばA5からP50の表の各セルにさまざまなデータが入っていて、中には、セル内の一部の文字に取り消し線が引かれているものがあります。

例)「ああああいいいいうううう」 の、「いいいい」だけ取り消し線が引かれている

*取り消し線がまったく引かれていないセルやブランクのセルもあります。
この、「取り消し線が引かれている文字」だけ削除したいと思っています。

例)では「いいいい」を削除して「ああああうううう」にしたいです。

そこで、以下のように書いてみました。

Sub 取り消し文字列削除()
Dim c As Range
Dim i As Integer  
 ActiveSheet.Range("A5").CurrentRegion.Select
  With Selection
  For Each c In Selection 
   Do      
        For i = 1 To Len(c.Value)
      If c.Characters(Start:=i, Length:=1). _
      Font.Strikethrough = True Then          
       c.Characters(Start:=i, Length:=1).Delete         
         End If
    Next
   Loop Until c.Value = "" Or c.Font.Strikethrough = False 
  Next
  End With  
 MsgBox ("取消されている文字列の削除完了")
End Sub

総文字数が100文字ぐらいまでのセルだとうまく取り消し線の引かれている文字だけ削除するのですが、文字数が多いセルで止まってしまいます。

どなたかお知恵を拝借できないでしょうか?
よろしくお願いします。

Excelのバージョンは2003です。

0 hits

【56751】取り消し線の引かれている文字だけ削除 勉強中 08/7/3(木) 14:54 質問
【56752】Re:取り消し線の引かれている文字だけ削除 ハチ 08/7/3(木) 15:06 回答
【56756】Re:取り消し線の引かれている文字だけ削除 勉強中 08/7/3(木) 16:37 質問
【56763】Re:取り消し線の引かれている文字だけ削除 ハチ 08/7/3(木) 17:58 回答
【56855】Re:取り消し線の引かれている文字だけ削除 勉強中 08/7/8(火) 16:30 お礼
【56865】Re:取り消し線の引かれている文字だけ削除 ハチ 08/7/9(水) 9:19 回答
【56916】Re:取り消し線の引かれている文字だけ削除 勉強中 08/7/10(木) 15:36 お礼

25326 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free