Excel VBA質問箱 IV

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

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


1955 / 13645 ツリー ←次へ | 前へ→

【70818】リットルの置換 記号 12/1/3(火) 14:16 質問[未読]
【70819】Re:リットルの置換 UO3 12/1/3(火) 14:36 発言[未読]
【70823】Re:リットルの置換 記号 12/1/3(火) 22:31 発言[未読]
【70824】Re:リットルの置換 UO3 12/1/3(火) 22:53 発言[未読]
【70825】Re:リットルの置換 UO3 12/1/3(火) 22:58 発言[未読]
【70826】Re:リットルの置換 UO3 12/1/3(火) 23:20 発言[未読]
【70827】Re:リットルの置換 UO3 12/1/3(火) 23:51 発言[未読]
【70832】Re:リットルの置換 UO3 12/1/4(水) 14:45 回答[未読]
【70834】Re:リットルの置換 ちん 12/1/4(水) 18:51 発言[未読]
【70835】Re:リットルの置換 UO3 12/1/4(水) 21:59 発言[未読]

【70818】リットルの置換
質問  記号  - 12/1/3(火) 14:16 -

引用なし
パスワード
   Sub リットル置換()
 ActiveSheet.UsedRange.Replace what:="l", replacement:="筆記体のりっとる", lookat:=xlPart, MatchCase:=True
End Sub

筆記体のりっとるが表示されません。
どうしたらいいのでしょうか?

【70819】Re:リットルの置換
発言  UO3  - 12/1/3(火) 14:36 -

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

このコードをそのままコピペして、実行しましたら、置き換えられましたよ。
ただし置き換えられた文字は、「全角」の小文字エルですけど。

【70823】Re:リットルの置換
発言  記号  - 12/1/3(火) 22:31 -

引用なし
パスワード
   ▼UO3 さん:
>▼記号 さん:
>
>このコードをそのままコピペして、実行しましたら、置き換えられましたよ。
>ただし置き換えられた文字は、「全角」の小文字エルですけど。

筆記体のリットルでないとだめなんですが。
どなたかわかりませんか?

【70824】Re:リットルの置換
発言  UO3  - 12/1/3(火) 22:53 -

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

あのぉ・・・
申し上げたのは、記号さんがアップされたコード、

>ActiveSheet.UsedRange.Replace what:="l", replacement:="筆記体のりっとる",

この置き換え対象の、what:="l" 
このエルが半角小文字のエルではなく全角小文字のエルになってますよということです。
文字列中に「全角小文字」のエルがあれば、"筆記体のっとる"におきかわりますけど
文字列の中身が「半角小文字」のエルだとおきかわりませんよということです。

いずれも記号さんがいわれる、「筆記体のエル」でしょうけど、両者は文字コードが異なりますので。

【70825】Re:リットルの置換
発言  UO3  - 12/1/3(火) 22:58 -

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

念のため。
おそらく記号さんがやりたいことは

Sub リットル置換2()
 ActiveSheet.UsedRange.Replace what:="l", replacement:="筆記体のりっとる", lookat:=xlPart, MatchCase:=True
End Sub

【70826】Re:リットルの置換
発言  UO3  - 12/1/3(火) 23:20 -

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

あっ、、もしかして、文字列中の l または l を「本当の筆記体」のエルにかえたいということでしたか?

もし、そうであれば、「本当の筆記体のエル」は、文字コードとしては存在しませんので
(外字として作成するなら別でしょうけど)
文字の置きかえではなく、フォントを変えるということではないでしょうか?

私自身はやったことはありませんが「フォント 筆記体」として検索すると、いろいろでてくると思います。

【70827】Re:リットルの置換
発言  UO3  - 12/1/3(火) 23:51 -

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

こんなページがありました。
oshiete.goo.ne.jp/qa/185081.html

ユニコードの2113で、筆記体のエルがでてきますね。
ただ、このページにも書いてあるように、機種依存ですけど。

【70832】Re:リットルの置換
回答  UO3  - 12/1/4(水) 14:45 -

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

こんにちは

なんだか、役立たずのレスを繰り返したみたいでもうしわけありません。
上でなんだかんだ述べましたように、コードとしての「筆記体のエル」は私には
無理っぽいので、「見た目の表示のみ」変換するコードです。
全角、半角とわず、「小文字のエル」の表示を「筆記体」に変えます。
とりああえずは、各セル内の最初のエルのみを変換しています。
(全てを変換することもできますが)

Sub リットル表示変換()
  Dim c As Range
  Dim f As Range
  Dim n As Long
  
  Set c = ActiveSheet.UsedRange.Find(What:="l", LookIn:=xlFormulas, LookAt:=xlPart, _
    SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, _
    MatchByte:=False, SearchFormat:=False)
    
  If c Is Nothing Then
    MsgBox "変換すべきものがありません"
    Exit Sub
  End If
  
  Set f = c
  
  Do
  
    c.Value = Replace(c.Value, "l", "l") '全角エルは半角に
    n = InStr(c.Value, "l")
    c.Characters(Start:=n, Length:=1).Font.Name = "MT Extra"
    
    Set c = ActiveSheet.UsedRange.FindNext(c)
    
  Loop While c.Address <> f.Address
  
  MsgBox "変換終了しました"

End Sub

【70834】Re:リットルの置換
発言  ちん  - 12/1/4(水) 18:51 -

引用なし
パスワード
   ▼記号 さん、U03さん。明けましておめでとうです。ちんといいます。
横から失礼します。
EXCELの記号と特殊文字で、リットルを見るとUNICODEの2113 です。

ActiveSheet.UsedRange.Replace what:=ChrW(&H2113), replacement:="筆記体のりっとる", lookat:=xlPart, MatchCase:=True

ChrW(&H2113) で試してみてください。
以上、参考までに・・・


>Sub リットル置換()
> ActiveSheet.UsedRange.Replace what:="l", replacement:="筆記体のりっとる", lookat:=xlPart, MatchCase:=True
>End Sub
>
>筆記体のりっとるが表示されません。
>どうしたらいいのでしょうか?

【70835】Re:リットルの置換
発言  UO3  - 12/1/4(水) 21:59 -

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

>ChrW(&H2113) で試してみてください。

ですよねぇ。
白状しますと、上の方で、自分でもユニコードの2113と書いているのに
やってみて、だめだと。ChrW(2113) でやってました。おそまつ。(汗)
そりゃぁ、ヘキサですよねぇ。

で、おそらく記号さんがやりたいのは文字列のなかの "l"を筆記体のエルに変換でしょうから

Sub リットル置換()
 ActiveSheet.UsedRange.Replace what:="l", replacement:=ChrW(&H2113), lookat:=xlPart, MatchCase:=True
End Sub

でしょうね。

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