X



ExcelVBAで勤務表を作ろう
■ このスレッドは過去ログ倉庫に格納されています
0233278 ◆3HjE5W.53k
垢版 |
2012/03/16(金) 22:23:09.37
>>229
そうですか、よかった;

>>232
パートも嘱託も休みの回数は年度始めに決まっています(事務所から回数書いた紙を貰う)
それも写真撮ってあとでUPします
0235デフォルトの名無しさん
垢版 |
2012/03/17(土) 16:27:36.65
>>233
>ウェブアルバムめんどそうだったのでアプロダですみません

外注したらウン十万円のものタダで作ってもらっておいて
自分の骨惜しみは「面倒」だとかどんだけだよ
023856
垢版 |
2012/03/17(土) 22:11:17.95
>>234
Uぷ、すいません。
まだ、ちょこっとしかみてませんけど、やっぱり休みの割り振りに偏りが出てるみたいですね(パラメータの連勤数を下げればかなりかわるかも)
0239278 ◆3HjE5W.53k
垢版 |
2012/03/17(土) 23:17:23.96
>>235
言葉足らずで申し訳ないです…
面倒なのは見るほうがなのでUPするのはすぐ出来ます

>>236
失礼しました、次からはドロップボックスを使うようにします

>>238
偏り出ますね;特にパートのPさんはなぜか月ごとに回数も変わってくるし…
家族での収入による調整だとは思いますが
0240デフォルトの名無しさん
垢版 |
2012/03/18(日) 08:13:54.88
>>278
要件の説明だけだとわからないので
実データをもとにしたデータを3年分ほど
上げてください
前提条件(指定休、希望休、指定休、希望休など)と
実際に作成した勤務表をできるだけ詳しく
お願いします
0245デフォルトの名無しさん
垢版 |
2012/03/20(火) 01:15:22.48
ダウンロードしたの、ボタンを押して動かない
みんなテストできているのか
VBAを直すということは動いているんだろうな
0247278 ◆3HjE5W.53k
垢版 |
2012/03/22(木) 20:09:32.28
初歩的な質問で申し訳ないですが
セルAP5:AP34に乱数を配置したとして
その中の最大値のあるセルの行番号を求めるにはどうしたらいいのでしょうか?
0248デフォルトの名無しさん
垢版 |
2012/03/22(木) 21:13:45.13
>>247
本当に分からないんだったら
VBAでも何でもいいからプログラミングの本を読んで勉強した方がいいですよ
このレベルのことをいちいち掲示板で訊いていたら答えるほうも切りがないので

例えば一つのやり方として
・変数iを宣言 (カウンタ、行用)
・変数maxRowを宣言 (最大値のある行用)
・maxRow = 5 (初期値)
・for loop でiが6から34まで繰り返す
  もし、Cells(i,"AP") > Cells(maxRow,"AP") なら、
   maxRow = i とする

・for loop を抜けたら maxRow が最大値のある行番号です

これは、最大値がひとつの場合を想定しています
最大値が複数ある場合は、一番小さい行番号となります
0249278 ◆3HjE5W.53k
垢版 |
2012/03/22(木) 21:44:03.60
>>248
ありがとうございます
まだまだVBA勉強中でして、この程度のことも分からず申し訳ないです
0250デフォルトの名無しさん
垢版 |
2012/03/23(金) 14:48:24.81
なあ、最初の発言が2/19で、もう一ヶ月以上たってるんだけど、VBAの勉強は何時間したの?
正直引くわ
0255デフォルトの名無しさん
垢版 |
2012/03/24(土) 03:01:52.71
むしろ1年とか言ってたのが1ヶ月でここまで出来てるなら凄いだろ
全部56がやってくれてるおかげだが
0256デフォルトの名無しさん
垢版 |
2012/03/24(土) 03:36:33.23
>>255
俺?なーんにもしてないよ
18が未完成とはいえ、あれだけ作り上げてると赤の他人としては一寸触れないもんね
025756
垢版 |
2012/03/24(土) 03:46:10.38
ExcelVBAパーフェクトマスターくらいは持っておいて損はないと思う
(この本と後、500円くらいの雑誌2冊とマクロの自動記録とかで独学したなあ)
0259デフォルトの名無しさん
垢版 |
2012/03/25(日) 07:03:31.96
昨日、町の書店で見た【ExcelVBA逆引き大全 600の極意】この本良いかも
後、【続ExcelVBAのツボとコツがゼッタイにわかる本】(立山秀利 著)こちらは見たことないがスケジュール表の作成を主題にしているようですね
0260デフォルトの名無しさん
垢版 |
2012/03/26(月) 11:35:59.59
>>256
他人が触れないのは、コードが糞だから。本人は自覚あんのかな?

