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

テキストボックスが100個あって(番号は1から100)、文字が入力されているものと空白のものが混ざっています。
文字が入力されているテキストボックスに関しては内部を赤く塗りつぶす、というマクロを教えて頂きたいのですが。

A 回答 (3件)

条件付き書式はセルには適用できますが、


テキストボックスには適用できないようですね。

下記でどうでしょう。

for i = 1 to 100
ActiveSheet.Shapes(i).select
if selection.Characters.Text <> "" then
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10
Selection.ShapeRange.Fill.Transparency = 0#
endif
next i
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。
実際に処理を行いたいシートにはテキストボックス以外にもオブジェクトが存在していまして、その関係だと思いますが、うまくいきませんでした。
ただ、別のシートでテキストボックスだけの環境で試してみたら、うまくいきました。

お礼日時:2006/02/18 16:46

テキストボックスがアクティブなワークシート上にあるならこれでいいと思います。



Sub test()
For Each tb In ActiveSheet.TextBoxes
If tb.Characters.Text <> "" Then
tb.ShapeRange.Fill.ForeColor.SchemeColor = 10
Else
tb.ShapeRange.Fill.ForeColor.SchemeColor = 9
End If
Next
End Sub

この回答への補足

御回答ありがとうございます。
うまくいきませんでした。
マクロ自体は途中で止まることなく最後まで処理されるのですが、結果は全て色が付かない状態になっています。

補足日時:2006/02/18 16:41
    • good
    • 0

マクロで作らなくても条件付き書式でOK。



書式>条件付き書式 で、
式で
isblank(A1)=false
あとは書式でパターン、色を選べばOK。

この回答への補足

御回答ありがとうございます。
条件付書式はテキストボックスでは使えないように思えるのですが。

補足日時:2006/02/18 16:02
    • good
    • 0

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