Excel VBA質問箱 IV

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

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


6800 / 13644 ツリー ←次へ | 前へ→

【42952】エクセルの網掛け ナナ 06/9/27(水) 15:00 質問[未読]
【42955】Re:エクセルの網掛け だるま 06/9/27(水) 19:33 回答[未読]
【43001】Re:エクセルの網掛け ToShiYo 06/9/28(木) 22:28 発言[未読]
【43008】Re:エクセルの網掛け だるま 06/9/29(金) 8:46 発言[未読]
【43032】Re:エクセルの網掛け ToShiYo 06/9/29(金) 19:07 お礼[未読]
【43037】Re:エクセルの網掛け だるま 06/9/29(金) 21:43 回答[未読]
【43044】Re:エクセルの網掛け ToShiYo 06/9/30(土) 6:48 お礼[未読]
【43045】Re:エクセルの網掛け りん 06/9/30(土) 9:24 回答[未読]
【43051】Re:エクセルの網掛け ToShiYo 06/9/30(土) 17:10 お礼[未読]
【43052】Re:エクセルの網掛け だるま 06/9/30(土) 17:26 回答[未読]
【43054】Re:エクセルの網掛け ToShiYo 06/9/30(土) 19:35 お礼[未読]

【42952】エクセルの網掛け
質問  ナナ  - 06/9/27(水) 15:00 -

引用なし
パスワード
   エクセルでセルの中で文字のみに網掛けしたいのはどうすればよいですか

  あ い う え お 
上記のものが一つのセル上に入力の場合 い と え のみを網掛けしたい場合はどうしたらよいですか?

【42955】Re:エクセルの網掛け
回答  だるま WEB  - 06/9/27(水) 19:33 -

引用なし
パスワード
   >セルの中で文字のみに網掛けしたい
仕様上はムリです。^d^

無理やりやるなら図形をかぶせる事で代用も考えられなくもありませんが、文字
位置の特定が難しいと思います。

フォントを太字にするとか色を変えるとかで代用した方が良いと思います。

【43001】Re:エクセルの網掛け
発言  ToShiYo  - 06/9/28(木) 22:28 -

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

こんばんは。つたないVBAの知識で、私なりに書けるところまで
書きました。一度動かしてください。
あとは、識者のご指導を待ってください。

>エクセルでセルの中で文字のみに網掛けしたいのはどうすればよいですか
網掛けではなく、「グレー」にしては如何でしょう。

>例
>  あ い う え お 
>上記のものが一つのセル上に入力の場合 い と え のみを網掛けしたい場合はどうしたらよいですか?

文字「あいうえお」がRange("C5")にあるとします。
一応文字は取り出せました。
あとは、Font.ColorIndex = 15 (グレー色インデックス)
と上手くつなげられれば、良いのですが・・・識者の方のご指導をお願いします。


Sub test()

Dim AnyString, MyStr
 AnyString = Range("C5").Value      
 MyStr = Mid(AnyString, 2, 1)   ' "い" を返します。
   MsgBox MyStr
     '・・・・・・.Font.ColorIndex = 15
 MyStr = Mid(AnyString, 4, 1)   ' "え" を返します。
   MsgBox MyStr
     '・・・・・・.Font.ColorIndex = 15
End Sub

【43008】Re:エクセルの網掛け
発言  だるま WEB  - 06/9/29(金) 8:46 -

引用なし
パスワード
   >フォントを太字にするとか色を変えるとかで代用
一応、太字&赤文字の例です。^d^

Sub test()
  With Range("A1")
    .Value = "あいうえお"
    With .Characters(2, 1).Font
      .Bold = True
      .Color = vbRed
    End With
    With .Characters(4, 1).Font
      .Bold = True
      .Color = vbRed
    End With
  End With
End Sub

【43032】Re:エクセルの網掛け
お礼  ToShiYo  - 06/9/29(金) 19:07 -

引用なし
パスワード
   ▼だるま さん:

こんばんは・・・ToShiYoです。
いつも見させていただいています。
今回も参考になりました。
ありがとうございます。

識者のだるま さん。
小生のコードを追加変更して同じようなアクションが
出来ませんでしょうか?
もし出来れば、ご指導お願いします。

【43037】Re:エクセルの網掛け
回答  だるま WEB  - 06/9/29(金) 21:43 -

引用なし
パスワード
   >小生のコードを追加変更して同じようなアクションが出来ませんでしょうか?
Mid関数は文字列そのものを返します。しかし、文字列そのものにはFontやColor
などの属性は設定できません。(文字列にはプロパティはありません。)

属性(プロパティ)を設定できるのは今回の場合、Characters オブジェクト
になります。

したがって、
>追加変更して
はちょっと無理です。(T_T)

【43044】Re:エクセルの網掛け
お礼  ToShiYo  - 06/9/30(土) 6:48 -

引用なし
パスワード
   ▼だるま さん:

ありがとうございました。
今後ともよろしくお願いします。

【43045】Re:エクセルの網掛け
回答  りん E-MAIL  - 06/9/30(土) 9:24 -

引用なし
パスワード
   ToShiYo さん、おはようございます。

ToShiYoさんの文字位置と色指定を、だるまさんの処理にあわせるとこんな感じ。

Sub test()
  Dim LL As Integer, Lmax As Integer
  With Range("C5")
   'セルの値が文字列の場合
   If IsNumeric(.Value) = False Then
     '文字列の長さ
     Lmax = Len(.Value)
     '一文字ずつチェック(ひとつしかないならINSTRでも可)
     For LL = 1 To Lmax
      Select Case Mid(.Value, LL, 1)
        Case "い", "え" '『い』と『え』をグレーに
         With .Characters(LL, 1).Font
           .Bold = True
           .ColorIndex = 15
         End With
        Case Else
      End Select
     Next
   End If
  End With
End Sub

意味が違うかもしれませんが。

【43051】Re:エクセルの網掛け
お礼  ToShiYo  - 06/9/30(土) 17:10 -

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

ありがとうございました。ばっちりです。
指定文字のグレー化が出来ました。

だるまさんの
vbRedをグレーのインデックス15の相当する色を指定するには
表現をどのようにすると良いのでしょう?
vbGreyではダメですね・・・何か方法があるのでしょうか?

【43052】Re:エクセルの網掛け
回答  だるま WEB  - 06/9/30(土) 17:26 -

引用なし
パスワード
   ▼ToShiYo さん:
>▼りん さん:
>
>ありがとうございました。ばっちりです。
>指定文字のグレー化が出来ました。
>
>だるまさんの
>vbRedをグレーのインデックス15の相当する色を指定するには
>表現をどのようにすると良いのでしょう?
>vbGreyではダメですね・・・何か方法があるのでしょうか?

vbGreyという定数は定義されていないのでColorIndexで指定するか、RGB関数で
指定することになると思います。(RGBの各指定値は適当に実験してください。^d^)

【43054】Re:エクセルの網掛け
お礼  ToShiYo  - 06/9/30(土) 19:35 -

引用なし
パスワード
   ▼だるま さん:

ColorIndexで指定するか、RGB関数で
指定することになると思います。(RGBの各指定値は適当に実験してください。^d^)
ありがとうございました。
良く理解できました。
失礼します。今後ともよろしくお願いします。

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