Excel VBA 質問スレ Part71

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f5f-nIK+)
垢版 |
2021/05/25(火) 12:48:01.06ID:mepUVc/i0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/07/04(日) 02:29:54.91ID:or57QSFH0
>>710
どうせ何かアドオンでも使って他の言語でも使って作ってるんだろ?

と、思ったらガチでマジの奴だった
こいつヤベーわ
2021/07/04(日) 02:33:40.04ID:3fmbtLUHH
ワークシート関数でもこんなに速度出るんだな
気付きだわ
2021/07/04(日) 14:56:24.57ID:mHBrxklJ0
20年前のExcelじゃ遅くなりそうで無理ですな
2021/07/04(日) 17:22:23.62ID:c2RfgqufM
関数のメリット
Ctrl Zでやり直しが効く
マクロ有効にする必要がないので他人でも扱いやすい

関数でやれる事なら関数派だわ
2021/07/04(日) 19:31:14.08ID:bUlBZcqC0
関数は読みにくくて嫌
2021/07/04(日) 20:41:30.94ID:P4bcHul50
スピルとかいう新機能もvbaでだいたい代用できるし
2021/07/04(日) 21:49:40.40ID:or57QSFH0
基本、VBAより数式の方が処理が速いので数式を多用するのは悪いことではない。
が、今回のように散布図に絵を仕込んだり循環参を使うような持って回った方式であればVBAの方がシンプルに書けるし恐らく処理も速いだろうな。
EXCELもVBAもまだまだ奥が深いということだな。
2021/07/04(日) 23:52:00.91ID:CvX6QKvi0
関数はみずらいのがねえ
いっそコメントみたいに表示されればいいのに
2021/07/05(月) 00:17:22.38ID:rzeYKM9kM
長い数式は改行入れると多少見やすくなるかも
https://forest.watch.impress.co.jp/docs/serial/exceltips/1185725.html
2021/07/05(月) 03:29:27.64ID:9Cn9i5sm0
もしかしてみんな全部マクロで処理しているタイプ?
2021/07/05(月) 03:51:58.18ID:QvhqkjF90
どっちかというと右手で処理する方が多いかな
2021/07/05(月) 07:15:42.76ID:zJPeJqp8p
VBAで関数文字列作ってセルに入れて計算結果を得るとかあるあるだな
VBAでセルをループ処理するより速い時に使う
関数のままだとアレルギー起こす人もいるから
計算結果で上書きして関数を隠蔽したりもする
723デフォルトの名無しさん (エムゾネ FFaa-/oDk)
垢版 |
2021/07/05(月) 15:11:17.96ID:zfQ+6anvF
>663
>680
https://www.youtube.com/watch?v=qwYyXtttns0
2021/07/05(月) 18:13:24.06ID:9Cn9i5sm0
>>721
ハアハア
2021/07/05(月) 18:35:43.15ID:YWehZ8dDa
モチベーション維持のために背景にエロ画像表示してるよ
726デフォルトの名無しさん (ラクッペペ MMc6-Q0eP)
垢版 |
2021/07/05(月) 18:42:37.12ID:RJLz/FDpM
VBEは背景画像設定できないからはかどる
2021/07/05(月) 18:44:04.54ID:McNFcEhi0
1つのプロシージャーのend sub まで実行した後に
次のプローシージャーを実行させる方法は無いのでしょうか?
エンドサブ前に名前を書いて連続実行させると動かなくなりますが
バラで実行すると動くので困っています。
2021/07/05(月) 18:59:32.49ID:xte/Es8p0
sub ひとまとめ
call プログラム1
call プログラム2
call プログラム3
end sub
729デフォルトの名無しさん (ワッチョイ 4ae6-Q0eP)
垢版 |
2021/07/05(月) 19:19:52.21ID:qID1xccv0
なんで動かなくなるのかを解決すればいいよ
2021/07/05(月) 19:51:19.45ID:XPX6XS4ya
モーダルなんちゃらか
2021/07/05(月) 20:29:12.44ID:IkOjHnS00
>>727
Kwsk
2021/07/05(月) 20:38:52.79ID:XK0O7sVlH
俺の予想では728でも動かん
別のプロシージャに影響するのはオブジェクトの解放とかグローバル変数あたりか?
2021/07/05(月) 20:42:17.92ID:xte/Es8p0
エラーメッセージもわからんとなんとも言えんよね
2021/07/05(月) 22:37:53.33ID:wIrb63PWa
doeventsいれても駄目かな?
2021/07/05(月) 22:42:45.67ID:uJcG4eMD0
>>728
コレでいいと思う
てか、これが理想だと思う
2021/07/05(月) 22:56:17.79ID:XK0O7sVlH
まあEnd Subの直前で次をCallよりは728のがいいけど、とにかくまずはバグを潰さないと
737デフォルトの名無しさん (ワッチョイ 1e8e-p275)
垢版 |
2021/07/05(月) 23:17:00.62ID:6G6vX7bI0
>>727
お前が馬鹿なのが原因
2021/07/06(火) 00:35:01.38ID:czj0kqSK0
はいはい、そーですかと
2021/07/06(火) 03:36:01.92ID:e+qqBa+z0
>728
>729
>730
>731
>732
>733
>734
>735
>736
>737
>738
なるほど>728のような書き方の方がよいのですね
色々とありがとうございます、オブジェクトの解放あたりが問題なのでしょうが
考えてみればプロシージャをコールするのではなく末尾に全コードべた書きすると問題の切り分けが出来そうな気しました
2021/07/06(火) 03:36:53.85ID:e+qqBa+z0
>気がしました
2021/07/06(火) 03:49:27.61ID:MXBEeqXj0
なんだこの安価は
>>728へのリスペクトか?
2021/07/06(火) 07:55:07.41ID:LkJBatCQ0
>>739
複数アンカは最初だけ>>付けて、数字だけを , で区切ればいいのよん
連続なら 最初の番号-最後の番号 で
ブランクなしで
2021/07/06(火) 16:58:11.44ID:yjz4z56cM
そう言えば昔適当なプロシージャをexit subで中断させると、何故か呼び出し元のモードレスフォームが解放されて処理が止まる事あったな
原因は結局分からなかったが、デフォルトインスタンス(load関数でいきなり読み込める方)じゃなくてnew演算子でインスタンス化したら発生しなくなったよ
2021/07/06(火) 18:58:42.36ID:/lKUoH390
>>725
これこそソソる画像を是非
2021/07/06(火) 19:44:23.49ID:04+gXskPM
社員がVBAマクロを作成する事はできなくするけど、情シス等で作成されたVBAマクロは実行可能にするexcel設定は可能ですか?
2021/07/06(火) 20:43:58.56ID:bIc0/GWi0
はい
2021/07/07(水) 07:33:40.59ID:iHQFmTot0
社員がVBAマクロを作成する事はできなくする?
2021/07/07(水) 08:56:35.74ID:3q9JTxhHM
関数オンリーとかただの地獄で草
2021/07/07(水) 12:17:34.42ID:eV4nDh060
サーバー上のExcelファイルを、xlsx形式以外は1日1回Deleteする…
なんてのがあるだろうけど絶対生産性落ちる地獄
2021/07/07(水) 13:04:02.71ID:op0P/4Eid
そんな原始的な運用しなくても、Excelのマクロはグループポリシーで禁止できる
システム部の配布した業務用マクロは許可して自作マクロだけ禁止も可能
2021/07/07(水) 13:11:28.10ID:op0P/4Eid
厳密に言うと、作成まで禁止するのは不可能
実行ができなくなるだけ
2021/07/07(水) 13:35:56.30ID:3q9JTxhHM
関数オンリーとか原始時代に戻されるレベル
2021/07/07(水) 13:41:58.29ID:iAEvhndTM
saveasで保存したブックを指定する方法はありますか?