>>259
最初の一冊に「逆引き○○」とかは全然駄目。
素直に、VBAの基礎とExcelのオブジェクトの操作方法を説明してる本を買うのがいい。
0261209
垢版 |
2012/03/26(月) 13:27:28.22
な、俺の予想したとおりになったろ

俺は>>18のコードは仕様的に致命的な欠点(夜勤の回数を指定できない)があって使い物にならんと思ったんだが
278はどう思ってんのだろうな
0263278 ◆3HjE5W.53k
垢版 |
2012/03/26(月) 20:28:47.54
少し離れた町の本屋行ったけどVBAの本って全然ないんですね…
やっぱり大きい店に行かないとないのか;
パーフェクトマスター素直にネットで買おう

>>261
自分ではとても作れないレベルのものなので使い物にならないなんて思ってないですけど…
0267営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/03/29(木) 05:44:17.82
早番、日勤Aが勤まるメンバー数が14名…
詰まりは早番勤務後の次の早番予定は15日後(幅をとって間隔のめやすを12日、最大3回)以下、同様に日勤C〜は16名なので最大2回めやすは14日、最後の休み間隔は4で設定実行…

最初よりかなり良くなったけどメンバー間の休み数のバラツキがもうちょっと…かな?
026856
垢版 |
2012/03/31(土) 05:22:29.29
過疎っちゃてるけど>>278的には使えるレベルなのかな?それとも自動振り分けが満足いくレベルでない?
要求定義にそって色々、弄ろうとしたけど日々の日勤者数=休みの人数が確定してないと無理ぽいなあ
0269278 ◆3HjE5W.53k
垢版 |
2012/03/31(土) 05:54:49.88
>>268
使えるレベルは>>227のことでしょうか?
どこをどうすればうまく割り振れるのか…使いこなせてないです
>日々の日勤者数=休みの人数
これはその日の最低勤務者数ではなくて、ですか
0270営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/03/31(土) 08:23:30.03
今のロジックだと付属の説明で>>18が述べているように割り振りが難しい。
単純にシフト種別毎に勤務回数(昇順)、最終勤務日、メンバー数(表示Noを使用)のテーブルを参照して逐次探索した方が良さそうなんだけどその日の勤務予定者数が確定してれば尚良いかと
ただ、現ソースに修正しようとすると読みづらくてね…
0271営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/03/31(土) 08:53:56.75
もうちょっと詳しくいうと
@前月分の全勤務状況をシフト毎のテーブル(回数、日付、メンバー表示No)にセット
A当月の指定勤務があればそれも回数にUpしてソートB夜勤1のテーブルから回数の少ないメンバーを検索してセット以降夜勤2、早番テーブルを検索という感じで
※禁止の人は最大値を回数を減らしたいメンバーにはウェイト加算する
027256
垢版 |
2012/03/31(土) 14:34:10.89
夜勤Aの時にペアチェックの追加ロジックが必要なだけで他のシフトも同じアルゴリズムだし前月も今月も同じシフト(前月早番3回したのに今回もまた〜)が多いとかの不満もでない筈…?
只、何か抜けているというか穴があるような気もする(翌日のチェック機能は除く)。
それより実家の収穫に追われてソースを弄れない(;´Д`)
0275278 ◆3HjE5W.53k
垢版 |
2012/04/01(日) 13:45:17.56
もう全然ついていけない域まで進んで行っている…
027656
垢版 |
2012/04/02(月) 14:31:03.22
とりあえずModuleFit内の関数fillKinmu→Call setHoliday(c_kinmu)一行をコメントにしてみたが、こっちの方が使い易い気がするんで試してみて
設定ファイルの職員情報内各シフトの最大回数、間隔は適切に近い形に変えるのも忘れずに
0280営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/04/03(火) 11:12:49.34
>>278
>自分ではとてもではないけど作れないのでありがたいです

ありがたいかどうかなんてどうでもいい。
駄目なとこは駄目とはっきり指摘しろと言ってるんだ。
56は駄目な所があっても、仕様がわからないが故に駄目かどうかわからないんだよ。
0281営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/04/03(火) 13:51:56.98
掘っても掘っても掘っても終わらないけど雨が強くなってきたので今日はもう止める(´`)
パラメーター値をウプしたしました
http://viploader.net/ippan/src/vlippan268959.jpgすまないが、まだガラケーのままなので画面コピーしたのを送ったけれど非表示の部分は早番を参考にして下さい
>>280 ダメというより運用しづらいのではないかと思う。具体的には後で述べるとして後は指定が入った時かな?3月か4月の各人の指定情報をUpしてもらっとけば考証も進んだと思うが
0283営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/04/03(火) 13:56:05.84
4:3のスクリーンだとこれで運用するには、かなりきついものがある

