Excel VBA質問箱 IV

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

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


45265 / 76732 ←次へ | 前へ→

【36468】セル内の斜体字の検査→全てのセルを対象...
質問  かいと  - 06/3/31(金) 20:45 -

引用なし
パスワード
   はじめまして。
セル内に斜体文字と普通の文字が不規則に混ざっている文字列が入力されています。
斜体の文字列と普通の文字列の間に目印の文字を挿入したいと考え、

例:
|(A:普通の文字、I:斜体の文字、@:目印)

|「AIIAAIAI」

|という文字列を

|「A@II@AA@I@A@I」
|にします。

文字列のフォントを左から順に2つずつ検査する
下記のようなコードを書きました。

現在はシート「sheet1」のセル「a1」を対象にしているのですが、
シート内の、データが入力されている全てのセルを対象に上記の例のような
結果を得たいのですが、どのようなやり方をすれば良いか教えて頂けませんでしょうか。

宜しくお願い致します。


'−−ここから−−−−−−−−−−
Sub イタリック検査()
  
Dim mae As Boolean
Dim ato As Boolean
Dim n As Integer
Dim S As Integer

'何回変化するのか検査する(→s回)
For n = 1 To Worksheets("sheet1").Range("a1").Characters.Count - 1
  mae = Worksheets("sheet1").Range("a1").Characters(n, 1).Font.Italic
  ato = Worksheets("sheet1").Range("a1").Characters(n + 1, 1).Font.Italic
    If mae <> ato Then
      S = S + 1
    End If
Next

'変化する文字の前に文字列「@」挿入
For n = 1 To Worksheets("sheet1").Range("a1").Characters.Count - 1 + S
  mae = Worksheets("sheet1").Range("a1").Characters(n, 1).Font.Italic
  ato = Worksheets("sheet1").Range("a1").Characters(n + 1, 1).Font.Italic
    If mae <> ato Then
      Worksheets("sheet1").Range("a1").Characters(n + 1, 0).Text = "@"
      n = n + 1
    End If
Next

End Sub

1 hits

【36468】セル内の斜体字の検査→全てのセルを対象... かいと 06/3/31(金) 20:45 質問
【36471】Re:セル内の斜体字の検査→全てのセルを対... Kein 06/3/31(金) 21:10 回答
【36538】Re:セル内の斜体字の検査→全てのセルを... かいと 06/4/2(日) 22:36 お礼

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