元ブックをsaveasで保存して、保存したブックの不要箇所を削除して閉じるの動作を元ファイルが終了するまで繰り返すマクロを作れないか試してます。
saveasで作ったブックを指定する術がわからず、つんでおります。
2021/07/07(水) 13:49:30.49ID:A9A7nyTKH
>>753
パスとファイル名を変数かセルに覚えとく
755デフォルトの名無しさん (ササクッテロラ Sp23-JC2j)
垢版 |
2021/07/07(水) 16:21:53.05ID:qi2N7sEUp
初めて質問させていただきます。

画像(.jpg)と数値のデータ(.csv)を別々に保存しているのですが、ひとつのExcelファイルにまとめたいです。

csvファイルの右隣に対応するjpgファイルを貼り付けることが出来るコードを教えて頂きたいです。

出来れば繰り返しできるようにしたいのでよろしくお願いします。
756デフォルトの名無しさん (ワッチョイ 035f-yPUF)
垢版 |
2021/07/07(水) 17:18:23.23ID:OWcilrjN0
>>755
要件が不明確

細かく質問してもいいけど
最終的にExcel上でどういう表示になってほしいのか、サンプルデータで作成して
ここにスクリーンショット貼ってもらったほうが多分早い
2021/07/07(水) 17:21:30.63ID:qv0y4MQe0
csvファイルの右隣って何だよ…
対応するjpgってのも曖昧だし。
758デフォルトの名無しさん (ワッチョイ 1e8e-p275)
垢版 |
2021/07/07(水) 17:56:43.90ID:2yFOFfGi0
いつものあいつ
2021/07/07(水) 18:00:22.73ID:AWE9BvFy0
まず自分で書いたコードをあげろ
2021/07/07(水) 18:03:20.12ID:cUDP7DB4M
シートにcsvの中身出力してその右隣に対応する画像ファイル貼りたいって話じゃないの?
2021/07/07(水) 19:01:59.33ID:i3XGJ0gkH
このスレでいうのも何だけど、VBAってそんなにありがたいかな? 個人的には、できる限りVBAを使わないというのは、特に企業では合理的な選択肢だと思うけど。
どうしても必要でVBAを使うことはあるけれど、VBAを使った時点でそのExcelファイルは二等市民的というか、もはやまとも扱いは受けられないものだと思っている。社外的にマクロ付きファイルの受け渡しをするなんてまともな会社ならありえないし、ちょっと大きめの会社なら部署間でもでもそうでしょ。
MicrosoftがExcel本体の機能を強化して、できるだけVBAを使う機会を減らそうとしているのは基本的に正当な方向性だと思うけどなぁ……。
2021/07/07(水) 19:09:31.08ID:xVUMLa1JM
xlsmはローカルにしか保存してないな
第三者に使わせて不具合起きても責任取れん
2021/07/07(水) 19:12:25.86ID:zI2mRysE0
東証一部上場企業の品質保証部門だけど割りとなんでもかんでも業務の自動化効率化にVBA使おうとするぞ
1万ステップのツール作成なんか日常茶飯事
2021/07/07(水) 19:34:48.73ID:qq0OAC8T0
関数程度で済む作業だけならいいんだけどどうあがいても無理な作業があるから
2021/07/07(水) 19:39:36.81ID:F1MfYkRH0
>>761
言っていることがよく分からないな。
そもそも会社から外に出てはいけない内容が載っていた時点で社外秘だ。載せてはいけない内容をVBAに拘る理由がよく分からん。
2021/07/07(水) 19:47:07.04ID:qq0OAC8T0
そういや、そもそも関数って汚くなるよね
大量の処理用の関数列のなんと醜いことか
関数使って並び替えするだけで大騒ぎだ
2021/07/07(水) 19:48:43.14ID:opTZ3hwSM
>>763
悪夢だなあ
2021/07/07(水) 20:29:59.95ID:zI2mRysE0
>>767
しかも作成から管理まで俺のワンオペ
2021/07/07(水) 20:39:17.25ID:qv0y4MQe0
>>761
マクロの入ったファイル自体を受け渡すのではなくて、マクロを使って動的生成されたxlsxファイルを受け渡すような用途にも使ってるよ。

