ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part56
http://mevius.5ch.net/test/read.cgi/tech/1534976724/
探検
Excel VBA 質問スレ Part57
■ このスレッドは過去ログ倉庫に格納されています
2018/09/10(月) 21:42:39.57ID:K1uuwFLt
244デフォルトの名無しさん
2018/09/21(金) 17:54:42.09ID:r3aTV2Xy まだ始めたばったりで基本もまだまだだけど、実際の業務で自動化できそうな簡単な課題を考えて試行錯誤してるんだけどこんな感じで身につくかな?
245デフォルトの名無しさん
2018/09/21(金) 17:56:20.06ID:xQShnEjp >>242
今からやるならdotnetやpythonがいいよ
どの言語でもエクセルを処理できる
業務はエクセルだけじゃない
だからどうせなら簡単で色々できてパワフルな別の言語を使ったほうがいいというわけ
今からやるならdotnetやpythonがいいよ
どの言語でもエクセルを処理できる
業務はエクセルだけじゃない
だからどうせなら簡単で色々できてパワフルな別の言語を使ったほうがいいというわけ
246デフォルトの名無しさん
2018/09/21(金) 18:04:23.10ID:liVyxOie メモ帳でC#組めるし.NETはオススメだね
247デフォルトの名無しさん
2018/09/21(金) 18:06:59.84ID:2TZ1ouJm VBAスレまできてPythonのステマとか
やっぱりPython信者は一味違うな
やっぱりPython信者は一味違うな
248デフォルトの名無しさん
2018/09/21(金) 18:11:58.90ID:mvgA0QsA dotnetもpythonもExcel上で使うには力不足。
VBAが一番都合が良いんだね。
VBAが一番都合が良いんだね。
249デフォルトの名無しさん
2018/09/21(金) 18:16:59.14ID:xQShnEjp エクセルはビジネスのごくわずかな領域でしかない
なのでエクセル依存のVBAはビジネスではイマイチなんだね
なのでエクセル依存のVBAはビジネスではイマイチなんだね
250デフォルトの名無しさん
2018/09/21(金) 18:29:31.75ID:liVyxOie やっぱり.NET、Python、PowerShellで決まりだよ
251デフォルトの名無しさん
2018/09/21(金) 18:33:05.98ID:MQAmc69g ユーザー定義ワークシート関数作れるようになってから出直せ
252デフォルトの名無しさん
2018/09/21(金) 18:35:03.52ID:uQKWYjQl >>242
凄く良くなるかは分からん
業務の種類と自分が出来る自動化のスキルによる
うちはシステム化ダメダメだったから日報を2時間掛けて作ってたらしいそれを2分で出来るようにした
土日も作ってるらしいからそこそこになった
凄く良くなるかは分からん
業務の種類と自分が出来る自動化のスキルによる
うちはシステム化ダメダメだったから日報を2時間掛けて作ってたらしいそれを2分で出来るようにした
土日も作ってるらしいからそこそこになった
253デフォルトの名無しさん
2018/09/21(金) 18:40:23.75ID:Qvv9rksr なるほどー。普段の業務考えてみたらルーチン作業ばっかしてるし自動化できそう
>>252
まさにそんな感じで日報も作ってるわ。部署ごとにわけて〜で2時間は余裕でかかってる
これがもし2分で終わったりしたら夢あるなぁ
>>252
まさにそんな感じで日報も作ってるわ。部署ごとにわけて〜で2時間は余裕でかかってる
これがもし2分で終わったりしたら夢あるなぁ
254デフォルトの名無しさん
2018/09/21(金) 18:44:00.14ID:liVyxOie C#あたり使ってVBEのコードペインにユーザー定義関数用のVB6コードを差し込むようにすれば大丈夫だと思うの
255デフォルトの名無しさん
2018/09/21(金) 18:46:12.21ID:MQAmc69g >>254
で、そのファイルは他の人が開いたらどうなるんや
で、そのファイルは他の人が開いたらどうなるんや
256デフォルトの名無しさん
2018/09/21(金) 18:50:57.60ID:liVyxOie ブックのコードペインに差し込んでスタンドアロンなVBAプログラムとして保存すれば他のユーザーがそのブックを開いても普通に関数として使えるじゃん
257デフォルトの名無しさん
2018/09/21(金) 18:56:13.68ID:xQShnEjp258デフォルトの名無しさん
2018/09/21(金) 19:01:09.32ID:MQAmc69g >>257
標準関数で書くと低速になるような式のとき、VBAに移す事で大幅に高速化できる。
必要になった時にその場で作るものだから、c#の場合VS起動してコンパイルしてとか論外。
その後、計算書完成したから後よろしくって上司に渡すとかよくある
標準関数で書くと低速になるような式のとき、VBAに移す事で大幅に高速化できる。
必要になった時にその場で作るものだから、c#の場合VS起動してコンパイルしてとか論外。
その後、計算書完成したから後よろしくって上司に渡すとかよくある
259デフォルトの名無しさん
2018/09/21(金) 19:17:25.97ID:FvpQrvJK 計算書なんて何度も計算するものじゃないだろ?
それに経過の計算を残すことが重要な書類じゃないのか?
無意味に速度なんて気にして誰も解読できないオナニー関数とか使うなよハゲ
それに経過の計算を残すことが重要な書類じゃないのか?
無意味に速度なんて気にして誰も解読できないオナニー関数とか使うなよハゲ
260デフォルトの名無しさん
2018/09/21(金) 19:22:37.61ID:xQShnEjp え?それだけ?
定義した関数をデリゲートとして渡してコレクションをソートしたり
メタデータを取得してデコレーターを生成したり
再利用可能なモジュールとしてシステムに登録したり
とかできないの?
使い捨てのシートに表示するのを高速化するだけのために重いエクセルとVBEを開いてVBAで我慢強くコーディングして動作確認とか辛いんですけど
定義した関数をデリゲートとして渡してコレクションをソートしたり
メタデータを取得してデコレーターを生成したり
再利用可能なモジュールとしてシステムに登録したり
とかできないの?
使い捨てのシートに表示するのを高速化するだけのために重いエクセルとVBEを開いてVBAで我慢強くコーディングして動作確認とか辛いんですけど
261デフォルトの名無しさん
2018/09/21(金) 19:30:10.67ID:liVyxOie 必要になったときに手軽に使うのはPowerShell
262デフォルトの名無しさん
2018/09/21(金) 19:31:16.07ID:MQAmc69g そういうのが作りたいなら好きにしてくれ。
VBAが適している場面もあるって話や
あと数秒で計算終わるなら必要ない。物によっては諸元入力のたびに再計算に1分かかる場合とかあるんよ。
エクセルエアプには分からなくても仕方がないが。
VBAが適している場面もあるって話や
あと数秒で計算終わるなら必要ない。物によっては諸元入力のたびに再計算に1分かかる場合とかあるんよ。
エクセルエアプには分からなくても仕方がないが。
263デフォルトの名無しさん
2018/09/21(金) 19:35:55.04ID:FvpQrvJK どうせSUMPRODUCTとか使いまくって悦に浸ってんだろ
エクセルプロ()さんは凄いですね
エクセルプロ()さんは凄いですね
264デフォルトの名無しさん
2018/09/21(金) 19:42:04.04ID:xQShnEjp リアルタイム更新はエクセル弱っちいよね
非同期処理のサポートが残念だから
入力するたび重い計算を同期で待ちってユーザーが激怒する典型的なパターンだよ
非同期処理のサポートが残念だから
入力するたび重い計算を同期で待ちってユーザーが激怒する典型的なパターンだよ
265デフォルトの名無しさん
2018/09/21(金) 19:54:44.02ID:liVyxOie 大容量データをエクセルで扱うならパワーピボット使おうよって思うし、ワークシートで行列計算の評価を何重にも行うならそれ全部外部の高速なプログラムにオンメモリでやってもらおうよって思うの
266デフォルトの名無しさん
2018/09/21(金) 20:16:40.40ID:4Tb64i1X >>260
お前、VBAに何やらせようと思ってるの?
VBAはあくまでOfficeアプリケーション上で使える便利機能でしかないんだよ?
お前が言ってることはデカいシステム作ることに対応した言語持ってきて
アレが出来ないコレが出来ないと騒いでいるに過ぎない。
そもそもそういうことをやるならそれなりのフレームワークを使ってEXCEL吐き出させろ。
お前、VBAに何やらせようと思ってるの?
VBAはあくまでOfficeアプリケーション上で使える便利機能でしかないんだよ?
お前が言ってることはデカいシステム作ることに対応した言語持ってきて
アレが出来ないコレが出来ないと騒いでいるに過ぎない。
そもそもそういうことをやるならそれなりのフレームワークを使ってEXCEL吐き出させろ。
267デフォルトの名無しさん
2018/09/21(金) 20:23:25.18ID:+w5W7Qw1268デフォルトの名無しさん
2018/09/21(金) 20:28:26.36ID:dSxNadcR >>267
VB6標準の組み込み関数じゃなくてエクセル組み込みの標準的なワークシート関数のことを言ってるんじゃないかと理解してたんだけど違うのか?
VB6標準の組み込み関数じゃなくてエクセル組み込みの標準的なワークシート関数のことを言ってるんじゃないかと理解してたんだけど違うのか?
269デフォルトの名無しさん
2018/09/21(金) 20:33:56.46ID:xQShnEjp >>266
デカイシステム?
日常的な規模のツールもC#やパワーシェルのほうがいいよ
小規模ならまあほとんどパワーシェルだな
エクセルはスケールデカイときは論外だけど
便利で基本的なクラスや言語機能がないからスケールの小さいちょっとした物にも実はそんなに向いてないんだな
外部コマンドの出力結果をパースして並び替えてフィルターしてエクセルに出力してファイルをwebサーバーにHTTPポスト
これぐらいの簡単な作業ですら着手に躊躇してしてしまう
デカイシステム?
日常的な規模のツールもC#やパワーシェルのほうがいいよ
小規模ならまあほとんどパワーシェルだな
エクセルはスケールデカイときは論外だけど
便利で基本的なクラスや言語機能がないからスケールの小さいちょっとした物にも実はそんなに向いてないんだな
外部コマンドの出力結果をパースして並び替えてフィルターしてエクセルに出力してファイルをwebサーバーにHTTPポスト
これぐらいの簡単な作業ですら着手に躊躇してしてしまう
270デフォルトの名無しさん
2018/09/21(金) 21:47:31.39ID:c6u7OXiZ >>268
いやワークシート関数で合ってると思うけどあれを超えられるユーザー定義関数を作る自信はないわ
いやワークシート関数で合ってると思うけどあれを超えられるユーザー定義関数を作る自信はないわ
271デフォルトの名無しさん
2018/09/21(金) 22:47:22.07ID:oOcVj6Vd 上で言ってるような重い処理じゃないけど、文字列操作系は自作したほうが便利なことが多いよな。
たとえばSplit関数がワークシートに無いのでパスをバラすときとか糞めんどい。
A1:C:\hoge\fugafuga\piyo
C:・・・・・=MID(A1,1,SEARCH("\",A1,1))
hoge・・・=MID(A1,SEARCH("\",A1,1)+1,SEARCH("\",A1,SEARCH("\",A1,1)+1)-SEARCH("\",A1,1)-1)
fugafuga・・・=MID(A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1,
SEARCH("\",A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1)-SEARCH("\",A1,SEARCH("\",A1,1)+1)-1)
しかしこれを定義するだけでシンプルになる。
Function SPLIT2(v, deli, idx)
SPLIT2 = Split(v, deli)(idx - 1)
End Function
C:・・・・・=SPLIT2(A1,"\",1)
hoge・・・=SPLIT2(A1,"\",2)
fugafuga・・・=SPLIT2(A1,"\",3)
だから文字列変換が出てきたら大抵VBAで関数組むかな
たとえばSplit関数がワークシートに無いのでパスをバラすときとか糞めんどい。
A1:C:\hoge\fugafuga\piyo
C:・・・・・=MID(A1,1,SEARCH("\",A1,1))
hoge・・・=MID(A1,SEARCH("\",A1,1)+1,SEARCH("\",A1,SEARCH("\",A1,1)+1)-SEARCH("\",A1,1)-1)
fugafuga・・・=MID(A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1,
SEARCH("\",A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1)-SEARCH("\",A1,SEARCH("\",A1,1)+1)-1)
しかしこれを定義するだけでシンプルになる。
Function SPLIT2(v, deli, idx)
SPLIT2 = Split(v, deli)(idx - 1)
End Function
C:・・・・・=SPLIT2(A1,"\",1)
hoge・・・=SPLIT2(A1,"\",2)
fugafuga・・・=SPLIT2(A1,"\",3)
だから文字列変換が出てきたら大抵VBAで関数組むかな
272デフォルトの名無しさん
2018/09/21(金) 22:52:30.61ID:oOcVj6Vd273デフォルトの名無しさん
2018/09/21(金) 22:53:01.55ID:/N0VzHQb splitがめんどいのは同意だけどなんでワークシート関数にするの?
vbaで処理完結したほうが良いと思うけど
vbaで処理完結したほうが良いと思うけど
274デフォルトの名無しさん
2018/09/21(金) 23:05:24.48ID:oOcVj6Vd >>273
それも場合によるかと
帳票、単票みたいなのをササっと作るときは、セル毎に式を組まないといけないから適してる。
あと行・列挿入が多い表に埋め込むときとか。
たぶんPowerShellerが想像してる表から表に変換するような場合にはあまり適してないね。
あと元の値が頻繁に変化するものは、そのたびにマクロ走らせないといけないから更新漏れが起こるのが困る。
それも場合によるかと
帳票、単票みたいなのをササっと作るときは、セル毎に式を組まないといけないから適してる。
あと行・列挿入が多い表に埋め込むときとか。
たぶんPowerShellerが想像してる表から表に変換するような場合にはあまり適してないね。
あと元の値が頻繁に変化するものは、そのたびにマクロ走らせないといけないから更新漏れが起こるのが困る。
275デフォルトの名無しさん
2018/09/21(金) 23:37:14.57ID:3Rh/KByq 考え方なんかなワークシートで式使われる方がめんどく感じる
大量にあったりすると重いしメンテしづらかったりするし
大量にあったりすると重いしメンテしづらかったりするし
276デフォルトの名無しさん
2018/09/21(金) 23:47:44.41ID:dSxNadcR Lispの糞コードいじる気分になるよね
277デフォルトの名無しさん
2018/09/21(金) 23:50:48.56ID:UZbX0jXb ワークシート関数なら他にはマネ出来ない
データ処理するだけならPowerShell使えって奴も多いんじゃね
データ処理するだけならPowerShell使えって奴も多いんじゃね
278デフォルトの名無しさん
2018/09/21(金) 23:50:54.80ID:MqKbhYRD 盛りすぎプロさんw
279デフォルトの名無しさん
2018/09/22(土) 00:01:13.95ID:96L85sWt SPLITみたいなのはワークシート関数にする派だな
汎用的な関数をワークシート内で使ったほうが見通しがいい
他にもMAP、FILTER、REDUCEみたいなのも自作して使ってるわ
汎用的な関数をワークシート内で使ったほうが見通しがいい
他にもMAP、FILTER、REDUCEみたいなのも自作して使ってるわ
280デフォルトの名無しさん
2018/09/22(土) 00:04:01.76ID:/LVptLz+ JSPやASPの失敗を繰り返しとるな
帳票にデータを埋め込みたいなら式じゃなくシンプルにセル参照を使うといいよ
参照先はプレーンなデータ専用シートね
こうしとけばセキュリティ監査的に面倒なマクロ付きにしなくていい、
データ供給元の言語に依存しなくなる、
データ供給元のコードがシンプルになる、
データモデルがわかりやすくなる、などなどメリットが多い
帳票にデータを埋め込みたいなら式じゃなくシンプルにセル参照を使うといいよ
参照先はプレーンなデータ専用シートね
こうしとけばセキュリティ監査的に面倒なマクロ付きにしなくていい、
データ供給元の言語に依存しなくなる、
データ供給元のコードがシンプルになる、
データモデルがわかりやすくなる、などなどメリットが多い
281デフォルトの名無しさん
2018/09/22(土) 00:17:31.94ID:T/6XWx9j >>279
MAPやREDUCEに渡す無名関数はどうやってる?
MAPやREDUCEに渡す無名関数はどうやってる?
282デフォルトの名無しさん
2018/09/22(土) 02:18:36.18ID:niETRueG ワークシート関数って”使う”のにかかる手間が少ないのがメリットだと思う。
関数の入力と出力だけ書いておけばVBA読めない人でもすぐに理解できる。
ワークシート関数使うのは使い捨ての帳票が大半だろうし>>280は全然違うものを想像してそう。
関数の入力と出力だけ書いておけばVBA読めない人でもすぐに理解できる。
ワークシート関数使うのは使い捨ての帳票が大半だろうし>>280は全然違うものを想像してそう。
283デフォルトの名無しさん
2018/09/22(土) 02:24:34.84ID:FJlDOW+X お前ら本当にもっと会社の利益になる事を頑張ってくれよ
やらせてるのは女の子がやる様な簡単な仕事なんだからこんなどーでも良い大して役に立たないVBAなんかに時間を使わずに他の人を手伝うとかちゃんと勤務中は仕事してね
分かったね?
やらせてるのは女の子がやる様な簡単な仕事なんだからこんなどーでも良い大して役に立たないVBAなんかに時間を使わずに他の人を手伝うとかちゃんと勤務中は仕事してね
分かったね?
284デフォルトの名無しさん
2018/09/22(土) 07:40:51.79ID:z7BGc1C3285デフォルトの名無しさん
2018/09/22(土) 08:08:03.84ID:T/6XWx9j >>283
老害かな
老害かな
286デフォルトの名無しさん
2018/09/22(土) 09:49:40.55ID:/LVptLz+ >>282
使い捨て帳票ならそれこそ手入力で十分
デザインするついでにデータも入れればいい
プログラムするものは何度も繰り返し出力するもの、何人もの社員が出力するものだ
そういうのは先ほどレスした理由でセル参照を使ったほうがいい
使い捨て帳票ならそれこそ手入力で十分
デザインするついでにデータも入れればいい
プログラムするものは何度も繰り返し出力するもの、何人もの社員が出力するものだ
そういうのは先ほどレスした理由でセル参照を使ったほうがいい
287デフォルトの名無しさん
2018/09/22(土) 09:55:14.40ID:MP8LoRbH 質問です
パワーシェルって.Net Freamworkの寄生虫みたいなもので
単体だとただのシェルと変わらないって本当です?
パワーシェルって.Net Freamworkの寄生虫みたいなもので
単体だとただのシェルと変わらないって本当です?
288デフォルトの名無しさん
2018/09/22(土) 09:58:32.80ID:WimPZWqW VBAがOffice製品の寄生虫なのと一緒
289デフォルトの名無しさん
2018/09/22(土) 11:14:47.29ID:KDDLtPfl VBAは個々の重いOfficeアプリを起動しないと動かせないけどPowerShellはIDEでも普通のPSコンソールでもPSだけでサクサク動かせるからそこが違う
290デフォルトの名無しさん
2018/09/22(土) 11:36:15.01ID:mc091pM3 PowerShell自体がたかがコマンドラインシェルのくせに起動ゲロ遅いから目糞鼻糞
291デフォルトの名無しさん
2018/09/22(土) 11:38:46.45ID:CkoNNNs2 Cmdプロの人の嫉妬かな
292デフォルトの名無しさん
2018/09/22(土) 11:55:38.81ID:mc091pM3 使ってるよ?
最近はだいたいbashで済ませてるけど
最近はだいたいbashで済ませてるけど
293デフォルトの名無しさん
2018/09/22(土) 21:13:08.35ID:+NSfHsNE 質問です。
ソルバー 機能をvbaで使ってるんだけど、目的や制約をセルを対象じゃなく、vba内の変数に対して適用したいんだけど不可能?
ソルバー 機能をvbaで使ってるんだけど、目的や制約をセルを対象じゃなく、vba内の変数に対して適用したいんだけど不可能?
294デフォルトの名無しさん
2018/09/22(土) 22:34:22.71ID:96L85sWt295デフォルトの名無しさん
2018/09/22(土) 23:03:40.40ID:iO7YjT3j 「=SUM(A1:A10)」のようにSUM関数の引数に計算範囲をして合計値を表示したあとで
その計算範囲のセルの値を書き換えた場合に合計値が更新されないことがあるのですがなぜでしょうか?
そのあと値を書き換えたセルでF2を押して入力状態にし、そのままエンターを押すとようやく合計値が更新されます。
その計算範囲のセルの値を書き換えた場合に合計値が更新されないことがあるのですがなぜでしょうか?
そのあと値を書き換えたセルでF2を押して入力状態にし、そのままエンターを押すとようやく合計値が更新されます。
296デフォルトの名無しさん
2018/09/22(土) 23:53:28.61ID:niETRueG >>295
自動再計算が手動になっているのでは?
自動再計算が手動になっているのでは?
297デフォルトの名無しさん
2018/09/23(日) 13:25:57.01ID:6+b91Fhf >>279
是非使いたいから公開してよ
是非使いたいから公開してよ
298デフォルトの名無しさん
2018/09/23(日) 15:33:34.28ID:aZjrg24v299デフォルトの名無しさん
2018/09/23(日) 15:35:54.14ID:aZjrg24v300デフォルトの名無しさん
2018/09/23(日) 15:38:28.44ID:aZjrg24v301デフォルトの名無しさん
2018/09/23(日) 15:47:46.09ID:aZjrg24v >>269
何度言っても分からない人だねえ。
エクセルのファイル作るだけなら何使っても良い。
別にVBAが有利なことも無い。
逆にファイル開いた状態から動かす時は1ファイルで済むVBAが有利だろう。
だからVBAの話題になってるこのスレなんかもメインはそういうVBA有利な場面の話なんだよ。
実際、VBA不利な場面なんていくらでも知ってるけど、不思議とアンチの言葉とは丸っきり被らない。
アンチの言葉は全く説得力がない。
被れば、こっちも「確かに」となる筈なんだけどね。
何度言っても分からない人だねえ。
エクセルのファイル作るだけなら何使っても良い。
別にVBAが有利なことも無い。
逆にファイル開いた状態から動かす時は1ファイルで済むVBAが有利だろう。
だからVBAの話題になってるこのスレなんかもメインはそういうVBA有利な場面の話なんだよ。
実際、VBA不利な場面なんていくらでも知ってるけど、不思議とアンチの言葉とは丸っきり被らない。
アンチの言葉は全く説得力がない。
被れば、こっちも「確かに」となる筈なんだけどね。
302デフォルトの名無しさん
2018/09/23(日) 16:04:30.67ID:xERBcwZj まーた1ファイル論争になってるのか、もう神学論争だよねこれ
VBA以外の言語でもCOMオブジェクトとしてアクティブなブックを操作できるわけだし、想定ユーザーのスキルレベルや運用条件や処理の内容によってVBAを使うべきか使わなくても良いかの判断なんて変わってくるでしょ
VBA以外の言語でもCOMオブジェクトとしてアクティブなブックを操作できるわけだし、想定ユーザーのスキルレベルや運用条件や処理の内容によってVBAを使うべきか使わなくても良いかの判断なんて変わってくるでしょ
303デフォルトの名無しさん
2018/09/23(日) 16:04:32.08ID:9e4CRvDY 大将、ドーナッツ一丁!
304デフォルトの名無しさん
2018/09/23(日) 16:30:52.15ID:H5quPExp 自分の場合はそもそもエクセルを開いた状態で動かしたいプログラムというのがあまり無いです
VBAを普段使いしているひとはどういう用途・目的でエクセルを開いた状態でマクロを使っているのでしょうか?
VBAを普段使いしているひとはどういう用途・目的でエクセルを開いた状態でマクロを使っているのでしょうか?
305デフォルトの名無しさん
2018/09/23(日) 16:46:09.55ID:yOUnCcQA つまりVBAなんて必要ないって事だよね
そんなクソ言語を覚える意味ないもんな
そんなクソ言語を覚える意味ないもんな
306デフォルトの名無しさん
2018/09/23(日) 16:49:36.19ID:aZjrg24v >>302
だから、それはそもそも何の言語でも良い話だろ。
VBAのスレなんだからVBA有利な話になるのが当たり前なんだよ。
だから1ファイルの話になるのが当然なの。
何で当たり前のことも出来ない話をしなきゃならんのかって話。
だから、それはそもそも何の言語でも良い話だろ。
VBAのスレなんだからVBA有利な話になるのが当たり前なんだよ。
だから1ファイルの話になるのが当然なの。
何で当たり前のことも出来ない話をしなきゃならんのかって話。
307デフォルトの名無しさん
2018/09/23(日) 16:54:56.19ID:aZjrg24v >>304
それはそもそもVBAである必要の無い話だろうに。
何でこのスレに来てるんだということになる。
こっちは殆どブック開いた状態が基本だよ。
だから最初から噛み合わない。
CSVなら分かるけどExcelのブックは開いて人の判断なりを使って何かするのが基本。
じゃなかったらそもそも人間が理解出来る表である必要もなく、単なるバイナリのデータで良いわけだ。
それはそもそもVBAである必要の無い話だろうに。
何でこのスレに来てるんだということになる。
こっちは殆どブック開いた状態が基本だよ。
だから最初から噛み合わない。
CSVなら分かるけどExcelのブックは開いて人の判断なりを使って何かするのが基本。
じゃなかったらそもそも人間が理解出来る表である必要もなく、単なるバイナリのデータで良いわけだ。
308デフォルトの名無しさん
2018/09/23(日) 16:59:47.48ID:xERBcwZj 落ち着こうや、常にVBAが有利なわけじゃないよねって言っただけだぞ
309デフォルトの名無しさん
2018/09/23(日) 17:00:28.44ID:9e4CRvDY みんながみんなそういう狭い世界で生きてるわけじゃない
キミのエクセルに対する姿勢はそうだってだけで
他の人は閉じた状態でもエクセルを扱う、
複数のファイルを扱う、エクセル以外との連携もする
その前提は崩しちゃいかんと思うのよ
キミのエクセルに対する姿勢はそうだってだけで
他の人は閉じた状態でもエクセルを扱う、
複数のファイルを扱う、エクセル以外との連携もする
その前提は崩しちゃいかんと思うのよ
310デフォルトの名無しさん
2018/09/23(日) 17:04:15.89ID:0vXeudiz みんながエクセル使えないわけやないんやでw
311デフォルトの名無しさん
2018/09/23(日) 17:06:10.83ID:bxERXRN+ だからさー、、、、話し相手が居ない淋しいプログラマの皆さんは、プログラ「ム」板のExcel VBAスレはなく
上にあるプログラマー板のどっかそういうスレで話し相手探せっつーの
それすら判らんようになってんのかいな。
ここで思いっきりマウンティングしたいというか、ここでないとマウンティング出来ないのは判るけどさー
上にあるプログラマー板のどっかそういうスレで話し相手探せっつーの
それすら判らんようになってんのかいな。
ここで思いっきりマウンティングしたいというか、ここでないとマウンティング出来ないのは判るけどさー
312デフォルトの名無しさん
2018/09/23(日) 17:08:31.58ID:xERBcwZj このスレに来る目的とかVBAに対して取るべき態度とかそんなの人の勝手じゃんよ
313デフォルトの名無しさん
2018/09/23(日) 17:11:49.59ID:aZjrg24v >>309
違うっちゅうの。
閉じた状態でブック触るならそもそも何の言語でも良いし、というよりむしろVBAは不利なんじゃないの?
じゃあ、何でVBAのスレが有るかと言えばそれは開いた状態で何かする話をしたいからだろ。
そりゃ、VBAだってある程度は汎用的に使えるから閉じた状態からVBAでどうにかする話題が有っても良いけどメインじゃないでしょ。
違うっちゅうの。
閉じた状態でブック触るならそもそも何の言語でも良いし、というよりむしろVBAは不利なんじゃないの?
じゃあ、何でVBAのスレが有るかと言えばそれは開いた状態で何かする話をしたいからだろ。
そりゃ、VBAだってある程度は汎用的に使えるから閉じた状態からVBAでどうにかする話題が有っても良いけどメインじゃないでしょ。
314デフォルトの名無しさん
2018/09/23(日) 17:15:40.69ID:xERBcwZj C#とかでCOM経由でエクセル触る前提だけどエクセルのオブジェクトモデルについてだけ質問したいと思った人がこっちに来る可能性だって十分あるんだよなぁ
315デフォルトの名無しさん
2018/09/23(日) 17:16:23.42ID:0vXeudiz ガキかいなw
そもそもvbaがいらない場面でvba使おうとして、あげくの果てにvbaが有利やないとか
訳わからん事言いだすプロさんがおると質問が収束せんねんw
端的に言って迷惑やねんプロさんw
>>312おまえの事やでw
そもそもvbaがいらない場面でvba使おうとして、あげくの果てにvbaが有利やないとか
訳わからん事言いだすプロさんがおると質問が収束せんねんw
端的に言って迷惑やねんプロさんw
>>312おまえの事やでw
316デフォルトの名無しさん
2018/09/23(日) 17:50:56.48ID:icVHbGJq 自演で荒らすのはよくないよPyキチ君
317デフォルトの名無しさん
2018/09/23(日) 18:06:38.73ID:cRG95Xcq vbaとrubyはイロイロと空気がにてる
ゴミっぷりも似てる
ゴミっぷりも似てる
318デフォルトの名無しさん
2018/09/23(日) 18:07:15.36ID:cRG95Xcq エクセルは優秀な表計算ソフトウェア
コレは間違いない
しかしエクセルのオマケ機能のvbaはウンコ
コレは間違いない
コレは間違いない
しかしエクセルのオマケ機能のvbaはウンコ
コレは間違いない
319デフォルトの名無しさん
2018/09/23(日) 18:09:15.69ID:H5quPExp320デフォルトの名無しさん
2018/09/23(日) 18:31:08.96ID:RgL9otrm ハンカクでまた別人アピールしてるの?
いい加減に板を荒らすのは止めな
いい加減に板を荒らすのは止めな
321デフォルトの名無しさん
2018/09/24(月) 00:45:26.83ID:LqyRy1HC ちょっと質問です。
とあるコードで
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
という記述を見たんですけど、Ifの中でEnd使うことってあるんですか?
やってる内容は
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
と同じなのかなと思ったんですけど、ご存知の方御教示頂ければ幸いです。
とあるコードで
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
という記述を見たんですけど、Ifの中でEnd使うことってあるんですか?
やってる内容は
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
と同じなのかなと思ったんですけど、ご存知の方御教示頂ければ幸いです。
322デフォルトの名無しさん
2018/09/24(月) 00:51:36.52ID:cyCxPH/A >>321
Endのことはさておき、そのふたつのコードの意味は異なるよ
Endのことはさておき、そのふたつのコードの意味は異なるよ
323デフォルトの名無しさん
2018/09/24(月) 01:02:46.39ID:LqyRy1HC >>322
本来意味が異なるのは分かるんですが、処理内容がそんな感じだったのでEndにはそういった意味があるのかな?と思って質問した次第です。
本来意味が異なるのは分かるんですが、処理内容がそんな感じだったのでEndにはそういった意味があるのかな?と思って質問した次第です。
324デフォルトの名無しさん
2018/09/24(月) 01:54:26.03ID:GrunNCaI >>321
全く意味が違う。END使ったらプログラムが強制終了されてしまう。絶対に使うべきではない。
Sub main1()
Call sub1(True, True)
MsgBox "main終了"
End Sub
Sub sub1(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
End Sub
'結果:メッセージ1しか出ない
Sub main2()
Call sub2(True, True)
MsgBox "main2終了"
End Sub
Sub sub2(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
End Sub
'結果:メッセージ1、メッセージ2、main終了
全く意味が違う。END使ったらプログラムが強制終了されてしまう。絶対に使うべきではない。
Sub main1()
Call sub1(True, True)
MsgBox "main終了"
End Sub
Sub sub1(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
End Sub
'結果:メッセージ1しか出ない
Sub main2()
Call sub2(True, True)
MsgBox "main2終了"
End Sub
Sub sub2(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
End Sub
'結果:メッセージ1、メッセージ2、main終了
325デフォルトの名無しさん
2018/09/24(月) 03:08:18.87ID:3gV95ADu Exit Sub とか Exit Function とかと違って、呼び出し元のプロシージャに返ることもなく一切のプログラムがそこで終了するコードってことだ。
Ifの中でEndを使うことがあるのかと訊かれれば、文法上は問題ないが俺だったら使わん。
もっとも、「早く返す」や「早く終了する」を追い求めたその人なりの結果かもしれんので、見かけたとしても内容次第で、問題のあるコードでなければとやかくは言わない。
Ifの中でEndを使うことがあるのかと訊かれれば、文法上は問題ないが俺だったら使わん。
もっとも、「早く返す」や「早く終了する」を追い求めたその人なりの結果かもしれんので、見かけたとしても内容次第で、問題のあるコードでなければとやかくは言わない。
326デフォルトの名無しさん
2018/09/24(月) 05:43:58.48ID:sHYzq55w >>321
Endステートメントを使うと、単にコードの実行が止まるだけでなくアプリケーションで保持していた全ての変数の値がリセットされ、アプリケーションに対する外部プロセスからの参照も遮断される
モードレス表示でフォームを表示している場合、値管理やカスタム常駐クラス使用のためにグローバル変数を使っている場合等には問題が生じるので本当に要注意
Endステートメントを使うと、単にコードの実行が止まるだけでなくアプリケーションで保持していた全ての変数の値がリセットされ、アプリケーションに対する外部プロセスからの参照も遮断される
モードレス表示でフォームを表示している場合、値管理やカスタム常駐クラス使用のためにグローバル変数を使っている場合等には問題が生じるので本当に要注意
327デフォルトの名無しさん
2018/09/24(月) 07:37:11.59ID:E4VB1fuR 状況わからんからなんとも言えんが致命的なエラー時に強制終了させるぐらいしかないと思う
>>321のコードは微妙にそう言うコード片な感じもするし
>>321のコードは微妙にそう言うコード片な感じもするし
328デフォルトの名無しさん
2018/09/24(月) 09:12:46.29ID:ALTh+r7C329デフォルトの名無しさん
2018/09/24(月) 09:24:57.98ID:LqyRy1HC 皆さまありがとうございます。
ちゃんと読んでみたら終了するコードでした…お恥ずかしい…
今後質問する際は頭をリフレッシュさせて読み直してからに致します。
ご迷惑をお掛けしました。ありがとうございました!
ちゃんと読んでみたら終了するコードでした…お恥ずかしい…
今後質問する際は頭をリフレッシュさせて読み直してからに致します。
ご迷惑をお掛けしました。ありがとうございました!
330デフォルトの名無しさん
2018/09/24(月) 09:47:07.47ID:ltYXr3cK psやらrubyやら喚き叫ぶバカよりは良い w
331デフォルトの名無しさん
2018/09/24(月) 10:16:18.94ID:Z99vN/yN >>329
ところで
If 条件1 Then
・・・
ElseIf 条件2 Then
・・・
End If
と
If 条件1 Then
・・・
End If
If 条件2 Then
・・・
End If
では意味が違ってくるのはわかってますか?
ところで
If 条件1 Then
・・・
ElseIf 条件2 Then
・・・
End If
と
If 条件1 Then
・・・
End If
If 条件2 Then
・・・
End If
では意味が違ってくるのはわかってますか?
332デフォルトの名無しさん
2018/09/24(月) 10:25:02.72ID:oCpujaFY 周回遅れなアホ質問要らん
333デフォルトの名無しさん
2018/09/24(月) 10:26:57.24ID:Z99vN/yN334デフォルトの名無しさん
2018/09/24(月) 10:34:31.82ID:LqyRy1HC >>331
ほんと何処に目をつけていたのか自分でも分からなくてお恥ずかしい限りですがElseの意味は分かっています。申し訳ないです…
ほんと何処に目をつけていたのか自分でも分からなくてお恥ずかしい限りですがElseの意味は分かっています。申し訳ないです…
335デフォルトの名無しさん
2018/09/24(月) 12:24:14.30ID:0AspGVrS >>334
訊かれてるのは ElseIf の意味だぞ
訊かれてるのは ElseIf の意味だぞ
336デフォルトの名無しさん
2018/09/24(月) 12:47:03.05ID:3gV95ADu 質問(した方が逆に質問される)スレ
337デフォルトの名無しさん
2018/09/24(月) 16:16:37.08ID:Z99vN/yN338デフォルトの名無しさん
2018/09/24(月) 16:35:59.07ID:e4NBE4Fp >>319
そもそもの考え方が違うから思い付かないんだろう。
例えば日付毎の生産量を表す表とグラフが有ったとする。
表示する期間を指定することでグラフ表示が変化するプログラムが有ったとしよう。
何でそんな機能が必要かといえば、表とグラフをにらめっこして、1週間後のグラフはどうだろうという要望や判断が有るからだ。
こんな例すら思い付かないんだから知識や技術が有ってもダメプログラマーなんだろうな。
そもそもの考え方が違うから思い付かないんだろう。
例えば日付毎の生産量を表す表とグラフが有ったとする。
表示する期間を指定することでグラフ表示が変化するプログラムが有ったとしよう。
何でそんな機能が必要かといえば、表とグラフをにらめっこして、1週間後のグラフはどうだろうという要望や判断が有るからだ。
こんな例すら思い付かないんだから知識や技術が有ってもダメプログラマーなんだろうな。
339デフォルトの名無しさん
2018/09/24(月) 18:01:08.47ID:qkXKwQlD 荒らし本人が言ってもな
340デフォルトの名無しさん
2018/09/24(月) 18:02:07.29ID:NcXWYl5J341デフォルトの名無しさん
2018/09/24(月) 18:06:57.12ID:In5MTxMl そんなのPowerShellかRubyで十分
342デフォルトの名無しさん
2018/09/24(月) 18:20:22.67ID:Z99vN/yN343デフォルトの名無しさん
2018/09/24(月) 18:28:34.71ID:sPlVwsRd >>338
どの言語でも簡単にできる上にそういうツールって今はいくらでもあるんでVBAでやる理由としてはちょっち弱いですね
これはエクセル開いた状態のVBAじゃないと絶対無理だっていう事例を知りたいです
どの言語でも簡単にできる上にそういうツールって今はいくらでもあるんでVBAでやる理由としてはちょっち弱いですね
これはエクセル開いた状態のVBAじゃないと絶対無理だっていう事例を知りたいです
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 橘こぉた来いや!!!
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- 処女厨の人に質問があるんだけど
- お前ら(ちぎゅちぎゅの実モデルチーズ牛丼)←これw
- 隣の部屋のデブがこっちにまで聞こえる声量でアクビするのがストレスなんだけどマジで死んでくれないかな
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
