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/01(木) 08:00:26.50ID:hboXAMerp
仕事上のプログラミングなんて
可読性と汎用性が最重要
研究してるなら全部度外視で掘り下げる
2021/07/01(木) 12:09:18.88ID:QCYCy1Ww0
わかった
2021/07/02(金) 03:59:24.30ID:iwESPQ410
最近ソルバーっていうの覚えたんだが、これ凄いな
ゴミみたいなマクロ作ってないで、最初からこれ使ってればよかったわ

最近のエクセルはデータの読み込みとかピボットとか格段に使いやすくなってるし、
言語機能的な問題じゃなくて役割的な意味でVBA使う必要がドンドンなくなってきてると感じる
2021/07/02(金) 04:13:59.35ID:SUe4/o7a0
奴隷のスケジューリングがはかどりそうだ
674デフォルトの名無しさん (ワッチョイ a38e-p275)
垢版 |
2021/07/02(金) 04:19:07.42ID:zQG51z+B0
>>672
で?馬鹿な頭自慢か?
2021/07/02(金) 04:29:31.08ID:SUe4/o7a0
とおもったらナップサック問題とかむりっぽいな
2021/07/02(金) 05:30:54.67ID:rz2f8HXN0
>>672
最近のエクセルって・・・
ピボットとかデータ読み込みとか何年前から付いてた機能だと思ってるの?
この人スピルとかxLookupとかifsとか全く知らなそう

ここにいる人達はみんなそういうのとっくに知ってる上でVBAやってると思うよ
2021/07/02(金) 09:20:26.44ID:Qeilx2mY0
しかしマウント取りたがるヤツが増えたな
2021/07/02(金) 10:14:04.05ID:A64becLwH
ピボットはかなり前だけど、XLOOKUPとかはわりと最近じゃない? 365が出てからだよね?
2021/07/02(金) 10:25:58.21ID:mD7WpMWU0
XLOOKUP は名前は知ってたけどスピル知らんかったw
2021/07/02(金) 10:28:56.07ID:mD7WpMWU0
>>666

そらそうと、関数型言語 -> 圏論 -> 群論ってつながっちゃってるのかよ。
まさに今「圏論ってどういうことなんだろう」状態だけど、群論と聞くと怯む。
681デフォルトの名無しさん (エムゾネ FFaa-gCsC)
垢版 |
2021/07/02(金) 10:51:45.20ID:xu7tv1xSF
どっちがマウント取るとかどうでも良い
本質的に関係の無い話題で無駄レスしまくって
スレを流したり話題をはぐらかしたりする体質は遺憾
2021/07/02(金) 11:36:44.05ID:jmnxdT81a
はぐらかされる話題に魅力が無いのが悪い
2021/07/02(金) 12:07:45.57ID:rz2f8HXN0
ちょっと新しい機能の話をするとすぐマウントとかどんだけ新機能に怯えてるジジイなんだよ
EXCEL94でも使ってろバーカバーカ
2021/07/02(金) 13:01:35.56ID:9XrPSGoG0
だってMS-DOS世代が大半なんでしょ?
ロータス123をバリバリ使っていた説明
2021/07/02(金) 14:40:34.29ID:Qeilx2mY0
ロータスいちにさん?
ロータスわんつーすりー?
ロータスわんつーさん?
2021/07/02(金) 14:43:14.83ID:YXFoM+rya
あまり人の知らない昨日使うとずっとメンテすることになるから程々がいいよ
2021/07/02(金) 15:51:35.59ID:kpWtx9eDa
引き継ぎとか考えると、配列で短縮される時間よりもセル操作の方がメンテにかかる時間が短くてお得
688デフォルトの名無しさん (ワッチョイ 1f2f-tMGp)
垢版 |
2021/07/02(金) 16:50:53.93ID:mPacUdo00
ロータスひふみ
2021/07/02(金) 17:10:11.48ID:nYGvR+1/H
将棋の得意なじいさん?
2021/07/02(金) 18:18:08.09ID:mD7WpMWU0
神武以来の大天才に失礼なw
2021/07/02(金) 20:27:38.13ID:9XrPSGoG0
ロタースいちにさんで合ってるよ
さっき爺ちゃんに聞いた
2021/07/02(金) 22:47:54.90ID:A64becLwH
テーブル辺りまで使えていれば、Excelに関しては一応okって感じでよくない? 世間一般の中級者も大体それくらいでしょ。
2021/07/03(土) 00:21:26.08ID:VU8zul5W0
何がOKなの
許可いるのか
2021/07/03(土) 04:53:38.76ID:jaDL/A8Y0
>>676
使いやすくなってるって「データの読み込みとかピボットとか」に係ってるんだが

ソルバーの存在を知らなかったのは素直に無知だったと思うし、
挙げられた機能や関数は偶然知ってたが知らなくてもおかしくないと思う。
これからもエクセルに限らず発見はあると思うし見つけていきたいね。