Officeのマクロだからといって文書ファイルの生成に限らず、自分が普段パソコンを使って行っている繰り返し作業等もExcelマクロでツール化できるのがいいところ。
C#等でツール作成してもいいけど、Excelのほうが手軽なことが多い。
2021/07/07(水) 20:43:32.57ID:iU65xv8ZM
>>768
異動になったらどうすんの?
2021/07/07(水) 20:49:55.50ID:YxF5kXH/0
異動先の仕事をすれば良いんじゃね
2021/07/07(水) 20:50:38.88ID:zI2mRysE0
>>770
どうすんだろね?引継ぎ先もないからメンテナンスされないまま使い続けて使い物にならなくなってから大慌てするんかね?いなくなってから呼び出されんのだけは勘弁して欲しいんだがなぁ
2021/07/07(水) 21:12:41.25ID:iU65xv8ZM
退職チラつかせて給料アップいけそう
774デフォルトの名無しさん (ワッチョイ 035f-yPUF)
垢版 |
2021/07/07(水) 21:32:42.95ID:OWcilrjN0
事務員のオレオレマクロはともかく情シスがVBAでツール作ってるとか信じられん
テストとか保守とかどうしてるのさ
2021/07/07(水) 21:36:44.07ID:RMIDDIKO0
しない
必要に応じて各人で作り検証は最終成果物に対して行う
2021/07/07(水) 21:59:27.47ID:szgx/h0V0
ウチの一部上場企業のソレだわ
データをプリント、その数値を各フォーマットへ手入力とかザラにあるわ
VBAで入力&自動化ツールをいつくか作って感謝されたが、元データや出力の仕様変更があれば手直ししなければいけない

