Excel VBA質問箱 IV

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

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


11345 / 13646 ツリー ←次へ | 前へ→

【16608】1セル内の複数の書式の取得 YAS 04/8/3(火) 23:41 質問[未読]
【16609】Re:1セル内の複数の書式の取得 IROC 04/8/3(火) 23:43 回答[未読]
【16611】Re:1セル内の複数の書式の取得 Asaki 04/8/4(水) 0:06 回答[未読]
【16612】Re:1セル内の複数の書式の取得 Asaki 04/8/4(水) 0:08 発言[未読]
【16620】Re:1セル内の複数の書式の取得 YAS 04/8/4(水) 12:43 お礼[未読]

【16608】1セル内の複数の書式の取得
質問  YAS  - 04/8/3(火) 23:41 -

引用なし
パスワード
   はじめましてYASと申します。

詳しい方教えていただけると
嬉しいのです。

”同一セル内”で
以下の文章を改行し
コメントの文字色で表示しているとします

あいうえお //←黒い色の文字
かきくけこ //←赤い色の文字

このセル内の文字の色を取得して
RGBの数字として別セルに書き込もうとすると
RBG数字が入っていないようで
何も書き込まれないようなのです。
Print などで別のテキストファイルに
書き込んでみると
"Null" が書き込まれます。
(ちなみに msgboxで色数値を表示しようとすると
 "NULLの使い方が不正です"とエラーメッセージが
 表示されてしまいます。)

同一セル内で
複数の書式をもったセルを作った場合
そのセルの情報は取得できないのでしょうか?

どなたかご存知の方いますか?

【16609】Re:1セル内の複数の書式の取得
回答  IROC  - 04/8/3(火) 23:43 -

引用なし
パスワード
   たぶんですが、取得できなかったと思います。

【16611】Re:1セル内の複数の書式の取得
回答  Asaki  - 04/8/4(水) 0:06 -

引用なし
パスワード
   こんばんは。

ColorIndex でよければ、下のような感じで取れそうです。
とりあえず、対象セルを(アクティブシートの)A1に限定した場合です。

Sub test()
  Dim v  As Variant
  Dim r  As Variant
  Dim c  As Range
  Dim i  As Long

  Set c = Cells(1, 1)
  v = Split(c.Value, vbLf)
  i = 1
  For Each r In v
    MsgBox c.Characters(i, Len(r)).Font.ColorIndex
    i = i + Len(r & vbLf)
  Next r
  Erase v
  Set c = Nothing
End Sub

【16612】Re:1セル内の複数の書式の取得
発言  Asaki  - 04/8/4(水) 0:08 -

引用なし
パスワード
   注意書きを忘れました。

Split 使ってますので、Excel2000以降限定になります。

【16620】Re:1セル内の複数の書式の取得
お礼  YAS  - 04/8/4(水) 12:43 -

引用なし
パスワード
   なるほど できました。

とても助かりました。
ありがとうございました!!

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