Excel VBA質問箱 IV

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

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


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

【45671】振替振出表を完成させたいです。 ぴょんぴょん 07/1/9(火) 17:24 質問[未読]
【45673】Re:振替振出表を完成させたいです。 neptune 07/1/9(火) 20:06 発言[未読]
【45677】Re:振替振出表を完成させたいです。 ぴょんぴょん 07/1/10(水) 13:13 お礼[未読]
【45680】Re:振替振出表を完成させたいです。 neptune 07/1/10(水) 14:48 回答[未読]
【45692】Re:振替振出表を完成させたいです。 ぴょんぴょん 07/1/11(木) 9:23 お礼[未読]
【45693】Re:振替振出表を完成させたいです。 neptune 07/1/11(木) 13:07 回答[未読]
【45730】Re:振替振出表を完成させたいです。 ぴょんぴょん 07/1/12(金) 19:57 お礼[未読]
【45734】Re:振替振出表を完成させたいです。 neptune 07/1/12(金) 22:25 回答[未読]
【45735】Re:振替振出表を完成させたいです。 ぴょんぴょん 07/1/12(金) 23:21 質問[未読]
【45748】Re:振替振出表を完成させたいです。 neptune 07/1/13(土) 15:54 回答[未読]
【45694】Re:振替振出表を完成させたいです。 neptune 07/1/11(木) 13:11 発言[未読]
【45728】Re:振替振出表を完成させたいです。 徘徊者 07/1/12(金) 19:28 発言[未読]

【45671】振替振出表を完成させたいです。
質問  ぴょんぴょん  - 07/1/9(火) 17:24 -

引用なし
パスワード
   振替振出表を作成しているのですが、つまづいたのでアドバイス頂けたらと思いますm(_ _)m。

作成途中のファイルは
1st.geocities.jp/snsbh039/test/test.xls
です。

「出」の値と「休」の値が一致するときに、
セル全体の色を変更します。

しかし条件付き書式では設定できる数が限られており
VBAを使うしかないのかなと思っています。

詳細はファイルを参照していただければと思います。

【45673】Re:振替振出表を完成させたいです。
発言  neptune  - 07/1/9(火) 20:06 -

引用なし
パスワード
   ▼ぴょんぴょん さん:
こんにちは

>振替振出表を作成しているのですが、つまづいたのでアドバイス頂けたらと思いますm(_ _)m。
何に躓いたのでしょう?

>「出」の値と「休」の値が一致するときに、
>セル全体の色を変更します。
ファイルは見てませんが、例えばA1セルの値は
range("A1").value で、取得できます。これを比較するだけです。

WorkSheetにはselectionchangeというイベントがあります。
このイベントを利用してセルの色を変更したらどうですか?
セルの色の変更はマクロの記録で作成されるものが参考になります

【45677】Re:振替振出表を完成させたいです。
お礼  ぴょんぴょん  - 07/1/10(水) 13:13 -

引用なし
パスワード
   neptune さん、回答ありがとうございました。

>>振替振出表を作成しているのですが、つまづいたのでアドバイス頂けたらと思いますm(_ _)m。
>何に躓いたのでしょう?

条件付き書式で、設定できる数に制限があるところでつまづいています。

>ファイルは見てませんが、例えばA1セルの値は
>range("A1").value で、取得できます。これを比較するだけです。

参考にさせて頂きます。
対象のセルが横44列、縦50行くらいあるのですが、
やはり一つ一つセルの行列番号を指定しないといけないのでしょうか。

>WorkSheetにはselectionchangeというイベントがあります。
>このイベントを利用してセルの色を変更したらどうですか?
>セルの色の変更はマクロの記録で作成されるものが参考になります

ありがとうございました
1st.geocities.jp/snsbh039/test/test.xls

【45680】Re:振替振出表を完成させたいです。
回答  neptune  - 07/1/10(水) 14:48 -

引用なし
パスワード
   ▼ぴょんぴょん さん:
Book見ました。何もしてないですね。

プログラムを作成してあげる気はありませんので先ず、お断りしておきます。

その上で、アドバイスがあるとすれば、
・今のSheetの形状は表示用であって、データの保存をすべきでない。
 ExcelのHelpでリストを検索して、参考にしてください。
 現在のものは最悪のデータの保存の仕方の1つなので、先ずこの点から
 変更した方が良いです。

