1 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 23:41:03.61 ID:rni/4bMj0.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part60 https://mevius.5ch.net/test/read.cgi/tech/1552736349/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
476 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 11:57:27.72 ID:iXFRocgY0.net] >>474 これでマクロを作るやつのマクロを参考にしたいな ぜひ作ってね
477 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:02:31.59 ID:kMeHCJPt0.net] >>474 数式だけならファイル形式をxlsxのままにできて安全 同じ機能なら数式で済ませた方が良いだろう 家計簿ならどっちでも良いのは間違いない
478 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:17:34.40 ID:iXFRocgY0.net] まあなんだな、$A$1この書き方って絶対参照だが良くないんだよな 普通はそのセルに名前を付けてその名前で参照する 例えば「設定月」みたいな名前ね
479 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:21:40.48 ID:UKwhkiwBr.net] VBAのスレでマクロつかうなとか(笑)
480 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:23:22.93 ID:xVkqny4q0.net] >>472 >>462 > それ以外にも、不要な場所を削除して、一番下の数値を一番上に持っていってみたいな作業があるので、その置き換えも合わせてマクロにしたいと思いまして。
481 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:27:21.46 ID:wdWzuIo7p.net] シートを左のものからきっちり順に印刷する(印刷指示を出す)vbaありませんか? スプール云々はプリンターの詳細設定弄れなくなってるのでvbaでどうにかなればしたいのですが・・
482 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:27:47.02 ID:iXFRocgY0.net] Excelの関数や機能も知らん奴がVBAでマクロを作るか 少しは勉強しろよ、ってか 運転できないやつが、自動運転を作るみたいなもんか? ってか参照で十分なものを何でマクロ(笑)
483 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:31:43.08 ID:xVkqny4q0.net] >>482 >>459 > 毎月自動で7月、8月、と月に合わせて変える >>468 > 今月にこだわる人多いが >>462 > その置き換えも合わせてマクロにしたい >>472 > こんなのマクロなんか書いたら笑えるレベル 一部読み飛ばして回答してしまうのはなんなのネタなの
484 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:32:47.94 ID:iXFRocgY0.net] >>480 すまないが、そんなのどうして関数でできないと思うんだ? ちゃんと説明すれば?、今まで書いているのはあまりにも簡単な質問で 関数で十分なんだが
485 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:37:34.60 ID:iXFRocgY0.net] >>483 別に、マクロで提案してみたら
486 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 12:54:17.71 ID:jiw85AG60.net] 自動車つくれなくても、つくってもらって乗ればいいじゃん
487 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 13:01:15.44 ID:iXFRocgY0.net] >>486 でも、企画があってな わけなわからん奴の作った自転車に 乗れるか? 責任は運転者だよ、関数は規格通りだな その自転車がすごきゃいいよ、単に危ないだけじゃな
488 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 13:10:48.90 ID:iXFRocgY0.net] >>483 で、お前は何ができるんだ? 何が気に障った?(笑)
489 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 13:26:58.37 ID:iXFRocgY0.net] >>483 VBAで提案できないやつが・・・・ ネタだよな・・関数なら即座なのに
490 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 13:43:20.27 ID:xVkqny4q0.net] >>489 今月にこだわっててもおかしくないし 一連の流れをマクロにしてその一部の質問してるわけでしょ だから>>468 も>>472 も的外れって話 訂正するわけでもないのに再アンカをしかも連投するってせっかちすぎない?
491 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 13:55:19.86 ID:iXFRocgY0.net] >>490 今月とかどうでもいいんだよ 単に参照すればいいだけ、それで質問者の意図に対応できないか? 自分の主張じゃなく、何が正しいかで提案するんだよ VBAで作れば何でもできるさ、でも単に絶対参照でいいものをこねくり回すなよ
492 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 14:07:14.86 ID:xVkqny4q0.net] >>491 次は話ループさせんの? 「毎月自動、VBA」という質問の前提をこねくり回してるのはそっちでは?
493 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 14:14:55.01 ID:kMeHCJPt0.net] 普通のExcelスレはあんなに紳士的なのに・・・
494 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 14:31:03.11 ID:iXFRocgY0.net] 何だろうな、普通に絶対参照すればいいものをVBA・VBAって叫ぶの 怖いは
495 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 14:48:52.06 ID:2f7ZWXQQ0.net] >>494 >>459 >>462でマクロでやりたいと言ってるし、 マクロ以外の回答に対してノーリアクション 数式での回答を求めてないのだろう。結果を求めるだけじゃなく、マクロ自体を書きたいという質問者もいるわけだしな あまり押し付けるのもどうかと思う もちろん一般的な場合は君のやり方が正しいのは明らか さすがにそれが分かってない人はいないだろう
496 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 15:04:15.42 ID:jiw85AG60.net] >>462 削除等はマクロで、他シート参照は数式でいいんでないの
497 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 15:50:07.97 ID:xVkqny4q0.net] 元の前提無視して絶対参照・絶対参照って叫ぶの 怖いは って言えばいいのかな
498 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 16:21:11.81 ID:iXFRocgY0.net] >>496 削除が必要って単なる思い込みではないのかな Excelの使い方もわからないのってVBAって魔法の玉手箱じゃないの でなければ、質問者に対する最適の解をさっさとVBAで示せばいいんだよ
499 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 16:31:39.12 ID:Q8fJ9KqCF.net] 元々の質問を見る限り、詳細が無いのでVBAで解決すべきか数式で解決すべきか判断できん。 逆に言えばこれだけの情報でVBAを必要無いとか言ってしまえる人って初心者とまでは言わないけど大したスキルは無いんだろうなと思ってしまう。
500 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 16:43:05.14 ID:agbDawORM.net] >>499 そうか 君はプロなんだね(笑)
501 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:06:59.36 ID:Q8fJ9KqCF.net] >>500 初心者は自分の状況を上手く説明出来ないし、それはしようが無い。 一方回答する方も、初心者は自分の狭い土俵で回答しようとするんだよね。
502 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:12:13.76 ID:agbDawORM.net] >>501 いまだにVBAでの回答すらないけどね
503 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:17:59.31 ID:Q8fJ9KqCF.net] >>502 俺はこんな質問に回答しないよ。 何処の掲示板でもそうだけと面白いテーマじゃなきゃ回答しない。 俺が回答する必要も無いだろう。 >>460 とかを見てどうにか頑張れば良いんじゃね?と思ってる。
504 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:21:09.14 ID:Q8fJ9KqCF.net] 技術レベルは大したことない問題だけど最近回答したのは>>284 だな。 テーマとしては面白いから。
505 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:33:03.28 ID:NquLpIx1r.net] てか>>464 で終わっとるやろ…
506 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:36:44.72 ID:xVkqny4q0.net] >>498 むしろ思い込み(というか自分の都合のいいように解釈)してるのはそっちなんだよなぁ
507 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:42:42.79 ID:agbDawORM.net] >>503 君に、回答を求めてないよ 俺も、VBA の回答は基本的に出さない まあヒントだけだな いや〜これのマクロを作る奴見てみたい(笑)
508 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:43:17.34 ID:2P/bRCUed.net] というか>>499 に書いた通り、状況を判断する材料が少ない。 例えば月のシートが沢山あって、それぞれのシートの集計結果を集計シートで閲覧したいという状況なら数式の方が良さそうだ。(それでも情報が足りないから「良さそう」としか言えん。)
509 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:44:39.75 ID:2P/bRCUed.net] >>507 じゃあ、俺に>>502 のレスするんじゃね―よw
510 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 17:46:18.67 ID:a67Z5WHaM.net] >>499 ほんそれ ど真っ赤で力説してるのが滑稽やなw
511 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 18:08:13.80 ID:agbDawORM.net] >>509 意識過剰だろ(笑)事実を書いただけ
512 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 19:20:39.09 ID:frxzLdPfr.net] VBAでやるか数式でやるかの判断はこのスレでやる話じゃないだろ ここはVBAのスレだぜ
513 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 19:22:19.42 ID:2P/bRCUed.net] >>511 ??? ">>501 "を付けるなと言ってる。
514 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 20:32:30.11 ID:XAbM3vU30.net] >>481 dim ws as worksheet for each ws as thisworkbook.worksheets ws.printout 〜 next
515 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 20:58:10.12 ID:wdWzuIo7p.net] >>514 大荒れの中レスありがとう 来週試してみます
516 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 22:18:19.39 ID:XAbM3vU30.net] >>515 ごめん for each ws in の書き間違い
517 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 22:31:58.82 ID:aMsRRK9D0.net] ん? 全シート印刷じゃダメだったの?
518 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 22:40:38.73 ID:agbDawORM.net] >>513 ふん、おれ500 お前が笑えるレスつけただけだろ
519 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 00:10:30.70 ID:Re37ayj0p.net] >>517 もちろん全シート一括で印刷かけてるんですけど、スプール設定?の関係で重いシートの印刷が後回しになるので10ページ1ページ2ページの3シートのファイル印刷すると10ページのシートが一番最後に印刷されちゃって不便なんです
520 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 02:54:17.07 ID:48zxZgqm0.net] ListBox使ってるんですけど、たまに表示がバグります 薄い横線がListBox内の全ての行間に表示されちゃうんです 行のフォーカスを動かすと、動かした範囲ではこの変な横線は一旦消えるんだけど、 何かをするとまた横線があらわれる こういうのって何が原因かわかりますか? 再現性がそう高くないので、対策しづらいです 表示がおかしいだけでプログラム自体は問題なく動きます
521 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 03:41:24.97 ID:48zxZgqm0.net] >>520 ですけどもしかしたら直ったかもしれないです multiSelectをfmMultiSelectExtendedに設定してるんですけど、 UserForm Initialize内で設定するのではなく プロパティウィンドウで選択して設定するようにしたら今の所出ないです 再現性があれなんで確実とは言えないんですけど
522 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 07:48:48.81 ID:FEI28S1s0.net] >>520 ListBoxに限らず、Excelのオブジェクトは変だよ。 そんなもんだと思う。 俺もこんな現象に遭遇した。 ・印刷プレビュー直後に、リストボックスを操作できなくなる。(シートを切り替えると直る。) ・MSクエリやADOを使うと、ボタンやテキストボックスの位置が、見た目と合わなくなる。 [コマンドボタン] 何もない部分 ↑ ↑ ここにボタンがあるのに ここを押さないと反応しない
523 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 07:53:01.65 ID:FEI28S1s0.net] あと、なんじゃそりゃ!???? と思ったのが、 [コマンドボタン] ↑ 押すと・・ →→→ [コマンドボタン] ↑ ボタンが逃げる 多分、押す前のボタン画像が左にあって、 押した後の(凹んだ状態の)画像が右にあるんだと思う。
524 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 08:43:23.59 ID:48zxZgqm0.net] >>523 論理的に解決できる方法がないから山勘に頼っていじってみて 運良く解決できたらもうけもんってことですかね 表示がぶれると、使ってる人が、このプログラム大丈夫かと心配し始めちゃうんで できるだけ避けたいところです
525 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 10:54:28.04 ID:/THuLu8v0.net] >>518 ??? バカなの? お前が500なのもお前に俺がレスしたのも誰でも分かるわ。 >>502 のレスにおいて">>501 "を付けるから俺に回答を求めてると判断されても仕方ないだろが。
526 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 15:58:14.75 ID:Vz6e2VkK0.net] >>525 笑えるな、答えられないやつに答えを求めないって(笑)
527 名前:デフォルトの名無しさん [2019/06/01(土) 16:00:03.94 ID:Vz6e2VkK0.net] まあ、プロさんのようだから答えられないの恥ずかしいのか(笑) あげとくは
528 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 17:24:08.45 ID:/THuLu8v0.net] >>527 煽ってもお前のレベルが低いのは変わらんぞw 相手のレベルを推しはかれないのは相手よりスキルがかなり低いからなんだが。
529 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 17:41:52.05 ID:FFwlyzcq0.net] まだやってんの 最近多い無関係の人が巻き込まれるような事件起こしそう
530 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 17:42:25.49 ID:ZZxkmLZAM.net] >>528 あら、単に引きこもりのカスでろくなの作れんて思ってるよ(笑)
531 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 17:47:36.35 ID:/THuLu8v0.net] >>530 そりゃスキルの無い奴は人を評価出来ないからなw
532 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 20:32:00.88 ID:XF0/4x+50.net] データベースでエクセルのフィールド(3)を下に読み取っていって、入ってる型が文字列以外の物が入っているかチェックしたいんですけど何かないですか?
533 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 20:51:09.32 ID:fYRCWk9w0.net] >>532 vartypeがvbStringかどうか typenameが"String"かどうか など
534 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:43:59.23 ID:g0N7gK6Z0.net] >>532 わざとやってみてどうなるか確認してみよう 先頭何レコードで判断するんだっけ?
535 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:55:52.58 ID:g0N7gK6Z0.net] >>532 早速やってみたけど、逆のパターンである 「先頭に数値が入っていて途中から文字列に変化した」場合は判定できた。 具体的には数値部分だけ読み込んで文字列の部分はNULLになった。 「先頭に文字列が入っていて途中から数値に変化した」場合は全部文字列扱いになったので厳密には判定不能。
536 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 18:41:53.51 ID:3MovPWtK0.net] 初心者なので意味がわかりづらかったらすみません まず、やりたいことは 1.ユーザーにB2〜E2あたりに文字を入力してもらう 2.それを5行前後繰り返す 3.この後にボタンを押してもらう (以降マクロ処理) 4.入力して貰った行の各左セル(A列)に営業日(月初)を入力する 入力内容を下の行にコピペして、A列日付だけ翌営業日にする それを月末日まで繰り返す これを実現したい場合、営業日付をどう表示し、どう繰り返せばよいか検討がつきません アドバイス頂けませんでしょうか 日付に関してyyyymmのみユーザーに手入力して貰う予定で、それを利用できるかなと思っています
537 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 19:17:16.23 ID:wosufaXU0.net] >>536 Sub foo() コピー元_行数 = Cells(Rows.Count, 2).End(xlUp).Row - 1 Range(Cells(2, 2), Cells(コピー元_行数 + 1, 5)).Copy 処理年 = InputBox("処理する年を四桁で入力してください", "", Format(Date, "yyyy")) 処理月 = InputBox("処理する月を1桁で入力してください", "", Format(Date, "m")) 'ここに上記が数値以外なら終了させる分岐をかます。めんどいのでしてない For i = 1 To Day(DateSerial(処理年, 処理月 + 1, 0)) Cells(コピー元_行数 * (i - 1) + 2, 2).PasteSpecial Range(Cells(コピー元_行数 * (i - 1) + 2, 1), Cells(コピー元_行数 * i + 1, 1)).Value = _ DateSerial(処理年, 処理月, i) Next End Sub
538 名前:デフォルトの名無しさん mailto:sage [2019/06/03(月) 23:29:52.65 ID:+V4WoVbB0.net] >>535 上にあるようにvartypeだとだめかね?
539 名前:デフォルトの名無しさん [2019/06/04(火) 00:44:40.62 ID:Vr0YkSWUa.net] 教えてください。 ActiveCell.EntireRow.Copy Destination これで「任意のセル選択中で1行コピー」になりますが、 改造して「任意の複数セル選択中の複数行をコピー」に変えたいんですがわかりますか?
540 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 01:01:51.67 ID:sjSsEz0E0.net] 仮面ライダー本郷猛は改造人間である。彼を改造したショッカーは世界制覇を企む悪の秘密結社である。仮面ライダーは人間の自由のためにショッカーと戦うのだ!
541 名前:デフォルトの名無しさん [2019/06/04(火) 07:28:25.36 ID:CwYFwdXYa.net] >>539 Selection で自己解決したんですが、 ThisWorkbook.Worksheets("sheetA").Activate Selection.EntireRow.Copy Destination:=ThisWorkbook.Worksheets("SheetB").Range("A57:A62") ThisWorkbook.Worksheets("SheetB").Activate Range("A3:I4").Select End Sub で所定の6行のスペースにペーストするんですが、選択セルが5以下だと重複して貼り付けられます。 重複しない方法を教えてください。
542 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 07:51:19.62 ID:kIR0GcUMx.net] コピー先のセルのアドレスをシンプルに"A57"に変えるだけでいいと思う
543 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 08:26:51.88 ID:0SaUhvTtM.net] >>538 それだと対象のブックを開かなきゃダメじゃん
544 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 11:03:51.11 ID:ABA6WeJwH.net] 【速報】金券五百円分とすかいらーく優侍券をすぐもらえる https://pbs.twimg.com/media/D8I_sqPU0AEizjq.jpg @ スマホでたいむばんくを入手 A 会員登録を済ませる B マイページへ移動する C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き) 今なら更に4日18時までの登録で2倍の600円の紹介金を入手 クオカードとすかいらーく優待券を両方ゲットできます。 数分の作業でできますのでご利用下さい。
545 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 11:40:41.30 ID:ClB/ngZb0.net] ここにも来たかフィッシング詐欺
546 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 13:24:40.51 ID:g1r7g3uN0.net] >>544 TVCM見た後に入れた
547 名前:デフォルトの名無しさん [2019/06/04(火) 18:55:29.74 ID:w6NTuaQma.net] >>542 できました。ありがとうございます。
548 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 22:55:20.87 ID:JKzLDG9lp.net] 直前に開いたファイルのキャッシュ的なものを参照して情報を取得することってできますか? 例えば直前に開いて印刷して閉じて消去したファイルのA1セルに記載の値を別ファイルのB1セルに転記する、みたいな
549 名前:デフォルトの名無しさん [2019/06/04(火) 23:07:17.09 ID:e2Nk6zam0.net] >>548 そんなの知るか
550 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 23:20:09.51 ID:GvHzI0140.net] >>548 必ずバックアップしてから開くようにバッチファイル作ればいいだけじゃね
551 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 00:02:17.80 ID:b19uQdIQp.net] >>549 知らないならわざわざ書き込まなくていいよw
552 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 09:28:21.10 ID:d6kiH4sy0.net] 印刷時には転記先のファイルが必ず開いてる状態なの? それならWorkbook_BeforeCloseで閉じる直前に転記は?
553 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 14:54:24.90 ID:1kcRpkSq0.net] これはそんなの知るかという気持ちもよく分かる。 工夫次第でどうとでもなるけど、そういう問題かどうかをはっきりさせるべき。 そういう仕組みを作ることなくできるかと言われれば、できないと答えるだろう。 工夫でそういう仕組みを作りたいというなら、それについて自分の考えを述べるべきだ。 VBAの問題じゃなくて考え方を考える問題なんだから単純なスキルの問題ではない。
554 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 15:52:32.95 ID:bp5RZsKU0.net] 事前に、ファイルを閉じる前や消す前に準備しておけばどうともできる 他人が使ったパソコンをこっそりのぞき見したいなら、それはかなり難しい 不可能じゃないけど、現時点では動機が不明で教えるべきじゃないと思われるので書かない
555 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 17:22:15.93 ID:b19uQdIQp.net] >>
556 名前:デフォルトの名無しさん [2019/06/05(水) 19:30:41.08 ID:5zNRcsxz8] 日・時・分が漢字で入力されたエクセルの文字列データを、時間データに変換したいです。 どのようにすればよいでしょうか?出来れば、マクロでお願いします。 よろしくお願いします。 例) -- 2日8時間 → 56:00 2時間30分 → 2:30 5分 → 0:05 4時間 → 4:00
557 名前:デフォルトの名無しさん [2019/06/05(水) 19:31:41.43 ID:5zNRcsxz8] ユーザ関数で…… 標準モジュールに下記のコードを入れ、適当なセルに =fTimestamp(A1) の様に式を入れて下さい。 式を入れたセルの書式はユーザ書式で [h]:mm としてください。 Function fTimestamp(sData As String) As Date For i = 1 To Len(sData) sOne = Mid(sData, i, 1) If IsNumeric(sOne) Then sNum = sNum & sOne ElseIf sOne = "日" Then fTimestamp = fTimestamp + Int(sNum) sNum = "" ElseIf sOne = "時" Then fTimestamp = fTimestamp + Int(sNum) / 24 sNum = "" ElseIf sOne = "分" Then fTimestamp = fTimestamp + Int(sNum) / (24 * 60) sNum = "" End If Next i End Function
558 名前:デフォルトの名無しさん [2019/06/05(水) 19:38:17.24 ID:5zNRcsxz8] >>556 です。>>557 を試したところ、 2日8時間 → 56:00 2時間30分 → 2:30 5分 → 0:05 4時間 → 4:00 は上手くいきましたが、秒変換がうまくいきません。 例) 5分4秒>>557 に単純に、 ElseIf sOne = "分" Then fTimestamp = fTimestamp + Int(sNum) / (24 * 60 * 60) sNum = "" を追加しての結果です(^^;) 何がいけないのでしょう?
559 名前:デフォルトの名無しさん [2019/06/05(水) 19:41:46.35 ID:5zNRcsxz8] >>558 間違えました。追加したのは ElseIf sOne = "秒" Then fTimestamp = fTimestamp + Int(sNum) / (24 * 60 * 60) sNum = "" です。お手数をおかけしますが何方かご助力いただけると助かります(^^:
560 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 19:45:36.22 ID:UgnFbYyua.net] ファイルの履歴とか拾うのかな?
561 名前:デフォルトの名無しさん [2019/06/05(水) 20:56:36.68 ID:5zNRcsxz8] >>560 よくわかりませんが、単純にエクセルのセルに文字列で ◯時間〇分●秒単位で入力されていて その列の合計と平均を求める感じです。
562 名前:デフォルトの名無しさん [2019/06/05(水) 20:58:28.96 ID:5zNRcsxz8] 文字列形式で入力されているので先ずは数値に変換しないとどうにもなりません。
563 名前:デフォルトの名無しさん [2019/06/05(水) 21:22:31.39 ID:5zNRcsxz8] >>556 ~>>559 です。わかりにくいので、再度まとめ直させていただきますと(_ _) 以下の通りです。 日・時・分が漢字で入力されたエクセルの文字列データを、時間データに変換したいです。 どのようにすればよいでしょうか? 例) 2日8時間 → 56:00 2時間30分 → 2:30 5分 → 0:05 4時間 → 4:00 以下のマクロを参考にしたところし分までは成功しました。
564 名前:デフォルトの名無しさん [2019/06/05(水) 21:29:26.90 ID:5zNRcsxz8] >>563 の続きです。 ユーザ関数で…… 標準モジュールに下記のコードを入れ、適当なセルに =fTimestamp(A1) の様に式を入力。 式を入れたセルの書式は [h]:mm
565 名前:デフォルトの名無しさん [2019/06/05(水) 21:34:37.94 ID:5zNRcsxz8] >>564 の続きです。 Function fTimestamp(sData As String) As Date For i = 1 To Len(sData) sOne = Mid(sData, i, 1) If IsNumeric(sOne) Then sNum = sNum & sOne ElseIf sOne = "日" Then fTimestamp = fTimestamp + Int(sNum) sNum = "" ElseIf sOne = "時" Then fTimestamp = fTimestamp + Int(sNum) / 24 sNum = "" ElseIf sOne = "分" Then fTimestamp = fTimestamp + Int(sNum) / (24 * 60) sNum = "" End If Next i End Function
566 名前:デフォルトの名無しさん [2019/06/05(水) 21:35:38.04 ID:5zNRcsxz8] >>565 の続きです。 次に分まで(例 5分2秒)実現するために 以下を感で追加してみたところ失敗しました。 ElseIf sOne = "秒" Then fTimestamp = fTimestamp + Int(sNum) / (24 * 60 * 60) sNum = "" 無理を言って申し訳ありませんが、何が悪いのかアドバイス いただけると幸いです。何卒よろしくお願いします。
567 名前:デフォルトの名無しさん [2019/06/05(水) 21:41:19.12 ID:5zNRcsxz8] >>566 次に秒までの間違いでした(_ _)
568 名前:デフォルトの名無しさん [2019/06/05(水) 22:34:22.55 ID:5zNRcsxz8] >>566 なぜか (24 * 60 * 60) の代わりに 86400 にするとうまくいく感じです。。。 なぜ???
569 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 20:51:53.11 ID:zo8mZEUL0.net] >>560 > 消去したファイルのA1セルに記載の値 なので履歴じゃダメだろうな マジでなんのためにそんなことをしたいのがさっぱりわからん…
570 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 22:41:29.46 ID:4nGxoieG0.net] >>537 遅くなりましたがありがとうございました!とても参考になりました おかげさまでメイン処理はひとまず形になりました ツール完成させられるよう頑張ります
571 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 23:22:07.87 ID:Uovi79l30.net] >>570 こんなこともわからんような馬鹿が作ったものを使わされるとか
572 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 23:37:24.78 ID:PwgeLPYz0.net] >>571 人間性に問題のある君と同じ職場よりは大分マシだろう
573 名前:デフォルトの名無しさん [2019/06/05(水) 23:48:39.29 ID:70FqVZZPd.net] いやいや ここは御大層に「ツール」とか書かれて吹き出す場面だろ
574 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 00:27:01.25 ID:vR0zkRe5M.net] ここは、あれだ。プークスクス、マジ受けるんですけど!というやつだ。
575 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 06:36:27.46 ID:ME671i1fx.net] Use after free攻撃のやり方を聞かれてるのと一緒だよなこれ
576 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 12:05:19.65 ID:vG+mGYiZ0.net] まあな、Excelの標準機能で出来ることも知らん奴が、作りたいものを考えて質問するんだよな だけど、ちょっと知ったかぶってどんなプログラムを作りたいとか書くけど 普通にExcelの機能で出来ることも、質問してるんだよな 動作仕様をかける奴は普通VBAのマクロも作れる 作れないやつの動作仕様ってごみなんだよな、何がしたいかだけ書けよと思う