>>680
圏論は初心者向け解説も少ないし、解説動画も豊富な群論から先に勉強してる感じ
Haskellの数学的意味の理解が取りあえずの目的だから、
群論→圏って進むのがいいのかなと思った
2021/07/03(土) 07:42:36.99ID:GW9wjLqI0
>>685
正解:ロータスわんつーすりー
2021/07/03(土) 07:50:34.34ID:Kt4s/HLb0
たまにはマルチプランのことも思い出してあげてください
2021/07/03(土) 08:33:17.49ID:cpEQw2eFM
>>695
ベストハウスかよ
2021/07/03(土) 09:12:06.97ID:GW9wjLqI0
Lotus 1-2-3は、MS-DOS時代のIBM PC/AT互換機の販売促進にもつながった。
あのマクロは変数宣言不要で、とっつきやすかった (より本格的なLotus Scriptもあった)。
16bitでもそれなりに計算速かった。

が、MSがそこで奮起したから今日のExcelがあるわけで。
1-2-3がWindows対応に遅れたこともあったが。

で、Excelに負けたLotusは2000年代に入って、
主力商品をグループウェアのLotus Notesにシフト。

そのNotesも、サイポウズだとか後発グループウェアに駆逐されて
今は見る影もない。
2021/07/03(土) 09:53:19.31ID:NSiAjAm1M
Excelは元々はMac用ソフトじゃなかった?
700デフォルトの名無しさん (ワッチョイ 1f2f-tMGp)
垢版 |
2021/07/03(土) 10:09:14.68ID:4NfoyZ7k0
一太郎はどうだ?

当時、一太郎とLotas123を選んだオレは負け組か?
いや日本ではWordやExcelより人気だったはず。
701デフォルトの名無しさん (ワッチョイ 1f2f-tMGp)
垢版 |
2021/07/03(土) 10:10:49.38ID:4NfoyZ7k0
当時はOSもWindowsとMacではWindowsのほうが優勢だったけど今よりははるかにMacのシェアは大きかったな。
2021/07/03(土) 10:19:19.79ID:vY5wizBaM
ロータスもエクセルも関数だけならそんなに書き方変わらんだろ
知らんけど
2021/07/03(土) 10:49:33.08ID:GW9wjLqI0
>>699
wikiながら歴史を紐解くと、
1-2-3が出たのが1983年。
Excelは当初、MS-DOSベースで開発してたが、
LotusがMac向けにJazzってのを開発していることがわかって、
対抗してMac版Excelを出したのが1985年。
Windows版を出したのが1987年だった模様。

棲み分けにはならず、1-2-3もMac版を出すには出した。
GUI対応がアレで売れんかったけど。

あの頃はハード普及期がようやく立ち上がるか?の頃だったので、
それに引きずられたけど、
今はソフト/アプリはハード(OS)依存ではなく、
Mac/Win両方対応するのが当たり前になっちゃった。

蛇足:
1人1台になるのは大企業でもWindows95になってから。
Win3.1の頃はまだ「端末室」という名のブースで共用。
富士通のEPOCALCなんてのも、5インチフロッピー運用でまだ残ってた。
1人1台にするときは現場の総務課だったので、
事務室の床全面をフリーアクセスでかさ上げ・二重床にして、
電源とLANケーブル汗だくで這わせてコネクタ付けて、
ようやくHUBに接続したら、
「ヤバっ。ループさせちゃった・・・」とかバカやってた。

スレチすまそ
704デフォルトの名無しさん (エムゾネ FFaa-gCsC)
垢版 |
2021/07/03(土) 10:50:01.71ID:gq7PWL9BF
松と桐だろ常考
2021/07/03(土) 11:59:12.30ID:75LXE/59H
ジャストカルク
2021/07/03(土) 13:08:13.90ID:nIUx6pa80
Excelは他人と技術を競い合うアプリでしょ今は。
だってExcel競技会みたいのがあったじゃん昔は。
上位入賞者はみんなの度肝を抜くテクニシャンばかり
どうしたらあんな発想ができるのか不思議だ
2021/07/03(土) 18:18:57.87ID:vY5wizBaM
VBAの大会だと言うならただのプログラミング大会でエクセルとか半分関係なくなるし
そうじゃなくて関数限定というなら
VBAスレ民があんな非効率的な方法に興味があるのが疑問
関数足しただけ無駄に重くなるし
使う利点あるの?
2021/07/03(土) 18:29:15.48ID:nIUx6pa80
関数でしかできないことあるからでわ?
2021/07/03(土) 19:13:19.61ID:vY5wizBaM
たとえば
2021/07/03(土) 23:28:47.44ID:r8vvIn7i0
ExcelでVBAを使わないでドラクエ3を再現してみた
https://www.youtube.com/watch?v=xWgHHwZn6Mk

VBA使えばもっと簡単だろうね
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
異動になったらどうすんの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。