考え方としては、必要なデータをリストから抽出し、表示用のシートに
表示させるといった考え方です。

>対象のセルが横44列、縦50行くらいあるのですが、
>やはり一つ一つセルの行列番号を指定しないといけないのでしょうか。
そういうことになりますが、現在の表の形式でプログラミングするのは
面倒で、非効率的です。
また、表の改変、データの増減にも非常に対応しにくいです。


待っていれば、もう少し親切な方が現れるかもしれません。

【45692】Re:振替振出表を完成させたいです。
お礼  ぴょんぴょん  - 07/1/11(木) 9:23 -

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

> 現在のものは最悪のデータの保存の仕方の1つなので、先ずこの点から
> 変更した方が良いです。
>
>考え方としては、必要なデータをリストから抽出し、表示用のシートに
>表示させるといった考え方です。

現在は「データの入力規則」からリストを作成していますが、
この方法は良くないのですね。

別の範囲に名前をつけて定義してリストを作ろうと思います。
www.excel.studio-kazu.jp/lib/e1Ow/e1Ow.html

>待っていれば、もう少し親切な方が現れるかもしれません。
しばらく試行錯誤してみようと思います(^-^;。

アドバイスありがとうございました。

【45693】Re:振替振出表を完成させたいです。
回答  neptune  - 07/1/11(木) 13:07 -

引用なし
パスワード
   ▼ぴょんぴょん さん:
こんにちは

>現在は「データの入力規則」からリストを作成していますが、
>この方法は良くないのですね。
いや、そういうことではなくて、現在は、振替・振休管理表シートに
データを保存してますね。これがまずいのです。

例えば、
A    B    C   D   E
名前 出 時間  休 消化時間

のような、データの持たせ方をしておきます。
そして、必要なときに、必要なデータ、例えば中村さんなら
中村さんのデータだけを抽出して、見やすい位置に並べれば良いだけです。
横に長いより、縦長のほうが見易いですね。

全員の物が必要なら、未消化のものだけ抽出したら良いのです。
上の例なら、出と休の2項目共に何らかのマークが付いているなら
抽出となりますね。


>別の範囲に名前をつけて定義してリストを作ろうと思います。
私の言うリストとは、Excel2000での表題ですが
ExcelのHelpで「ワークシートでのリストの作成について」
を読んでみて下さい。前述の「例えば」のデータの待たせ方もリスト形式です。

今の入力方法は面倒です。セルの結合も不要です。
時間情報は、日付型データとして持たせます。表示だけを好きに
変更すればいいのです。
また、入力方法ですが、例えば、070111と入力したら、
2007/1/11と変換してリストに保存すればいいのです。


>>待っていれば、もう少し親切な方が現れるかもしれません。
>しばらく試行錯誤してみようと思います(^-^;。
頑張って下さい。^ ^

【45694】Re:振替振出表を完成させたいです。
発言  neptune  - 07/1/11(木) 13:11 -

引用なし
パスワード
   ▼ぴょんぴょん さん:
追記:
データ数が少ないなら、ぴょんぴょん さんの方法も否定しません。
しかし、データも多くなりそうだし、横にも長過ぎで、データが見にくくなり、
探すのも大変になりそうだったからのアドバイスでした。

【45728】Re:振替振出表を完成させたいです。
発言  徘徊者  - 07/1/12(金) 19:28 -

引用なし
パスワード
   規約はよく見ましょうね。
あちらはもう閉じられたようですが。

h t tp://www.vbalab.net/bbspolicy.html

>・マルチポストについて
>また、マルチポストを明示的に禁止しているサイトとのマルチポストをしてはいけません。

【45730】Re:振替振出表を完成させたいです。
お礼  ぴょんぴょん  - 07/1/12(金) 19:57 -

引用なし
パスワード
   ▼neptune さん:
ご親切にお答え頂きありがとうございました(TT)

>例えば、
>A    B    C   D   E
>名前 出 時間  休 消化時間
>
>のような、データの持たせ方をしておきます。
>そして、必要なときに、必要なデータ、例えば中村さんなら
>中村さんのデータだけを抽出して、見やすい位置に並べれば良いだけです。
>横に長いより、縦長のほうが見易いですね。

今までは1名につき1行使ってたのですが、
neptuneさんで提案していただいてるのは
出/休、1つにつき1行使う考え方ですね!

>ExcelのHelpで「ワークシートでのリストの作成について」
>を読んでみて下さい。前述の「例えば」のデータの待たせ方もリスト形式です。
バージョンが2003なのが原因なのか、オンラインHelpオフラインHelpともみつかりませんでした。

>今の入力方法は面倒です。セルの結合も不要です。
>時間情報は、日付型データとして持たせます。表示だけを好きに
>変更すればいいのです。
>また、入力方法ですが、例えば、070111と入力したら、
>2007/1/11と変換してリストに保存すればいいのです。

アドバイスありがとうございましたm(_ _)m
後、出と休が一致すれば背景色を変えてる処理があるのですが
条件付き書式ではExcelの仕様で設定できる数が決まってるそうで
難儀しています。

やっぱりAccessを勉強してつくらなきゃいけないのかなぁとちょっと
弱気です。

1st.geocities.jp/snsbh039/test/test.xls

【45734】Re:振替振出表を完成させたいです。
回答  neptune  - 07/1/12(金) 22:25 -

引用なし
パスワード
   ▼ぴょんぴょん さん:
こんばんは
マルチは掟破りですな。
>今までは1名につき1行使ってたのですが、
>neptuneさんで提案していただいてるのは
>出/休、1つにつき1行使う考え方ですね!
そうです。
>>ExcelのHelpで「ワークシートでのリストの作成について」
>>を読んでみて下さい。前述の「例えば」のデータの待たせ方もリスト形式です。
>バージョンが2003なのが原因なのか、オンラインHelpオフラインHelpともみつかりませんでした。
では「リスト」で検索してみて下さい。あるはずです。
ExcelのDBとしての基本概念ですから。


>アドバイスありがとうございましたm(_ _)m
>後、出と休が一致すれば背景色を変えてる処理があるのですが
>条件付き書式ではExcelの仕様で設定できる数が決まってるそうで
>難儀しています。
>
>やっぱりAccessを勉強してつくらなきゃいけないのかなぁとちょっと
>弱気です。
ExcelでもAccessでも同じところで引っかかるでしょう。
抽出自体はAccessが簡単ですが、見かけを作るのはExcelが簡単です。

この程度ならどちらで作ってもいいでしょう。
>1st.geocities.jp/snsbh039/test/test.xls
相変わらず何もしてないですな。

【45735】Re:振替振出表を完成させたいです。
質問  ぴょんぴょん  - 07/1/12(金) 23:21 -

引用なし
パスワード
   ▼neptune さん:
度々すみません。

>>>ExcelのHelpで「ワークシートでのリストの作成について」
>>>を読んでみて下さい。前述の「例えば」のデータの待たせ方もリスト形式です。
>>バージョンが2003なのが原因なのか、オンラインHelpオフラインHelpともみつかりませんでした。
>では「リスト」で検索してみて下さい。あるはずです。
>ExcelのDBとしての基本概念ですから。

ありがとうございました。検索してみつけました。

リストで抽出後、複数行あり、各人ごとに集計値を出す事は技術的に可能でしょうか?

また、各人ごとの集計値によりセルの色を変える事は技術的に可能でしょうか?

やはりVBAを使わねばならないのでしょうか。
もしよろしければアドバイスお願いしますm(_ _)m

アドバイスを参考に少し作ってみました。
1st.geocities.jp/snsbh039/test/test2.xls

【45748】Re:振替振出表を完成させたいです。
回答  neptune  - 07/1/13(土) 15:54 -

引用なし
パスワード
   ▼ぴょんぴょん さん:
こんにちは

先ず、これまで私を含め、2度のマルチに対する指摘などがありましたが
それへの対応がないのは残念です。
何故マルチが嫌われるかをご存じないなら説明しているサイトを紹介します。
少なくとも私は不快に感じます。

さて、
>リストで抽出後、複数行あり、各人ごとに集計値を出す事は技術的に可能でしょうか?
可能です。フィルタオプション、集計機能を使えば簡単でしょう。
ここまではVBAは関係ありません。
但し、VBAを使えば別のシートへデータを抽出することが出来ます。
>
>また、各人ごとの集計値によりセルの色を変える事は技術的に可能でしょうか?
可能です。マクロの記録をとってみて下さい。ヒントが得られます。

>アドバイスを参考に少し作ってみました。
>1st.geocities.jp/snsbh039/test/test2.xls
方向としてはいいのでは。
データ保管に罫線は邪魔です。

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