メンバーのシフトをいじって確認の為に合計欄のある列へと行ったり来たり…
縮小表示にさせるとオサーンには見づらい
例えれば、お絵描きソフトで全体表示させつつ一部拡大が出来無かったら(全体表示画面と拡大画面を切り替えて操作、切り替えられた方は完全に隠れてしまう)と通じるものがあると思う←意味は通じるかな?
まあ278の所で運用できるDisplayがあれば良いだけの話なんだけど
※俺の職場では日勤、準夜勤、深夜のメンバーがほぼ固定だしシフトを組むのはお局様なので使いません
028458
垢版 |
2012/04/03(火) 14:41:44.55
名前記入し忘れていた…
>282
確かに本人でなきゃわからないんだろうけど(職種も勤務体制も全く異なるし)
言い出しにくい&まだ問題点を把握しきれていないのかも
0286278 ◆3HjE5W.53k
垢版 |
2012/04/03(火) 21:07:25.12
まだちょっとうまく使いこなせてないので指摘できるまでいってないです;

>>281
パラメータ値ありがとございます、変更しました
指定情報というのは希望休や希望勤務のですか?3月分なら手元にあるのでUPできます
まだ問題点把握しきれてないです…
まだ実行するとエラーが出るのが直せてないのです;
028856
垢版 |
2012/04/04(水) 03:23:58.72
>>286
仕事の都合で毎度こんな時間での書き込みになってしまうけれど次のような形式で御願いしたい(Googledocは携帯で見れないので勘弁して下さい)
A 休み 5、9
有給 10、11
日3 13、18、24
日X 2、7
日Y 15
B 日X 2、15


X はその日の日勤者の中でなるべく後ろの方が望ましい場合
Y は特に指定番号なし
指定番号あり、X、Y以外のパターンがあればそのパターンも教えてもらえると助かる

>>287、いや竹林が有るだけ
028956
垢版 |
2012/04/04(水) 03:37:36.70
18やVBAに精通している人も見ていると思うのでどういう時にエラーになるのか詳細な手順を書くのも忘れずに
0290278 ◆3HjE5W.53k
垢版 |
2012/04/04(水) 03:40:25.22
ちょうど書き込みあった時間に目が覚めた…
遅くまでお疲れ様です

A休み 2,4,20,23
有給 29,30,31
B休み 10,14,15,17,18,29
C休み 10,17
Dなし
E休み 24,31
F休み 2,3,10,11,29
Gなし
H休み 16,17,18
I休み 3,4,8,13
J休み 3,8,9
K休み 4,25
L明けか休み 5
Mなし
N休み 3,4,10,11,17,18,24,25,31
O休み 11,15,25
P休み 5,26,27
有給 23

以上が3月の希望勤務の申請になります
0291278 ◆3HjE5W.53k
垢版 |
2012/04/04(水) 03:46:56.88
書き忘れた
Oは水曜、土曜が毎週休み
Pは土日祝日は全て休み
に加えて上の休日希望です
029256
垢版 |
2012/04/04(水) 04:03:08.58
有難い。朝が早いのでもう寝るけど後で実行してみます
0293278 ◆3HjE5W.53k
垢版 |
2012/04/04(水) 04:07:31.19
この時間に寝て朝が早いんだ…
いつもありがとうございます、頑張ってください
0294営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/04/04(水) 11:07:33.88
>>286
> まだちょっとうまく使いこなせてないので指摘できるまでいってないです;

わかんない奴だね。
「使いこなせない」のは何故なのかも有用な情報だというのに。
それと、とりあえずは結果は得られるわけだろ?その結果がどうなのか評価しろって。
0296営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/04/05(木) 02:21:29.11
>>290-291の内容でTRYしたら"日勤の割り当てで失敗"のメッセージがでるね

直接の原因は3日に日勤者5名を確保出来なかった為(夜勤、明け、早番で既に5名必要)
そもそも1日に夜勤の割り振りが上手く行っていないということで嘱託の西田さんを夜2(職員設定の休み間隔は7)に指定してみたが、やはり同メッセージと指定そのものが取り消され空欄になってしまう
0301278 ◆3HjE5W.53k
垢版 |
2012/04/07(土) 13:57:33.67
自分はそこ対応できてないです
自分は同じようにやると'指定勤務の反映の
kinmuban = base_kinmu.Offset(r_adjust_kinmu + r_kinmu, c_kinmu)
でエラー出てしまうので…
0302営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/04/07(土) 15:03:48.55
>>301
エラーメッセージの内容がわからないのでブレークポイントに設定して値を確認すると
r_adjust_kinmu = 2
r_kinmu = 1
c_kinmu = 43
後モジュール変数の初期化でbase_kinmu = ws_kinmu.Range("A6")をセット

仕事に行きます
030356
垢版 |
2012/04/08(日) 14:30:13.57
過去スレを読み返していたら>>207のエラーの事?
EOMONTHワークシート関数を使用しているのでツール→アドイン→下の方にある「分析ツール」のチェックボックスにONにする
(俺が組み込んだのが6年前なので自信がないけど)

