アプリ版:「スタンプのみでお礼する」機能のリリースについて

本日2度目の質問です。本当にすみません。

■の代わりに□にレ点がはいったWingdingsの文字を使いたいのですが、?になって認識しません
対応策はないものでしょうか。
皆様、ご教示下さい。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
Cancel = True
If Target.Value = "□" Then
Target.Value = "■"
ElseIf Target.Value = "■" Then
Target.Value = "□"
End If
End Sub

質問者からの補足コメント

  • つらい・・・

    ご回答感謝いたします。ご連絡が遅れ申し訳ありません。セルをWingdingsのフォントにし、ご指摘の方法を試すと、レ点のチェックではなくなにやら記号みたいなものが表示されてしまいました。

    *やRで設定すると、いいかんじなのですが、□の大きさが違うのです。お救い下さいませ。

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/03/15 19:23

A 回答 (4件)

おしゃっていることは確認できました。

(なぜ、No.1 のコードがおかしいのはわかりませんが、どこかで間違ったようです)「Wingding 2」側をお使いのようです。

□の種類そのものが違うようですね。

論より証拠で、添付画像のようになればよいのですね。
それなら、こんな方法があります。姑息な方法かもしれませんが……

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Cancel = True
 If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
 With Target
  If .Value = "■" Then
   .Font.Name = "MS ゴシック"
   .Value = "□"
  ElseIf .Value = "□" Then
   .Font.Name = "Wingdings 2"
   .Value = "P"
  ElseIf .Value = "P" Then
   .Font.Name = "MS ゴシック"
   .Value = "■"
  Else 'それ以外の文字や空白の時
   .Font.Name = "MS ゴシック"
   .Value = "■"
  End If
 End With
End Sub
「VBAにWingdingsの文字って」の回答画像3
    • good
    • 0
この回答へのお礼

思い描いていたものに、めぐり合えました。
拙な、質問に対してお時間をとっていただき、本当にありがとうございました。感謝、感謝です。

お礼日時:2019/03/17 13:34

環境依存文字になってしまいますが、こんなのでどうですか。



Range("A1").Value = ChrW(9745)
    • good
    • 0

私は、今回、急場だったので、他のPCで試していませんでした。


PCによって、出方が違うのかもしれませんね。
□の大きさが違うというのは、それぞれの大きさが違うのでしょうか。
いずれにしても、この件は、もう一度、複数のPCで様子を調べてみます。
少し、お待ち下さい。
    • good
    • 0

http://oshiete.goo.ne.jp/qa/11024808.html

前回でも、私は、触れていたはずですが、ヒントにはならなかったのでしょうか。
中身は、アルファベットです。

セルの入力範囲のフォントを、Wingdings にしておいて、

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
With Target
 If .Value = "c" Then
  .Value = "g"
 ElseIf .Value = "g" Then
  .Value = "a"
 ElseIf .Value = "a" Then
  .Value = "c"
 Else 'それ以外の文字や空白の時
  .Value = "c"
 End If
End With
End Sub
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!