IT途上国だと心底思うわ
2021/07/07(水) 22:15:26.68ID:RMIDDIKO0
プリントして手入力はさすがに最近聞かない
2021/07/07(水) 22:16:30.49ID:RMIDDIKO0
とおもったが
ちょっとまえまで勤務表で無意味にやらされてたわ
ただのいじめだとおもう
2021/07/07(水) 22:49:08.74ID:bUHYGk470
>>755
Ruby では、CSV で、配列同士を連結すると、

require 'csv'

input_1 = <<"EOT"
1,1.1
2,2.2
EOT

input_2 = <<"EOT"
a.jpg
b.jpg
EOT

# 2次元配列
ary_1 = CSV.parse( input_1 )
ary_2 = CSV.parse( input_2 )

# 最初の配列に、後ろの配列を連結する
ary_1.zip( ary_2 ).each do |one, two|
one.push two[ 0 ]
end

# 2次元配列を、CSV 文字列に変換する
csv_str = ary_1.map( &:to_csv ).join
print csv_str

出力
1,1.1,a.jpg
2,2.2,b.jpg
780デフォルトの名無しさん (ワッチョイ 1e8e-p275)
垢版 |
2021/07/07(水) 23:24:13.32ID:2yFOFfGi0
>>779
いつものあいつ=Ruby馬鹿
2021/07/07(水) 23:30:24.01ID:qq0OAC8T0
エクセルのデータをプリントアウトして別のソフトに手入力させられたことある
たまらず自動化した
手作業だと月20時間くらいかかるんよアホくさい
2021/07/07(水) 23:40:11.63ID:gLv/ZatbM
うちは逆に、明らかにVBA程度で十分な業務も何でもかんでもITベンダーに投げてシステム化された結果身動き取れなくなってるわ
ちょっと業務を変えようと思えばすぐSIer案件だ
それなりに金持ちな会社なのと商売の特性上IT投資が通りやすいのとで、ジャブジャブ金が出る
2021/07/07(水) 23:45:26.80ID:qq0OAC8T0
そりゃ景気が良いようで何よりだね…
2021/07/08(木) 00:00:54.36ID:oSqIVDjt0
正直今EXCEL VBAとは全く関係ないシステムを作っているけど恐らくEXCEL VBAで全く遜色ないものが作れるのは内緒だ
2021/07/08(木) 00:17:04.27ID:GKH05+tfM
あるシステムをVBAで作ることを提案したら却下されて外部に投げる事になった

