Excel VBA質問箱 IV

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

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


53 / 13329 ツリー ←次へ | 前へ→

【80750】strcnvでの半角変換の際の文字効果が消える件について chell 19/5/2(木) 10:29 質問[未読]
【80751】Re:strcnvでの半角変換の際の文字効果が消... マナ 19/5/2(木) 10:56 発言[未読]
【80752】Re:strcnvでの半角変換の際の文字効果が消... マナ 19/5/2(木) 11:09 発言[未読]
【80753】Re:strcnvでの半角変換の際の文字効果が消... マナ 19/5/2(木) 11:35 発言[未読]
【80758】Re:strcnvでの半角変換の際の文字効果が消... chell 19/5/2(木) 18:54 発言[未読]
【80759】Re:strcnvでの半角変換の際の文字効果が消... chell 19/5/2(木) 19:08 お礼[未読]

【80750】strcnvでの半角変換の際の文字効果が消え...
質問  chell  - 19/5/2(木) 10:29 -

引用なし
パスワード
   ご教示願います。

strcnv関数を使って全角文字を半角変換した際、
太字や斜体や色、および文字サイズがすべて元に戻ってしまいます。
(なぜか文全体に同じ効果がかかってると元に戻らない)

こういった文字効果を保持したまま半角に変換する方法は無いでしょうか。
よろしくお願いします。

【80751】Re:strcnvでの半角変換の際の文字効果が...
発言  マナ  - 19/5/2(木) 10:56 -

引用なし
パスワード
   ▼chell さん:

>こういった文字効果を保持したまま半角に変換する方法は無いでしょうか。

参考になりませんか
ht tps://www.moug.net/tech/exvba/0050122.html

【80752】Re:strcnvでの半角変換の際の文字効果が...
発言  マナ  - 19/5/2(木) 11:09 -

引用なし
パスワード
   ▼chell さん:

ごめんささい。勘違いしていました。

【80753】Re:strcnvでの半角変換の際の文字効果が...
発言  マナ  - 19/5/2(木) 11:35 -

引用なし
パスワード
   ▼chell さん:

1文字ずつ変換してみました

Sub test()
  Dim c As Range
  Dim k As Long
  
  Set c = ActiveCell
    
  For k = 1 To Len(c.Text)
    With c.Characters(k, 1)
      .Text = StrConv(.Text, vbNarrow)
    End With
  Next

End Sub

【80758】Re:strcnvでの半角変換の際の文字効果が...
発言  chell  - 19/5/2(木) 18:54 -

引用なし
パスワード
   回答ありがとうございます。
質問が言葉足らずでした。

文字効果が消えてしまうのは、
「アイウエオ」などの場合「ウ」だけ文字効果があった場合に
strconvだと効果が消えてしまうという質問です。

よろしくお願いします。


▼マナ さん:
>▼chell さん:
>
>1文字ずつ変換してみました
>
>Sub test()
>  Dim c As Range
>  Dim k As Long
>  
>  Set c = ActiveCell
>    
>  For k = 1 To Len(c.Text)
>    With c.Characters(k, 1)
>      .Text = StrConv(.Text, vbNarrow)
>    End With
>  Next
>
>End Sub

【80759】Re:strcnvでの半角変換の際の文字効果が...
お礼  chell  - 19/5/2(木) 19:08 -

引用なし
パスワード
   すいません、いま訳あって手元にexcel環境がないので、
GW明けにマナさんに教えていただいたコードで試そうと思います。
回答たいへんありがとうございました。

▼マナ さん:
>▼chell さん:
>
>1文字ずつ変換してみました
>
>Sub test()
>  Dim c As Range
>  Dim k As Long
>  
>  Set c = ActiveCell
>    
>  For k = 1 To Len(c.Text)
>    With c.Characters(k, 1)
>      .Text = StrConv(.Text, vbNarrow)
>    End With
>  Next
>
>End Sub

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