該当月の最終日(2月の最終日が28、29日かも含む)を判定するのに非常に便利な関数なんだけれどもExcel2000では標準として組み込まれていない
031356
垢版 |
2012/04/11(水) 14:36:21.33
呼ばれているようなのでレスしようとしたが、何度も間違えて消してしまっていたので放置してしまった…
2007から?EOMONTH関数は標準として組み込まれいるので>>18は知らずに使ったのではないのかな
俺の時はExcelの勉強中(アドイン何それ?美味しいの?)で分析ツール-VBAと一緒に組み込んだんだけど>>278は治ったのかな?

>>268で日々の日勤者数=休みの人数が確定してないと無理ぽいなあとかいたけどよくよく見たら合計欄の下の行にエリアが設けてあるんだね
気づかんかったわ…
0315デフォルトの名無しさん
垢版 |
2012/04/12(木) 19:28:40.44
希望休通りの勤務表が出来るかわからないから
なにがダメなのか知りたいのに、エラーで返す。
ここで人が足りないと表示するのがふつーなのに
031856
垢版 |
2012/04/30(月) 15:16:18.30
やっと筍掘りが終わった…
>>278は諦めちゃたのかな?
0319278 ◆3HjE5W.53k
垢版 |
2012/04/30(月) 23:25:11.66
自分の実力では最早どうにもならないと理解しました…
本買ったり調べたりしながら作っていたけどここで他の方が作ってくれたようなものはとてもではないけど出来ないとわかりました;
0321デフォルトの名無しさん
垢版 |
2012/05/01(火) 00:14:43.28
勤務表以前に人数足りないとかいう話だったのは結局どうなったんだろう
278氏のレスが全然ないから
過労で死亡とか過密スケジュールを恨んだ同僚に刺されて死亡とかボケた老人に首を絞められて死亡とか
色々嫌な想像しちゃったよ
032256
垢版 |
2012/05/01(火) 03:52:18.10
そりゃ誰だって初めては、そうじゃないのかな
まあ初心者には高レベルなのは確かだけどね

見直しさせて貰っているけど今ひとつ勤務表作成のレイアウトが気に入らなくて悩んでいるんだよなあ
注、自動振り分けの方法は前に述べたやり方で、やろうと思っているんだけど
0324278 ◆3HjE5W.53k
垢版 |
2012/05/01(火) 13:56:22.51
>>321
人数不足は何とか乗り越えてます
新人2人入って(一人は3月から研修)4月中には二人とも夜勤やれるようにまでなりました
ご心配?おかけしました;

>>322
高レベル過ぎますね…何とかなるなんて甘い考えでした
自分はレイアウトまで拘る余裕なかったので;;
自動振り分けはそれが一番よさそうですかね

>>323
否定できません
0325デフォルトの名無しさん
垢版 |
2012/05/05(土) 09:56:08.88
普通に発注したら幾らぐらいするんだろ
4人月で400万くらい?
Excelの単価相場知らないけど
0326325
垢版 |
2012/05/05(土) 13:20:59.66
アルゴリズムとかちょっと考ようとしたけど
結構難しい部類に入るねこれ
ノウハウ無いと4人月じゃ済まないな
0328325
垢版 |
2012/05/05(土) 13:28:27.57
十数万って3人日位ですやん(´・_・`)
0329デフォルトの名無しさん
垢版 |
2012/05/05(土) 13:37:31.79
有料の線ならパッケージ導入&カスタマイズ(設定)が一番安く上がると思う
要件定義から受け入れテストまでがっちりやったら時間かかるが
コーディングだけなら0.8人月くらいかな
0330デフォルトの名無しさん
垢版 |
2012/05/05(土) 13:44:17.40
有料で金払ってまでするもんじゃないだろ
楽にはなるだろうが278だって今手書きで出来てるわけだし
0331デフォルトの名無しさん
垢版 |
2012/05/05(土) 13:59:25.14
勤務表作る労力は半端ないから有料でも価値はあるよ

ただ勤務表作成はNP困難な問題だから
半端なものを作るより手作成の方がコストがかからなかったり
精度が高かったりする
033356
垢版 |
2012/05/06(日) 05:10:27.39
新しい案がでて来たみたいだね…

手作成はちゃんとした人が作れば良いんだけれど恣意的に作ったんでは無いかと(作成者にとって都合が良いとか)疑われ易く職場への不満要因のひとつでもあるからねぇ
http://n2ch.net/r/7I5-774F---VVR/welfare/1320418159/?guid=ON

しかし自分のセンスの無さに絶望(T_T)
今の勤務表作成シートの下にある日別の日勤割り当て数と日勤割り当て可能残数を上の行に持って行きたいんだけどレイアウトが小汚くなっちゃうよ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況