エクセル(EXCEL)で進捗管理を考えています。

横1列それぞれにひとつづつボタンをつけて、そのボタンを押すと、
ボタン内の文字列がかわる様にするのと
例:
------ ------ -----
未完了>処理中>完了
------ ------ -----
それぞれのステータスに合わせ横1列分セルの色を変化させる
関数構文を教えていただけますでしょうか。
例:
未完了(赤):処理中(黄色):完了(青)
そのままコピペできる形で教えていただけるとうれしいです。

勉強不足で申し訳ないのですがよろしくおねがいます。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/11/10 17:46:11
  • 終了:--

回答(2件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982005/11/10 18:38:47

ポイント60pt

条件ですが

CommandButton1のキャプションは 未完了 や 処理中、完了 以外にしておいてください。


また、対象行は Rows(”16:16”).Select

の 16という値を 変更して調節してください。


Private Sub CommandButton1_Click()

If Not (CommandButton1.Caption = ”未完了” Or _

CommandButton1.Caption = ”処理中” Or _

CommandButton1.Caption = ”完了”) _

Then

Rows(”16:16”).Select

With Selection.Interior

.ColorIndex = 3

.Pattern = xlSolid

End With

CommandButton1.Caption = ”未完了”

End

End If

If CommandButton1.Caption = ”未完了” Then

Rows(”16:16”).Select

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

CommandButton1.Caption = ”処理中”

Else

If CommandButton1.Caption = ”処理中” Then

Rows(”16:16”).Select

With Selection.Interior

.ColorIndex = 5

.Pattern = xlSolid

End With

Range(”L22”).Select

CommandButton1.Caption = ”完了”


End If

End If

End Sub

id:suke33 No.2

suke33回答回数238ベストアンサー獲得回数32005/11/10 18:56:28

ポイント30pt

上記はマイクロソフト公認のユーザー間でのFAQコーナーです。参考までに。


さて、ご要望のものは以下のマクロ関数で実現できます。


1.セルA1, A2, … にそれぞれボタンを1つずつ配置する(オブジェクト名を仮にCommandButton1, CommandButton2, …とする)


2.各ボタンのCaptionを「未完了」と設定する。


3.セルB1, B2, …を赤で塗りつぶす。


4.以下のソースをボタンを設定したシートのモジュールへ貼り付ける。


Private Sub CommandButton1_Click()

If (CommandButton1.Caption = ”未完了”) Then

CommandButton1.Caption = ”処理中”

Range(”B1”).Interior.ColorIndex = 36 ’黄色

ElseIf (CommandButton1.Caption = ”処理中”) Then

CommandButton1.Caption = ”完了”

Range(”B1”).Interior.ColorIndex = 34 ’青

End If

End Sub


Private Sub CommandButton2_Click()

If (CommandButton1.Caption = ”未完了”) Then

CommandButton1.Caption = ”処理中”

Range(”B2”).Interior.ColorIndex = 36 ’黄色

ElseIf (CommandButton1.Caption = ”処理中”) Then

CommandButton1.Caption = ”完了”

Range(”B2”).Interior.ColorIndex = 34 ’青

End If

End Sub


・・・以降、ボタンの数だけ上記関数を追加する。


これで出来ます。

id:kimimi

ありがとうございました!

2005/11/14 12:23:29
  • id:suke33
    ソースまちがえてたっす

    すみません。回答のソースが間違っていました。

    プロシージャ「Private Sub CommandButton2_Click()」内にある「CommandButton1」を全て「CommandButton2」に修正してください。

    ・・・コピペばればれ。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません