X



Excel VBA 質問スレ Part62
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001
垢版 |
2019/06/24(月) 00:21:37.48
!extend:checked:vvvvv:1000:512

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part61
http://mevius.5ch.net/test/read.cgi/tech/1556203263/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0855デフォルトの名無しさん (ワッチョイ 138a-SEqO)
垢版 |
2019/09/04(水) 04:06:51.76ID:5yA34Y3d0
俺ならorder byでソートするわ。
0856デフォルトの名無しさん (ワッチョイ 138a-SEqO)
垢版 |
2019/09/04(水) 04:06:51.76ID:5yA34Y3d0
俺ならorder byでソートするわ。
0857デフォルトの名無しさん (ワッチョイ 138a-SEqO)
垢版 |
2019/09/04(水) 04:10:04.07ID:5yA34Y3d0
あ、勝手に2回書き込まれた。
2回押したわけじゃない。(時間が同じ)
0859デフォルトの名無しさん (スッップ Sd33-SEqO)
垢版 |
2019/09/04(水) 09:41:13.02ID:1XDrwIL8d
それ何の意味があるの?
0861デフォルトの名無しさん (ワッチョイ 618e-MFs0)
垢版 |
2019/09/04(水) 22:19:41.54ID:ypD8R0G80
>>860
お前にはできないだけ
0870デフォルトの名無しさん (ワッチョイ c242-lFt8)
垢版 |
2019/09/05(木) 21:39:34.16ID:r8X2uJ+M0
大事なことなので
0876デフォルトの名無しさん (ワッチョイ 45ce-fUZA)
垢版 |
2019/09/06(金) 01:25:28.43ID:FBYj/dPB0
>>868
方法はいくつもある
無料のWebAPIもあるし、コマンドラインでnkfを呼び出したり、テキストボックスのプロパティをいじったり
あとは理由、目的、条件などをはっきりさせてくれないと話の続けようがない
0877デフォルトの名無しさん (スッップ Sd62-lqLo)
垢版 |
2019/09/06(金) 09:13:01.42ID:O65UzHn9d
参照とかAPIとか事務のおばちゃんには難しいのでは?
VBAを使う理由って何もさせてくれない設定だったよね?
0879デフォルトの名無しさん (アウアウクー MMb1-2buT)
垢版 |
2019/09/06(金) 12:46:48.43ID:ahR83v0/M
・2列の一致する組み合わせを数える方法(ex.A列に野菜B列に果物が書かれている時AがトマトかつBがりんごの行をカウントしたい)

・数式の結果の文字の先頭を色付けする方法(ex.A1セルに【=IF(条件式,"☆優先","▽後回し")】が入力されていてその結果の文字の先頭の記号だけを色付けしたい)

この2つのやり方教えてください。
0881デフォルトの名無しさん (スッップ Sd62-6jaX)
垢版 |
2019/09/06(金) 13:22:25.08ID:VV0t0tnJd
>>879
最初の方は何をしたいのか意味が分からない。
トマトが野菜かどうかはどうやって判定するの?

2番目の方は数式の結果はそのセルのValueで取れるから数式関係無くね?
VBAでやりたいのか数式でやりたいのかも不明。
0882デフォルトの名無しさん (ワッチョイ 498e-+nLs)
垢版 |
2019/09/06(金) 13:24:03.74ID:pGSSTaC/0
馬鹿の書いた仕様にマジレスか
0891デフォルトの名無しさん (ワッチョイ edca-4l5O)
垢版 |
2019/09/06(金) 22:33:33.84ID:9kCZ0fBo0
質問ですが、ExcelのワークシートとVBAとでは、日付の扱い(起点?)が異なるのでしょうか?

例えば、数字の「5」をDate型で表示すると、
 ・ワークシート: 1900/01/05
 ・VBA     : 1900/01/04
 https://i.imgur.com/8Iq99R4.jpg

このように1日ズレますが、これはどういう事なのか…、これで合ってるのでしょうか?
(Excelのバージョンは2007です)

何かアドバイスを頂けると幸いです
0893デフォルトの名無しさん (ワッチョイ edca-4l5O)
垢版 |
2019/09/06(金) 23:27:12.11ID:9kCZ0fBo0
>>892
ソースのリンク先まで貼って頂き、ありがとうございます。
シリアル値の「1」を日付で表示した場合、やはりワークシートとVBAで起点が1日ズレてるんですね

「期限の5日前までのものを抽出する」って操作をワークシートでやってたのですが
これをVBAに置き換えたら何か結果が変で…、しばらく変だったことにも気付かず…

とりあえず、そういうものと思って注意して使うしかないですね
しかし>>848のソートもだけど、いろいろ思いがけないことがあるもんですね
0894デフォルトの名無しさん (ワッチョイ 491a-Ns5W)
垢版 |
2019/09/07(土) 06:45:32.58ID:fm/7EiWw0
勤務表の作成の相談です。
以前も少しさせていただいたのですが、下記の条件で作ることは可能ですか?


1月の勤務時間160時間 週40時間
週休2日
月に1度は2連休を入れる
勤務形態の組み合わせは2種類
(1)昼8、昼12、遅8、夜12
(2)昼8、遅8、夕8、夜8
夜12、夜8の次の日は休みで無くてはいけない
昼12.遅8の次の日は昼8、昼12を入れてはいけない
勤務の希望や休みの希望は必ずその通りにしなくてはいけない
経験年数によって行える業務も違うため、どの日も均等に業務ができるように組まなくてはいけない
業務内容は☆、△、□、◇、●の5種類
0895デフォルトの名無しさん (ワッチョイ 424f-AUHM)
垢版 |
2019/09/07(土) 08:49:24.82ID:2KMAcAFx0
>>894
質問は可能かということだから答えるけど可能

コード晒せとか言うのであれば
長くなるのでここでは不向き

どんな形態の勤務表作るのかは知らないけど
ボタン押して勤務表の記載内容をチェックして
ダメならメッセージボックスでその旨表示して
ダメなセルを着色かなんかするようなイメージ?
0898デフォルトの名無しさん (アウアウクー MMb1-2buT)
垢版 |
2019/09/07(土) 11:53:44.36ID:BDfXoVwZM
879
すいません、一つ目はcountfsでやれました。
2つ目が出来ません
直接、☆優先、とだけ文字を書いたところなら先頭だけ赤くできますが計算結果の文字の一部を赤くするにはどうすればいいですか?
関数でもVBAでも何でもいいです。openpyxlでも。
0901デフォルトの名無しさん (スッップ Sd62-6jaX)
垢版 |
2019/09/07(土) 13:27:28.99ID:Go54LW7Ed
>>898
これは俺が悪かった。
数式に対してはセル内文字列の一部分に対して書式の設定は出来ないようだ。
条件付き書式で出来るかと思ったけど、条件付き書式もセル内文字の一部分に適用出来ない。

つまり、出来ないと思う。
0913デフォルトの名無しさん (ワッチョイ 9901-HBF5)
垢版 |
2019/09/07(土) 20:48:53.79ID:dPVmaXce0
(ほぼ)リアルタイムに状況見ながら各自が休みとか入れさせるのか、単に休みの希望だけオフラインで集めて、スケジュール担当者だけがシステム触るのかでも難易度が全然違う

今時やるなら前者で行ってもらいたいものだが、仕様考えながら完成まで一ヶ月でできるかも怪しい気がする
0917デフォルトの名無しさん (ワッチョイ 468c-q0Qg)
垢版 |
2019/09/08(日) 11:08:41.98ID:4P2DY/tr0
俺はセル内改行された文字列のセル内1行目だけを
フォント大きめで色を付けて強調させるマクロをよくつかう
0918デフォルトの名無しさん (アウアウクー MMb1-2buT)
垢版 |
2019/09/08(日) 11:26:28.31ID:8Qa/il9IM
それでも直接文字列でしょ?
IFで選択した文字列に使えないのが雑魚すぎる
VBAマジでアップデートしないかなぁ
今時continueするためにラベル+gotoが必要とかマジでお笑いだわ
0920デフォルトの名無しさん (ワッチョイ 9901-HBF5)
垢版 |
2019/09/08(日) 12:47:36.20ID:ZoBkg7d50
>>919
たぶん既に作ってる表は、一ヶ月分が1シートで横方向がその月の日、縦が氏名。その下に☆△等の個数な感じかな。
賢明なら、月初と月末にかかる一週間もそのシートに含めてあるか…(含めてないなら含めておくとプログラミングが楽になる)

対象が何人かわからないけど、条件を満たす候補が何十(百)もあるときどうするのか
そうなるなら、休み希望だけでなく出勤希望も可能とする。そうすると連休よりバラしたい人は休みの前後に出勤希望を入れればいい

プログラム的には、休みや出勤を本人希望か自動設定かを区別しておくこと(見た目でも)
あとは、粛々と仕様のロジックを組み込むだけかな

学校の時間割り作るのと似てるので、そっちで検索すると参考なることあると思う
0921デフォルトの名無しさん (ワッチョイ 9901-HBF5)
垢版 |
2019/09/08(日) 13:14:35.01ID:ZoBkg7d50
>>919
他には、氏名ごとに日のあとに、2連休有無、各週、月の勤務時間なども出しておきたい

まず作るのは、仕様に合った勤務割り振りになってるかチェックするプログラム
それができていれば、自動割り振りできてなくても手作業で始められるし、できたとこから随時自動化を進めていける

仕様へのリンクメモ >>894
0934デフォルトの名無しさん (ワッチョイ c242-lFt8)
垢版 |
2019/09/09(月) 19:46:17.72ID:pVdfshuY0
>経験年数によって行える業務も違うため、どの日も均等に業務ができるように組まなくてはいけない
悩みどころがあるとすればこの均等な業務とやらが明確に決まっているかどうかだな
0938デフォルトの名無しさん (スプッッ Sdc2-6jaX)
垢版 |
2019/09/09(月) 20:32:52.02ID:sEIB2HzJd
>>937
どういう風に仕事しないのか分からんが、エラーになってデバックでREPLACEが黄色になってるんだったら参照設定が壊れて、基本関数でさえ参照出来なくなる事例かな。

LEFTとかCSTRとか当たり前に使える筈のものが使えなくなった時は一番最初に疑う。
0948デフォルトの名無しさん (ワッチョイ 9f32-Nl8y)
垢版 |
2019/09/12(木) 01:26:23.25ID:8nNrznf50
>>946
>>894


>>947
シートを2枚作成し
1枚目(勤務表)
A列に名前
仮に20人所属としA列2行目〜A列21行まで名前を入力
B列〜AFまでに日付


2枚目(参照)
勤務形態
ABC列にそれぞれの勤務形態のグループ(元々仕様では2種だったが、3種必要だった)
A列:昼8、昼12、遅8、夜12
B列:昼8、遅8、夕8、夜8
C列:昼8、遅8、夕8

A列に名前B〜J列10行目にそれぞれの行える業務について
A列の名前を入れ、B〜J列10行目に業務項目を入力し11行目以降にそれぞれの行える業務については○を入力しその情報を元に
勤務表の(B2:AF21)に勤務を表示させたいのですが、(B2:AF21)それぞれにコードを入力すれば良いのでしょうか?
また、どのようなコードを入力すれば良いのですか?
レス数が950を超えています。1000を超えると書き込みができなくなります。

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