他部署で似たシステムをVBAで運用してたらエクセルファイルがクラッシュして惨事になったかららしい
VBAでもプロが作ってたらこんな事にはならなかったんじゃないかな多分
2021/07/08(木) 00:17:34.22ID:/77nN11b0
ウチの職場の課長はとにかくExcelの高い技術もっているヤツの評価を上げてくる
複雑な表作れるヤツは査定上がりまくり
なぜか社員同士で技術を競わせる。。。
これ変わった職場なんかな?
2021/07/08(木) 00:47:52.09ID:HGGhZaBw0
課長の頭がちょっと変ですね
2021/07/08(木) 00:52:55.83ID:FAdYkbsO0
A/Bテストとか確率統計的なのとか
背景にある仕事を無視して
複雑な表の一言で片づけてないか
2021/07/08(木) 03:09:52.98ID:1vTjU6YoH
特定の社員に依存してると、その人がいなくなった時に惨事になる
まともな会社はちゃんと金かけて外部に作らせる
2021/07/08(木) 07:23:57.98ID:fR9QCK450
そんな金があるならVBA使える人材を雇ったほうが良くない?
2021/07/08(木) 07:29:04.11ID:2yggkSqs0
どう考えても外部に頼む方が安いだろ
2021/07/08(木) 07:31:58.17ID:fR9QCK450
いや頼むたびに金かかるんだろ
今いるやつをいくらか首にして
これから雇うやつはvba使えるやつオンリーにしたほうが安くならんかね
2021/07/08(木) 07:46:45.16ID:2yggkSqs0
社員1人にやらせた場合、年間500百万くらい人件費かかるんだよ
2021/07/08(木) 07:47:16.89ID:1vTjU6YoH
ならんよ
コーディングの仕事がコンスタントに発生するわけないし、コーディングルールや担当者が変わった時の引き継ぎの方法など、ルール作りには莫大なコストがかかる
プログラムが書ける人だけいてもしょうがないんだよ
2021/07/08(木) 07:49:04.32ID:d7ZV5m1ma
年間5億かかる社員1人ってやばくないか
2021/07/08(木) 07:49:41.17ID:2yggkSqs0
500万ね
2021/07/08(木) 08:18:34.75ID:1RdbXluhM
別にVBAだけやらせる訳でもないし
規模にもよるんだろうけど
外部に頼んで操作性最悪のゴミプログラム作られるよりはマシだと思うけどな
ゴミプログラムでずっと非効率的な入力してるやつがいてゾッとした
2021/07/08(木) 08:49:58.84ID:2yggkSqs0
人事を自由にできる立場なら好きに人員配置すればいいんじゃね
お前の職場の問題は職場内で解決しろよ
799デフォルトの名無しさん (ラクッペペ MMc6-Q0eP)
垢版 |
2021/07/08(木) 09:42:40.08ID:dQrLp+p1M
で、いつもの人みたいなのが入社してくる
2021/07/08(木) 10:33:08.75ID:hO4Y7gtya
気づいたらrubyで組まれてるよ
2021/07/08(木) 11:06:41.42ID:qzQUzceM0
あほか
2021/07/08(木) 13:17:32.45ID:FOZeM4k/0
外注するといくらくらいかかるのだろうか
803デフォルトの名無しさん (ラクッペペ MMc6-Q0eP)
垢版 |
2021/07/08(木) 14:11:06.03ID:dQrLp+p1M
毎日要求する仕様が変わっていくからそれに対応するには た く さ ん いるよ
2021/07/08(木) 14:17:02.21ID:oSqIVDjt0
https://www.itra.co.jp/webmedia/programming_language_ranking.html

こうやって見てるとVBAの年収が611万、
月に換算して大体ひとり頭51万くらい。
これに使うPCのリース料や
交通費支払いを含めてひとり頭53万くらい
見とけばいいんじゃないの?
2021/07/08(木) 14:43:27.68ID:n1pxwHJS0
特定のセルへのリンクは番地指定ですが、この場合にリンク先の情報をソートしてしまうと全部ずれてしまい、
出鱈目なリンクになってしまいますが
ソートしてもリンクが保たれるように番地以外で指定できる方法は無いのでしょうか?
2021/07/08(木) 15:11:39.55ID:/77nN11b0
求人要項に「Excelの機能関数マクロに精通している方」と募集すれば腕自慢の人材がたくさん応募してくるはず
2021/07/08(木) 15:35:33.49ID:cFZgjTgGM
>>805
セルに名前をつける
Sheet1のA1のセルにhogepiyoって名前を付けたら
Sheet1.Range(″hogepiyo“)で指定可能
2021/07/08(木) 15:51:51.75ID:n1pxwHJS0
>>807
こんな手があったんですねぇ、勉強になりました。
ありがとうございます!
2021/07/08(木) 17:31:18.98ID:2yggkSqs0
名前のリンク切れてゴミが残るので使わなくなった名前は削除忘れるなよ
2021/07/08(木) 18:55:36.10ID:n1pxwHJS0
>>809
ありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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