- 締切済み
画像の表示について
初めまして。初歩的な質問で申し訳ありませんが、お詳しい方のアドバイスをいただければと思います。よろしくお願いします。 塾の講師をしております。 生徒の成績を管理しようとExcelを使用しています。 縦に表現してしまいましたが、作成した表は下記のような感じです。 A列 氏名 B列 クラス C列 教科(1) D列 教科(1)の評価 E列 教科(2) F列 教科(2)の評価 DとFの評価の部分に「OK」「あとちょっと」「NG」という 自分で作ったオートシェイプ(?エクセルのステータスバーにある機能です)を貼り付けたくてネットでいろいろと調べていました。 名前定義と参照範囲という機能を利用した方法を見つけました。 さっそく手順に沿って試したらできたのですが、 受け持っている生徒が200人ほどおりますため、 200個のセルに設定していくことにすごく苦労しました。 また、教科を増やしたり、表示する画像を増やすことも検討しています。 さらにゆくゆくは、教科を課題単位に細かく割って、 達成できた日数も整理できたら…などとも考えております。 VBAが使えるとできるのではないか?という意見を同僚から もらったのですが、同僚も詳しくはないのでわからないとのこと。 そこで以下の2点について教えていただきたいと思います。 1.セルに入力した条件によって表示する画像を切替える方法はありますでしょうか?(200行以上に設定したいです。) 2.VBAで実現できるという場合、どのような教材で勉強すれば良いでしょうか? 初心者のためうまく説明できていない点も多いかと思いますが、 アドバイスいただけますようよろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- id357
- ベストアンサー率29% (39/133)
#1です どう表現したら良いのか判りませんが、 まず、やってみることです。 その上で可能なことと、無理なことを振り分けます。 ここの世界(業界)には教本など、ありません。 答えにはなっていないかとは思いますが事実です。 まず、やってみることです。 その結果が結局、真実です。
- ShowMeHow
- ベストアンサー率28% (1424/5027)
なんだか、表示が変わりましたね。 回答番号:No.2 です。 インストール不可となると、アクセス自体の機能を使うことはできません。 それこそ塾のpcに .NET Framework が入っていれば、(No.1さんの回答のように)VB+MDBなどで開発すれば動かすことはできると思いますが、ちょっと初心者には敷居が高いかな。
- yyr446
- ベストアンサー率65% (870/1330)
蛇足 >>評価の部分に「OK」「あとちょっと」「NG」という自分で作ったオートシェイプを貼り付けたく.... をどうしてもやりたいなら、ANo.3の回答がベストだと思いますが、 画像はあきらめて、「OK」「あとちょっと」「NG」の文字を表示するとか、その時のセルの色とか、セル背景のパターンとか、文字書式で目立つようにする、とかだったらExcelだけで簡単に出来ますね。 ご存知でしょうが。。
- nda23
- ベストアンサー率54% (777/1416)
No.2の方の意見のようにAccessを使うと簡単にできます。 少し具体的に書きますと、以下のようになります。 (1)テーブルを作る ア.成績テーブルを作る。内容はA列~F列で良いでしょう。 イ.イメージマスタを作る。内容は評価と画像です。 評価は文字型で、成績テーブルのD、F列と同じ内容が入ります。 画像はOLE オブジェクト型にします。 (2)データを入力する ア.成績テーブルを開いて、データを登録します。Excelと同じ感覚で良いでしょう。 イ.イメージテーブルを開いて、データを登録します。 先ず、オートシェイプの画像を何処か(Excelでよい)に表示させておきます。 評価の欄に"OK"と入力し、画像欄には表示してあるイメージをドラッグドロップ します。同様に「あとちょっと」、「NG」を作ります。 (3)クエリを作る クエリビルダで、成績テーブル1個、イメージテーブル2個を用意します。 教科(1)の評価と1番目のイメージの評価を結合します。 教科(2)の評価と2番目のイメージの評価を結合します。 (4)フォームを作る。 ウィザードで(3)で作ったクエリを基にフォームを作ります。 あとは試験などの度に成績テーブルを更新するだけです。フォームは そのままのイメージで印刷も出来ますし、印刷用に体裁を整えるなら レポートで同じようにウィザードを使って作成することができます。 教科を増やしたり、達成日を追加する等も比較的簡単です。 但し、クエリとフォームはメンテナンスしなければなりません。 Excel+VBAでも実現できますが、経験者でも難易度の高いプログラムに なると思います。変更契機とイメージを貼り付ける位置の決め方が 難しいでしょう。
- ShowMeHow
- ベストアンサー率28% (1424/5027)
もちろんエクセルを使ってでもできますが、使い勝手を良くするためにはかなり手間がかかります。 「その道のプロ」もしくは「かなり詳しい人」でないとうまくできないかもしれません。 こういう類のものはどちらかというと、アクセスのほうが向いていると思います。 アクセスでしたら、「ちょっと詳しい人」程度で処理できるレベルだと思います。 質問に対する回答は、エクセルを使ったことがないので良くわかりませんが、 1.元々両方の画像を貼り付けておいて、if関数などで画像のvisibleプロパティを変更する。 若しくは画像のpictureプロパティを変更することによって画像を切り替えるなどが考えられますが、 1sheetにたくさんのコントロールを配置することはあまりお勧めできません。 フォーム上などでlookupした情報のみについて表示させたほうが良いと思います。 2.本でもよいし、ネットでも良いし、学校へ行っても良いし、、、 (やる気と時間と僅かな能力があれば)
- id357
- ベストアンサー率29% (39/133)
かなり細かい内容まで管理されたい、拡張性も考えておられるようですで この際、VB2008で組まれたらどうでしょうか? VBAだと、へたにはまったらドロ沼になります。 多少の勇気は必要かと思いますが、何か壁にあたった時 そちらの方が経験者も多いし、みなさん助けてくれます。 PCの性能が許せば、フリー版もでていますので。
お礼
さっそくのお返事ありがとうございます。 VB2008ですか…。教えていただいたサイトには確かに 「初心者向け」という記載がありましたが、 まったくの素人なので手をつける前にかなりの勉強が必要なきがします。 度々の質問で申し訳ありませんがもう1点お聞かせ下さい。 プログラミングの経験がない者が勉強するのに適している教材など ご存知でしたら教えていただけないでしょうか? よろしくお願いいたします。
お礼
さっそくのお返事ありがとうございます。 アクセス、調べてみました。塾のPCには入っていなかったため、 上の者に確認したところ、塾のPCにはソフトのインストールは しないようにという回答だったのでアクセスが入れられそうにありません。 例えば、ソフトを購入して自宅のPCで作成した場合、 それを塾のPCで使用することは可能なのでしょうか? 度々の質問で申し訳ありませんが教えていただけると助かります。 よろしくお願いいたします。