!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part73
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 4668-xJJl)
2021/09/13(月) 07:29:59.47ID:GNx0xRRz0332デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/08(金) 02:32:08.41ID:KEaimES90 人がやめた後に職場がどうなるかはその職場の責任者が決めるんじゃね
下っ端が気にすることじゃない
下っ端が気にすることじゃない
333デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/08(金) 04:11:36.40ID:vcejz6/Ud 市販アプリでも、天才的な開発者が辞めて、会社もろともアプリもダメになって終わったパターンをいくつも見てきた
334デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/08(金) 07:11:46.26ID:GXvDbP/z0335デフォルトの名無しさん (アウアウウー Sa2f-YkK2)
2021/10/08(金) 08:09:49.53ID:Am1Ugnvua336デフォルトの名無しさん (ワッチョイ 8a05-GJBa)
2021/10/08(金) 09:40:27.58ID:JQJjKarL0 CPU使用率が大きかったのでダメもとで開いて修復を実行したら
かなり軽くなるのな、知らんかった
これ定期的にやったほうがいいのか?
VBAのコードを一旦退避させるのが面倒だが...
かなり軽くなるのな、知らんかった
これ定期的にやったほうがいいのか?
VBAのコードを一旦退避させるのが面倒だが...
337デフォルトの名無しさん (ワッチョイ 5f2f-GJBa)
2021/10/08(金) 17:00:42.44ID:EVmjGNOc0 >>336
詳しく
詳しく
338デフォルトの名無しさん (ワッチョイ de10-J+i2)
2021/10/08(金) 22:11:41.59ID:x7uCSItJ0 属人的にならない仕組みで効率化できればいいんだが、頭の中が古き良きな方々が幅を利かせる日本ではなかなか難しい
339デフォルトの名無しさん (ワッチョイ b301-A6QN)
2021/10/09(土) 01:49:50.17ID:98oBjVW70 自分が初めてVBAを使って解決した時点で、他にVBAを使う人がいないんだから属人化しないわけがないと思うけどな
しかもVBAってプログラミング言語の中では非常に初心者向けなわけで、
誰もVBAで組めない=プログラミングに全員疎いのはほぼ決定なんだから尚更さ
VBAを共通知識にしたいっていうのは、
最初にプログラミングっていう一般的には取っ付き難い物に興味を持たせるっていう途轍もなく大きなハードルを超える必要があって、
それは「興味がある生徒に教える」プログラミング講師以上に難しいと思う
相当な根気が必要だと思うよ
しかもVBAってプログラミング言語の中では非常に初心者向けなわけで、
誰もVBAで組めない=プログラミングに全員疎いのはほぼ決定なんだから尚更さ
VBAを共通知識にしたいっていうのは、
最初にプログラミングっていう一般的には取っ付き難い物に興味を持たせるっていう途轍もなく大きなハードルを超える必要があって、
それは「興味がある生徒に教える」プログラミング講師以上に難しいと思う
相当な根気が必要だと思うよ
340デフォルトの名無しさん (ワッチョイ 5f2f-GJBa)
2021/10/09(土) 02:16:01.12ID:2HXwYm4Z0 そもそも人に仕事が割り振られた段階で属人化されてるわけで
たんに次の人が困って終わりだよ
たんに次の人が困って終わりだよ
341デフォルトの名無しさん (ワッチョイ b301-A6QN)
2021/10/09(土) 02:30:43.66ID:98oBjVW70 確かに。
レス漁ってみたが、
ここでいう「属人化で困る」は「他の人にはできないVBAというテクニックを持つオレスゲー」を単にオブラートに包んだだけっぽい感じがするな
レス漁ってみたが、
ここでいう「属人化で困る」は「他の人にはできないVBAというテクニックを持つオレスゲー」を単にオブラートに包んだだけっぽい感じがするな
342デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 02:49:32.47ID:0Qsp0NFP0 マクロの効率化ガン無視で社員の手が開いた分だけ仕事を割り振る上司がいるらしいけど
その時点である意味属人化してるよね
その仕事引き継ぐやつ
まずさばき切れないだろ
その時点である意味属人化してるよね
その仕事引き継ぐやつ
まずさばき切れないだろ
343デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/09(土) 04:49:21.33ID:UCXjyRPA0 うちの職場ではほとんどの人がマクロできるけど、新人に自信持たせるためにわざわざ気を使って
「君マクロできるなんて凄いね〜」っておだててるのに同調するのが正直めんどくさい
「君マクロできるなんて凄いね〜」っておだててるのに同調するのが正直めんどくさい
344デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 04:50:24.64ID:0Qsp0NFP0 そういうとこは給料高そうで羨ましい
345デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/09(土) 05:01:41.26ID:UCXjyRPA0 >>344
給料は個人の能力に比例します
給料は個人の能力に比例します
346デフォルトの名無しさん (スプッッ Sd02-JSxF)
2021/10/09(土) 08:10:48.77ID:KDe6uexsd 新人の育成は面倒だけど将来的に必要なことだからなあ
褒めた方が上達が早いってのも科学的に証明されつつあるし、そういうもんだからあきらめろ
褒めた方が上達が早いってのも科学的に証明されつつあるし、そういうもんだからあきらめろ
347デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:19:40.75ID:0Qsp0NFP0 全員VBAできるとか絶対給料高いとこだろ
うちのところなんて一人しかいないよ
しかも残りは関数すらまともにあつない
うちのところなんて一人しかいないよ
しかも残りは関数すらまともにあつない
348デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:21:07.29ID:0Qsp0NFP0 おかげで効率がすげー悪い
基本は専用ソフト扱うからエクセルは必須ではないとはいえ
それでもエクセルやVBAやれるのとやれないのとでは効率が雲泥の差
基本は専用ソフト扱うからエクセルは必須ではないとはいえ
それでもエクセルやVBAやれるのとやれないのとでは効率が雲泥の差
349デフォルトの名無しさん (ラクッペペ MM86-65Sl)
2021/10/09(土) 08:31:06.39ID:HlWFX8NcM 選民思想ここに極まれり
350デフォルトの名無しさん (ワッチョイ 1bda-JSxF)
2021/10/09(土) 08:33:14.89ID:qDyUb0P50 研修とか外部の自宅学習プログラムでもやったら?
費用は会社持ち、報奨金も少しは付けて
費用は会社持ち、報奨金も少しは付けて
351デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:37:41.66ID:0Qsp0NFP0 そんな金あったら給料上げてレベルの高い人材雇うか
もうちょっとマシな専用ソフト使ってる
金をケチったせいでオンボロ専用ソフト使わせれて
専用ソフトじゃフォローしきれないのでエクセル活用しないと行けない羽目になってる
もうちょっとマシな専用ソフト使ってる
金をケチったせいでオンボロ専用ソフト使わせれて
専用ソフトじゃフォローしきれないのでエクセル活用しないと行けない羽目になってる
352デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/09(土) 08:57:09.18ID:g5OHjBNSd 会社は社員に楽させたいと思ってるわけじゃない、という大前提
人材なんて時間いっぱい、めいっぱい働かせてナンボ
安いアプリを買って、あとは社員にやらせて、それで回ってるなら何も問題ないんだよ
人材なんて時間いっぱい、めいっぱい働かせてナンボ
安いアプリを買って、あとは社員にやらせて、それで回ってるなら何も問題ないんだよ
353デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 09:27:27.16ID:0Qsp0NFP0 高い金出して高価な専用ソフト使うくらいなら
多少残業代だしてもいいからボロソフト使ったほうが安上がりだからな
多少残業代だしてもいいからボロソフト使ったほうが安上がりだからな
354デフォルトの名無しさん (ワッチョイ 4a42-sdlf)
2021/10/09(土) 09:42:15.79ID:58+qPlR+0 エクセルはマス目状に文章を入力できるソフトぐらいにしか思ってない人もいるしなあ
355デフォルトの名無しさん (スププ Sdea-J+i2)
2021/10/09(土) 15:35:55.10ID:8vFa8kgUd356デフォルトの名無しさん (アウアウエー Sac2-U6Q3)
2021/10/09(土) 20:10:49.92ID:J89rndhPa セル結合せずにせめて広げろや、とは思う
357デフォルトの名無しさん (ブーイモ MM86-ir1/)
2021/10/09(土) 20:26:49.65ID:XLSjDb/pM セル結合とvlookupをディスってようやくエクセル使いとして一人前
358デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 20:30:33.16ID:0Qsp0NFP0 べつにvlookupは悪くないだろ俺は使いたくないけど
359デフォルトの名無しさん (ブーイモ MM4f-ir1/)
2021/10/09(土) 20:58:23.98ID:ZXG2HktNM >俺は使いたくないけど
さりげないアピール
さりげないアピール
360デフォルトの名無しさん (ブーイモ MM4f-ir1/)
2021/10/09(土) 20:59:19.46ID:ZXG2HktNM >俺は使いたくないけど
さりげなさを装ったアピール
さりげなさを装ったアピール
361デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/09(土) 21:05:39.47ID:LYlfiTybM VLOOKUPディスってるのは情弱だろ
2016からめっちゃ高速化されてるから数万行ぐらいなら普通に使える
2016からめっちゃ高速化されてるから数万行ぐらいなら普通に使える
362デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 21:11:18.66ID:0Qsp0NFP0 高速化とかどうでも良い
左端しかデータが使えないのが不便
無駄な検索用データが全部左端に固まる
左端しかデータが使えないのが不便
無駄な検索用データが全部左端に固まる
363デフォルトの名無しさん (ササクッテロレ Sp03-+BSw)
2021/10/10(日) 06:43:03.77ID:LB6rENWtp 個人的に使いたい使いたくないは仕方がない
適材適所で最適解を出す手段に自ら縛りを掛けているだけだから
それで他の人に迷惑掛けている訳でなければとやかく言う筋合いでも無いしな
適材適所で最適解を出す手段に自ら縛りを掛けているだけだから
それで他の人に迷惑掛けている訳でなければとやかく言う筋合いでも無いしな
364デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/10(日) 08:15:02.57ID:AQQzB40DM365デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 10:34:27.64ID:iKRuQHQv0 index matchでええやん
366デフォルトの名無しさん (ブーイモ MM4f-Wbmm)
2021/10/10(日) 15:09:30.75ID:2USb7I2AM MATCHはいちいちIFERROR組み込まなきゃいけないから式が冗長になりがちであんまり好きくない
367デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/10(日) 15:39:33.06ID:wqZqaK12d そもそもスピードは求めてない
元データを1日に何回もアップデートするわけじゃないし
元データを1日に何回もアップデートするわけじゃないし
368デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 15:46:10.06ID:iKRuQHQv0 >>366は何使ってんの?
369デフォルトの名無しさん (ブーイモ MM4f-Wbmm)
2021/10/10(日) 16:04:08.10ID:2USb7I2AM >>368
あんまり関数でデータベース検索かけたくないけどかけなきゃいけないならXLOOKUP、自分以外が使う可能性があるならVLOOKUPかHLOOKUPかなぁ
状況に合わないならMATCHも使うけど使用優先度は低め
VBAにやらせる時も中に確実に存在する場合でなければRange型にFind使って放り込む事が多いかも
Is Nothingで見つからない場合でも処理が止まらずに弾けるし
あんまり関数でデータベース検索かけたくないけどかけなきゃいけないならXLOOKUP、自分以外が使う可能性があるならVLOOKUPかHLOOKUPかなぁ
状況に合わないならMATCHも使うけど使用優先度は低め
VBAにやらせる時も中に確実に存在する場合でなければRange型にFind使って放り込む事が多いかも
Is Nothingで見つからない場合でも処理が止まらずに弾けるし
370デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 16:23:38.63ID:iKRuQHQv0371デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/10(日) 16:30:18.62ID:6uQRu7X1M372デフォルトの名無しさん (ワッチョイ 67da-JSxF)
2021/10/10(日) 16:51:12.87ID:JSJMRLhD0 ある行を内容の変更は自由にできるけど削除できないようにすることはできますか?
373デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/10(日) 17:26:53.27ID:rp73utgy0 それ、ここでする質問?
374デフォルトの名無しさん (ワッチョイ 0668-Mxyx)
2021/10/10(日) 17:53:50.05ID:19DRUExW0375デフォルトの名無しさん (ワッチョイ 0310-1otZ)
2021/10/10(日) 18:04:32.90ID:u+pPz2Uo0 ゴミみたいな回答ばかり
376デフォルトの名無しさん (ワッチョイ 9eda-h0Ad)
2021/10/10(日) 19:05:42.11ID:eL4HRu610 じゃあ、ゴミじゃない回答よろ
377デフォルトの名無しさん (ワッチョイ 03d0-Oubo)
2021/10/10(日) 19:35:34.55ID:rFwRYXWV0 「削除できないように」というのが:
・「セルや行の削除をできないようにしたい」→シートの保護で対処
・「値の変更はできるが消去(空欄に)できないようにしたい」→入力規則で対処
・「セルや行の削除をできないようにしたい」→シートの保護で対処
・「値の変更はできるが消去(空欄に)できないようにしたい」→入力規則で対処
378デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/10(日) 20:12:04.54ID:eL4HRu610 対処の方法がわからないのかと思ったら、対処する方法があるのかどうかの質問だったのかw
379372 (ワッチョイ 67da-JSxF)
2021/10/11(月) 00:26:21.39ID:Z2LLk70Q0380デフォルトの名無しさん (ワッチョイ 635f-hK1x)
2021/10/11(月) 14:09:59.80ID:7nZn8gcC0381デフォルトの名無しさん (ワッチョイ 67da-jfFw)
2021/10/11(月) 14:59:32.76ID:Z2LLk70Q0382デフォルトの名無しさん (アウアウクー MM43-tvk4)
2021/10/11(月) 18:57:29.54ID:nQqo0+vnM 空白に編集する場合とかどう取り扱うつもりなんだろう
383デフォルトの名無しさん (ワッチョイ de10-J+i2)
2021/10/11(月) 20:49:58.25ID:SLAXBehE0 クビか配置転換したほうがよいかと
384デフォルトの名無しさん (ワッチョイ 0b8e-o/se)
2021/10/11(月) 21:18:23.92ID:oro4FUng0 馬鹿でもある程度作れてしまうからダメなんだよな
385デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/12(火) 18:51:44.09ID:F8L1eENx0 それを求める環境が悪い
386デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/14(木) 18:44:35.26ID:FbYeSmKT0 空白は削除じゃないんじゃね
387デフォルトの名無しさん (オッペケ Sr03-iuVz)
2021/10/14(木) 19:05:30.78ID:DEjpZ/5cr メーカー開発設計だけど実験データ処理とかで
なれないながら頑張ってvba使ってるけど
試行錯誤で調べながらだからあんまりシート使ってるときと比べて効率化できてる気がしない…
でもシートでチマチマするよりは知的労働してる気がするし
いつかのペイオフを期待するわ
なれないながら頑張ってvba使ってるけど
試行錯誤で調べながらだからあんまりシート使ってるときと比べて効率化できてる気がしない…
でもシートでチマチマするよりは知的労働してる気がするし
いつかのペイオフを期待するわ
388デフォルトの名無しさん (ワッチョイ 0310-1otZ)
2021/10/14(木) 20:42:17.77ID:BHqqoV+20 あるレベルを超えると突然やりたいことはこうやりゃいいじゃんってなってバリバリ書けるようになる
389デフォルトの名無しさん (ワッチョイ 0668-Mxyx)
2021/10/14(木) 22:26:04.22ID:FxTzsGq40 set覚えてオブジェクトの概念覚えてイベントを理解してしばらくするとほぼ全ての場面で対応できるようになる
390デフォルトの名無しさん (ワッチョイ 6b01-18WC)
2021/10/15(金) 06:17:54.01ID:YCIon6in0 色々覚えて余計な知識が付いてきて、
これはもっと綺麗に書けるんじゃないか?っていう欲が出て進まなくなる事が増えたんだけどどうすりゃいいのか
今までは明らかに冗長で読みづらいコードが多かったけど、生産性で見れば高かったように思う
特にプログラミング自体に興味が出てきて他の言語の記事も見るようになって、
そこで得た知識をVBAで無理に再現しようとしてドツボに嵌る事態も多いように感じる
これはもっと綺麗に書けるんじゃないか?っていう欲が出て進まなくなる事が増えたんだけどどうすりゃいいのか
今までは明らかに冗長で読みづらいコードが多かったけど、生産性で見れば高かったように思う
特にプログラミング自体に興味が出てきて他の言語の記事も見るようになって、
そこで得た知識をVBAで無理に再現しようとしてドツボに嵌る事態も多いように感じる
391デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/15(金) 07:30:19.61ID:xvvRRo/+0 >>390
まず単一責任原則に沿って作るといいよ。
つらつらとコードを一直線に書くんじゃなくて、
役割に合わせてメソッドや関数を作って
それを部品として組み立てて行くイメージ。
後、他言語をやっていてクラスや
インターフェースの概念を理解しているなら
行き当たりばったりで最初からコードを
書くんじゃなくてどういう構成で組むかを
一度図に書いてイメージしてから作るといいよ。
そのためにもUMLとかもかじっておくと
いいんじゃないかな。
後は暇なときにデザインパターンの本でも
読んでおいて使えそうなのだけ
使えばいいんじゃないかな。
ただ、VBAでは自分一人で使うんであれば
それでいいけど、後々人が見たり手を入れたり
することを考えると、やり過ぎると
そもそもその辺の概念を理解していない
人が多いからね。自分以外誰も触れない
オナニーコードの完成だよ。
その辺は気を付けないとね。
まず単一責任原則に沿って作るといいよ。
つらつらとコードを一直線に書くんじゃなくて、
役割に合わせてメソッドや関数を作って
それを部品として組み立てて行くイメージ。
後、他言語をやっていてクラスや
インターフェースの概念を理解しているなら
行き当たりばったりで最初からコードを
書くんじゃなくてどういう構成で組むかを
一度図に書いてイメージしてから作るといいよ。
そのためにもUMLとかもかじっておくと
いいんじゃないかな。
後は暇なときにデザインパターンの本でも
読んでおいて使えそうなのだけ
使えばいいんじゃないかな。
ただ、VBAでは自分一人で使うんであれば
それでいいけど、後々人が見たり手を入れたり
することを考えると、やり過ぎると
そもそもその辺の概念を理解していない
人が多いからね。自分以外誰も触れない
オナニーコードの完成だよ。
その辺は気を付けないとね。
392デフォルトの名無しさん (ワッチョイ ef68-VjlT)
2021/10/15(金) 07:53:52.36ID:i1GdH9Fr0393デフォルトの名無しさん (ゲマー MM3f-/SeR)
2021/10/15(金) 08:56:32.98ID:Ob8xTIA6M メソッドが3つ以上にできそうなときはクラスを検討する
394デフォルトの名無しさん (ラクッペペ MM7f-xEoX)
2021/10/15(金) 09:22:10.96ID:Y66b/sjXM 美しさより速さだよ
最初の頃は両立するが(無駄なSelectなど)
次第によ醜くなっていく
最初の頃は両立するが(無駄なSelectなど)
次第によ醜くなっていく
395デフォルトの名無しさん (エムゾネ FFbf-mxW8)
2021/10/15(金) 10:10:42.08ID:Sjupi756F もう3年くらいExcel使ってないけど全然困らないωωω
396デフォルトの名無しさん (ワッチョイ 2b10-c8v8)
2021/10/15(金) 11:34:26.87ID:r1bpZsgJ0 ふーん
397デフォルトの名無しさん (ブーイモ MM4f-gSog)
2021/10/15(金) 20:36:17.72ID:WLz9ti2OM >>395
なんでこのスレに居るの?
なんでこのスレに居るの?
398デフォルトの名無しさん (ワッチョイ 6b01-18WC)
2021/10/15(金) 21:42:47.27ID:YCIon6in0 >>391,392
ありがとう
分けた方がスッキリするんだけど、
分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
そういう時に「どこまで分けるか」っていう塩梅はどういう基準で決めてる?
ありがとう
分けた方がスッキリするんだけど、
分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
そういう時に「どこまで分けるか」っていう塩梅はどういう基準で決めてる?
399デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/15(金) 22:02:32.86ID:xvvRRo/+0 >>398
役割。
モジュールもメソッドも全てに役割分担を持たせてキチンと仕舞うべき場所に仕舞っておく。
だからその役割を行う為なら100行になろうが1000行になろうがそのメソッドに記載する。
何を持ってしてひとつの役割とするかは作る人のセンスに掛かってくるから場数をこなして慣れるしかないかな。
役割。
モジュールもメソッドも全てに役割分担を持たせてキチンと仕舞うべき場所に仕舞っておく。
だからその役割を行う為なら100行になろうが1000行になろうがそのメソッドに記載する。
何を持ってしてひとつの役割とするかは作る人のセンスに掛かってくるから場数をこなして慣れるしかないかな。
400デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/15(金) 22:06:51.27ID:xdjJa8Ad0401デフォルトの名無しさん (ワッチョイ ab5f-UsRe)
2021/10/16(土) 13:55:14.29ID:Hx8OP0An0 >>398
> 分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
関数にカーソル合わせて「Shift+F2」で定義箇所に飛べるよ
https://www.wordvbalab.com/code/2925/
まあ言語自体も開発環境も貧弱すぎるからまとめたくなっちゃう感覚はわかるけど
> 分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
関数にカーソル合わせて「Shift+F2」で定義箇所に飛べるよ
https://www.wordvbalab.com/code/2925/
まあ言語自体も開発環境も貧弱すぎるからまとめたくなっちゃう感覚はわかるけど
402デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 16:39:05.71ID:EZGI4ZK10 調べてもわからないのでお聞きしたいです
下の処理でtest3まで処理は正常に行われるんですが
mainに戻ったときに型の不一致でエラーが出て止まってしまいます。
Dim WS As Worksheet
Sub main()
Call test3(TEMP_SHEET)
End Sub
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
Set WS = TEMP_SHEET
End Function
Function test3() As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
下の処理でtest3まで処理は正常に行われるんですが
mainに戻ったときに型の不一致でエラーが出て止まってしまいます。
Dim WS As Worksheet
Sub main()
Call test3(TEMP_SHEET)
End Sub
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
Set WS = TEMP_SHEET
End Function
Function test3() As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
403デフォルトの名無しさん (ワッチョイ 4b68-ZO17)
2021/10/16(土) 16:51:56.90ID:a6cW1Kja0 test3()なのにcallで引数渡そうとしてる
404デフォルトの名無しさん (ワッチョイ fbe6-twAR)
2021/10/16(土) 17:03:21.91ID:cq/EQnSr0 VariantにはArrayとかも入るから ()付けても書式エラーにはならないのかな
405デフォルトの名無しさん (ワッチョイ 5bda-ir6K)
2021/10/16(土) 17:06:32.68ID:eJomN4xc0406デフォルトの名無しさん (ワッチョイ fbe6-twAR)
2021/10/16(土) 17:09:51.40ID:cq/EQnSr0 test3の実行後にエラーになるのがこの質問のミソだと思うよ
407デフォルトの名無しさん (ブーイモ MM4f-ZO17)
2021/10/16(土) 17:43:21.23ID:nAOL9IkjM >>402
そもそも「test3までは正常」というのが間違い
これではまったく動かない
とりあえず動くようにするなら、たとえばこう書けばいい
ほかにも色々なパターンが考えられるけど、何がやりたいのかよくわからないので
Dim WS As Worksheet
Sub main()
Call TEMP_SHEET
Call test3
End Sub
Sub TEMP_SHEET()
Set WS = ThisWorkbook.Worksheets("temp")
End Sub
Sub test3()
With WS
.Select
.Cells(1, 1) = "test"
End With
End Sub
そもそも「test3までは正常」というのが間違い
これではまったく動かない
とりあえず動くようにするなら、たとえばこう書けばいい
ほかにも色々なパターンが考えられるけど、何がやりたいのかよくわからないので
Dim WS As Worksheet
Sub main()
Call TEMP_SHEET
Call test3
End Sub
Sub TEMP_SHEET()
Set WS = ThisWorkbook.Worksheets("temp")
End Sub
Sub test3()
With WS
.Select
.Cells(1, 1) = "test"
End With
End Sub
408デフォルトの名無しさん (ワッチョイ 2b10-c8v8)
2021/10/16(土) 18:35:14.73ID:Pp6vdwK70 確かにこれではtest3は動かない
409デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/16(土) 18:36:14.79ID:njPM+lzE0 >>402
test3まで処理が正常に行われたなら気にしなくていいんじゃね
test3まで処理が正常に行われたなら気にしなくていいんじゃね
410デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
2021/10/16(土) 18:46:34.14ID:m1u7MgLp0 ステップ実行させたら確かにtest3実行するな
こんなのコンパイルエラーで良いと思うんだが、なかなか興味深い
こんなのコンパイルエラーで良いと思うんだが、なかなか興味深い
411デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 18:57:45.79ID:EZGI4ZK10 ありがとうございます!
test3はsubでよかったんですね。
参考にしながらいろいろ試したらできました。
すごく助かりました。
test3はsubでよかったんですね。
参考にしながらいろいろ試したらできました。
すごく助かりました。
412デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
2021/10/16(土) 19:30:00.02ID:m1u7MgLp0 いや、問題はSubかFunctionかじゃないんだが
FunctionをCallしても、戻り値が捨てられるだけで別に問題はないぞ
名前の付け方がまあアレだが
Dim WS As Worksheet の行消して
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
End Function
Function test3(WS As Worksheet) As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
とかで動くだろ
FunctionをCallしても、戻り値が捨てられるだけで別に問題はないぞ
名前の付け方がまあアレだが
Dim WS As Worksheet の行消して
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
End Function
Function test3(WS As Worksheet) As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
とかで動くだろ
413デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 20:00:16.92ID:EZGI4ZK10 >>412
ありがとうございます。すごく勉強になりました。
ありがとうございます。すごく勉強になりました。
414デフォルトの名無しさん (アウアウエー Sa3f-qeGn)
2021/10/16(土) 21:23:47.08ID:aQ5UbG+6a 最終の答え得るためにいくつの関数に分けるか、というのはどうやったら身につくんでしょうか
415デフォルトの名無しさん (ワッチョイ 4b68-ZO17)
2021/10/16(土) 21:32:26.89ID:a6cW1Kja0 分けたくなったら分ければいい
・朝起きる
・トイレ
・歯磨き
・食事
・デンタルフロス
・着替え
・家出る
寝起きのルーチンとしてトイレ歯磨きをセットとするとか
無い時もある食事デンタルフロスをセットとするとか
歯磨きが先なのは寝起きで飲み食いが嫌で個人的な事だから異論はあると思う
・朝起きる
・トイレ
・歯磨き
・食事
・デンタルフロス
・着替え
・家出る
寝起きのルーチンとしてトイレ歯磨きをセットとするとか
無い時もある食事デンタルフロスをセットとするとか
歯磨きが先なのは寝起きで飲み食いが嫌で個人的な事だから異論はあると思う
416デフォルトの名無しさん (ワッチョイ 0fb0-TpuX)
2021/10/16(土) 21:49:34.88ID:CDLajE+o0417デフォルトの名無しさん (アウアウエー Sa3f-qeGn)
2021/10/17(日) 09:01:15.98ID:MVHP31+Wa418デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 11:37:36.37ID:LVwZEVKT0 別スレから来ました
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
419デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 11:41:00.73ID:Vlp9RG+s0 余裕で可能
420デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 11:47:00.68ID:rQoWwir60421デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/17(日) 12:11:29.02ID:ZLWKnlAP0422デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 12:14:56.83ID:rQoWwir60 なんでExcelファイル操作するのにRubyスレから来るんだよ
423デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 12:16:45.71ID:LVwZEVKT0 別スレから来ました
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
424デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 12:18:39.23ID:rQoWwir60 頭おかしくなったのか?
425デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 12:19:45.69ID:LVwZEVKT0 ブラウザバックしたら投稿した
すまない
Excel質問スレから来た
>>420
名前をつけて保存の前にいろいろやろうとは思ってるけど、VBA素人だからとりあえず名前をつけて保存までにしようと
VBAで出来ることはわかったのでダイマでもステマでもいいのでオススメの書籍を教えてください
すまない
Excel質問スレから来た
>>420
名前をつけて保存の前にいろいろやろうとは思ってるけど、VBA素人だからとりあえず名前をつけて保存までにしようと
VBAで出来ることはわかったのでダイマでもステマでもいいのでオススメの書籍を教えてください
426デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 12:22:55.44ID:Vlp9RG+s0 だってルビースレから来た時点で質問が目的じゃなくて
最終的にルビーコード貼り付けてどやーするのが目的の人だし
最終的にルビーコード貼り付けてどやーするのが目的の人だし
427デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 13:08:15.77ID:LVwZEVKT0 ルビースレってそもそもなんなのかって状態なんだが…
この板はブラウザバックで二重投稿した程度で中傷くらったりするのか?
エクセルのVBAについて質問してるのに全然違う答え返ってくるし
この板はブラウザバックで二重投稿した程度で中傷くらったりするのか?
エクセルのVBAについて質問してるのに全然違う答え返ってくるし
428デフォルトの名無しさん (ブーイモ MM4f-gSog)
2021/10/17(日) 13:55:19.97ID:l76d9bPwM ニヤニヤ
429デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/17(日) 14:58:05.05ID:OE8yqt320 >>425
自分で本屋に行って内容を確認しようとは思わないのか?
自分で本屋に行って内容を確認しようとは思わないのか?
430デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 15:24:33.87ID:rQoWwir60 >>425
B1の項目に従ってというのが謎なので気を利かせて絶対パスで指定のファイルを開くようにしたよ。
ちなみに5ちゃんに書くとファイルパスの¥マーク書けないから半角に直してね。
思ってた動きと違うと言うなら自分の質問200回音読してから書いてね。
動作が不足してるならちゃんと質問のここが出来てないって書いてね。
使い方
・データを打ち込んでるブックで、処理させたいデータの行のどの列でもいいから選択しておく
・マクロ実行
・指定したファイルに選択した行のA列+C列のデータの名前で名前をつけて保存される
─────────────────────
Sub test()
Gyo = Selection.Row
Data0 = Cells(Gyo, 1).Value
Data1 = Format(Cells(Gyo, 3), "000")
Namae0 = ThisWorkbook.Path & "¥" & Data0 & Data1 & ".xlsx"
Namae1 = Data0 & Data1 & ".xlsx"
Workbooks.Open "C:\Users\*****.xlsx"
Workbooks("*****.xlsx").SaveAs Filename:=Namae0
Workbooks(Namae1).Close
End Sub
B1の項目に従ってというのが謎なので気を利かせて絶対パスで指定のファイルを開くようにしたよ。
ちなみに5ちゃんに書くとファイルパスの¥マーク書けないから半角に直してね。
思ってた動きと違うと言うなら自分の質問200回音読してから書いてね。
動作が不足してるならちゃんと質問のここが出来てないって書いてね。
使い方
・データを打ち込んでるブックで、処理させたいデータの行のどの列でもいいから選択しておく
・マクロ実行
・指定したファイルに選択した行のA列+C列のデータの名前で名前をつけて保存される
─────────────────────
Sub test()
Gyo = Selection.Row
Data0 = Cells(Gyo, 1).Value
Data1 = Format(Cells(Gyo, 3), "000")
Namae0 = ThisWorkbook.Path & "¥" & Data0 & Data1 & ".xlsx"
Namae1 = Data0 & Data1 & ".xlsx"
Workbooks.Open "C:\Users\*****.xlsx"
Workbooks("*****.xlsx").SaveAs Filename:=Namae0
Workbooks(Namae1).Close
End Sub
431デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 15:26:59.96ID:Vlp9RG+s0 あーあルビーキチガイに無駄なエネルギー使ってる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- <櫻坂46松田里奈>ランジェリーカット公開 照れながらTシャツ脱ぐ [ひかり★]
- 訪米認証「ESTA」、SNS利用情報の提出義務化へ 日本人観光客も対象に [蚤の市★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- お前らって議論できないよな
- 一般人「起きなきゃ…」 俺ら「寝ようかなzzz」
- 高橋洋一、終わる [523957489]
- 🏡ダブパン本仕込み~🍞🍞😅🍞🍞🏡
- 【悲報】円安、立憲ショックだったことが判明。高市さん「私の政策だけで長期金利が動くという誇張した発言は、市場に影響を与える」 [519511584]
