Excel VBA 質問スレ Part56

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/08/23(木) 07:25:24.98ID:Kh3D3mRW
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part55
http://mevius.5ch.net/test/read.cgi/tech/1532236398/l50
2018/08/25(土) 22:29:22.06ID:t7aLMQyu
>>154
動きませんでした
嘘をつかれては困ります
156デフォルトの名無しさん
垢版 |
2018/08/25(土) 22:29:54.81ID:KMExyDFm
ワークシートの名前を変更するにはどうしますか?

VBAでどうやるのか聞き返されたら答えるまでですけど
PowerShellではどうやるのか教えてください
157デフォルトの名無しさん
垢版 |
2018/08/25(土) 22:30:42.72ID:KMExyDFm
>>155
だったらPowerShellのプログラムも僕の環境ではピクリともしません
それを嘘つきというならPowerShellの方が嘘つきです
158デフォルトの名無しさん
垢版 |
2018/08/25(土) 22:31:13.63ID:KMExyDFm
>>156
に答えてください
2018/08/25(土) 22:38:12.10ID:t7aLMQyu
>>156
$app = New-Object -ComObject Excel.Application
$book = $app.Workbooks.Open($targetFilePath)
$book.Worksheets($targetSheetIndex).Name = "NewName"
$book.Close($true)
$app.Quit()

こちらは答えましたよ
あなたもはぐらかさないで真面目に>>79に答えてください
160デフォルトの名無しさん
垢版 |
2018/08/25(土) 22:41:51.71ID:KMExyDFm
>>159
VBAではこうです
ActiveSheet.Name = "合計"
ワンライナーで一撃です

>>79に答えます
VBAではこう書きます
Files = ReadCsvFiles("*.csv")
Data = ReadCalcPower(Files)
Sort Data, "desc"
ExportExcel Data
2018/08/25(土) 22:45:42.55ID:t7aLMQyu
>>160
あなたのコードには致命的な欠陥があります
対象とするブックを手作業で開かなければならなりません
これでは自動化を検討する程度の数のブックを相手にした時に間違いなく腱鞘炎になってしまいます

>>79への解答は不適切です
このコードには未定義の関数・サブルーチンが含まれているため動作しません
関数・サブルーチン化するならその実装も解答に含めて下さい
2018/08/25(土) 22:46:32.76ID:Jrsn7acQ
確かに、なんでもワンライナーで出来るかのような表現を使うよね、Powershellユーザー。

多分、そうは書いてない、思い込みだろうってレス着くと思うけど。
163デフォルトの名無しさん
垢版 |
2018/08/25(土) 22:51:17.33ID:KMExyDFm
PowerShellとCOMってGCの方式が違いますよね
一方は世代別GC、一方は参照カウント
GC方式の違うものを混ぜるとメモリリークしますよ
>>159はメモリリークしますよ
2018/08/25(土) 22:51:56.89ID:Jrsn7acQ
>>159のソースはそのままで動くの?
2018/08/25(土) 22:52:25.25ID:t7aLMQyu
>>162
あなたの主張はデタラメです
パワーシェルはワンライナーであらゆる処理を書けるほど表現力が高く、基本ライブラリが充実していることは確かに事実ですが
だからと言ってなんでもワンライナーで書くわけではありません
パワーシェルのユーザーは
1つのコマンドで1つの仕事を上手くこなす
コマンドを組み合わせて大きな複雑な仕事をこなす
というシェルプログラミングの良い習慣をもちろん知っています
論より証拠ということで>>143のリンクをみてください
2018/08/25(土) 22:53:00.08ID:t7aLMQyu
>>163
しませんよ
リークするなら証拠を提示してMicrosoftに報告してください
167デフォルトの名無しさん
垢版 |
2018/08/25(土) 22:53:11.40ID:KMExyDFm
>>161
いま開いてるExcelのシート名変えるってことなら問題ないですよね
じゃあそれで、むしろそれで

現在開いてるExcelのシート名をPowerShellで変えるにはどうしますか?
2018/08/25(土) 22:53:42.68ID:r5O9PJUC
>>99 > 呼吸することを自慢する人間はいない

>>129 > 例えば隣に座ってるおじさんが呼吸してなかったら驚くし声をかけるだろう?

こんな脈絡のないことを言い出してて驚くわ
まあ気味悪いから対面してたら放置するけど w
169デフォルトの名無しさん
垢版 |
2018/08/25(土) 22:55:26.08ID:KMExyDFm
>>166
マイクロソフトも認識してます
だから.NETにはReleaseComObjectという
COMのためのメソッドが用意されてます
あなたのコードにはメモリリークのバグが存在します、僕はあなたにそれを報告します
2018/08/25(土) 22:59:43.30ID:t7aLMQyu
>>167
[Runtime.Interopservices.Marshal]::GetActiveObject('Excel.Application').ActiveSheet.Name = "NewName"

逆に聞きますが、エクセルが起動していない時に、指定のブックの指定のシートの名前を変えるVBAコードは、どうやって書けばいいのですか?
171デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:01:55.95ID:KMExyDFm
>>170
まずExcelを起動します
開発のボタンを押してマクロエディタを起動します
そしてワンライナーの一撃コードを実行します
これがVBAの正規の手順です
172デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:03:45.08ID:KMExyDFm
[Runtime.Interopservices.Marshal]::GetActiveObject('Excel.Application').ActiveSheet.Name

これ暗記してるん? すごい
173デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:04:21.09ID:KMExyDFm
メモリリークしてますけど
2018/08/25(土) 23:04:53.64ID:3sYR2W/i
便乗で聞きたいんだけど
powershellでVBAの定数はそのまま使えるの?定数をCOMか何かからロードしたりするの?
あと名前付き引数とかどう処理するの?
2018/08/25(土) 23:05:39.78ID:t7aLMQyu
>>169
ReleaseComObjectは速やかに参照カウントを減らすためのものです
それを実行しなくてもGCやプロセス終了時にリソースが解放され参照カウントも適切に処理されるので安心してください

明示的にReleaseComObjectを呼ばなければリークする、などという危険な状態を主力商品の1つである.NET上で放置するほどMicrosoftは怠惰ではありません
2018/08/25(土) 23:06:53.30ID:Jrsn7acQ
>>169
思った通りのレスですねw
2018/08/25(土) 23:07:44.56ID:t7aLMQyu
>>171
それでは手間が多すぎます
おそらく手作業でシート名をクリックして名前を入力する方が早いでしょう
2018/08/25(土) 23:09:52.00ID:t7aLMQyu
>>173
証拠の提示をお願いします
メモリリークの場合最低でも次の3つは欲しいですね

再現性のあるメモリリークを起こすコード
メモリを測定するコード
あなたの環境で測定したデータを分析したレポート
179デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:10:23.46ID:KMExyDFm
>>175
参照カウントじゃないから参照なくなってもGCが動くことが保証されないですよ
プロセスがすぐ終了するかも仕様次第ですし、博打プログラミングですよ

GCの方式が違うからこれは技術的にどうしようもないんですよ
怠惰ではないです、むしろマイクロソフトは頑張ってる方ですよ
実装者の知識と努力に期待せざるを得ないのは宿命です
180デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:12:21.64ID:KMExyDFm
>>177
こう考えてください、VBAを書くときExcelは起動してるんです
マクロエディタも起動してるんです、手間なんて何もありません
手作業では大変なことを行おうとしてるさなかのシート名変更ということですね
181デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:14:42.41ID:KMExyDFm
>>178
GC方式が違う、それが証拠です
PowerShellにデストラクタが存在しないことが
GC方式が違うことの証拠です
GC方式とソースコードからメモリリークは明らかです
明らかなものに調査はそれ以上の調査は必要ありません
2018/08/25(土) 23:14:59.37ID:t7aLMQyu
>>179
すぐには回収されないだけとリークするの間には深い溝があります
遅くともある時点までには解放されることがわかっているわけですから、博打でもなんでもありません
.NETにはそれをコントロールする術も用意されています
183デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:17:12.93ID:KMExyDFm
>>182
コントロール術が用意されてるならそれを使ってコードを書いてくださいよ
解放されることはわかりませんよ、.NETでGCが行われることは保証されません
.NETにはデストラクタがないでしょう? それが証拠です
2018/08/25(土) 23:19:11.39ID:t7aLMQyu
>>180
いいえ
残念ですが起動していないことの方が多いでしょう
もし起動していたとしてもシート名を直接変える方がマシです
2018/08/25(土) 23:20:33.06ID:7hA7VMUm
excelのマクロの効率的な書き方について相談できるサイトってどこかにある?仕事の話なのでこういうところに公開することはできないので…
2018/08/25(土) 23:22:33.22ID:t7aLMQyu
>>181
支離滅裂で全く明らかではありません
GCでインスタンスが回収されると自動的に参照カウントが適切に処理されます
したがって何もせずともリークは起こりません
回収が少し遅れるだけです
2018/08/25(土) 23:24:33.26ID:Jrsn7acQ
>>184
Excel VBAを実行するのにExcelファイルが開いてない??
支離滅裂ですね。
2018/08/25(土) 23:25:30.09ID:t7aLMQyu
>>183
[GC]::Collect()

CLRではデストラクタではなくファイナライザがサポートされています
ご安心ください
189デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:25:42.27ID:KMExyDFm
>>185
マイクロソフトのフォーラムとかどうだろ

Technet フォーラム
https://social.technet.microsoft.com/Forums/ja-jp/home
190デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:26:47.14ID:KMExyDFm
>>188
ドトネトーは世代別GCなので1回実行しても回収される保証はないですよ
2018/08/25(土) 23:29:32.44ID:t7aLMQyu
>>187
あるブックのあるシート名を変えたいと思った時にエクセルが都合よく開いているとは限りません
192デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:31:35.44ID:KMExyDFm
>>188

Object.Finalize メソッド (System)
https://msdn.microsoft.com/ja-jp/library/system.object.finalize(v=vs.110).aspx

| ガベージ コレクションは非決定的であるため、ガベージ コレクターが終了処理を実行すると正確にわかっていません。
| リソースを解放する、すぐにこともできますを実装する、 dispose パターンとIDisposableインターフェイスです。

マイクロソフトも半分支離滅裂ですがファイナライザの使用が非推奨なことが読み取れます
IDisposableインターフェースが用意されてるくらいです
2018/08/25(土) 23:33:01.95ID:t7aLMQyu
>>190
引数なしのCollectはすべてのジェネレーションのガベージコレクションを直ちに強制実行します
194デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:34:23.56ID:KMExyDFm
>>193
勉強になります
2018/08/25(土) 23:35:38.63ID:Jrsn7acQ
>>191
Excel VBAを実行するのだからExcel ファイルは開いてますよ。
指定のファイルが開いてないってことを言いたいの?
その場合の処理はあなたのPower shellのコードと大差ないけど。
196デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:35:49.52ID:KMExyDFm
でもそれを呼ぶ前に全部のメモリ参照をなくす必要があります
それってできますか? PowerShellの変数スコープは変態ですから
事実上不可能です
2018/08/25(土) 23:40:52.15ID:t7aLMQyu
>>192
MSDNの翻訳が酷いことは有名なのでそれは我慢しましょう

リソース解放の時期をコントロールしたいなら決定的なIDisposableを使ってください
決定的でなくても問題がないならIDisposableに頼る必要はありません

スクリプトの利用形態から考えるとプロセスの寿命は非常に短くなります
これはエクセルインスタンスが本当に必要なくなった瞬間とプロセスの終了が時間的にほとんど離れることがないということです
このような場合では決定的な解放にこだわらなくても問題にはなりません
2018/08/25(土) 23:45:22.40ID:t7aLMQyu
>>195
私の書いたコードでは指定のブックを開く必要がありません
199デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:47:08.86ID:KMExyDFm
>>197
そうとも限らないと思います
スクリプトを使うということは手作業での作業が煩わしく
それを効率化したいという欲求があるためです
スクリプトを書くとき、その時は常に手作業を躊躇する程の事態が発生している
状況と考えるべきで、ある処理がメモリを使んで離さなくて別の処理が
完了できないという経験を僕は山ほど経験してきました
メモリ管理を甘く見ると痛い目を見ます痛い目を見ます
200デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:47:54.93ID:0r5h6/lL
パワー系池沼シェル
201デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:52:33.06ID:KMExyDFm
>>198
パワーシェルのスクリプトを作成して
コマンドプロンプトを起動して
コマンドを入力する必要があるじゃないですか

その時間使ってExcelを起動しましょう
VBAなら一撃です
2018/08/25(土) 23:54:08.14ID:t7aLMQyu
>>196
処理を適切に構造化して変数のスコープを無闇に伸ばさなければ、自然と不要な変数の参照は辿れなくなります

そして先ほども書いたようにスクリプトはプロセス全体の寿命も短くなりやすいので
変数のスコープはそれほど問題にはなりません

どうしても変数をクリアしたいならClear-Variableというコマンドレットがあります
個人的に使う機会がないコマンドレットですがスコープとワイルドカードを指定してまとめて変数を消去でるそうです
2018/08/25(土) 23:55:26.38ID:Jrsn7acQ
>>198
>>156
$app = New-Object -ComObject Excel.Application
$book = $app.Workbooks.Open($targetFilePath)
$book.Worksheets($targetSheetIndex).Name = "NewName"
$book.Close($true)
$app.Quit()

ファイル開いてるけど、頭おかしいの?
2018/08/26(日) 00:02:52.04ID:MAEGr9r4
>>199
シビアなリソース管理が必要ならその時に適切なコードを書けばいいでしょう
なにもすべてのスクリプトを怠惰に書けと強制しているわけではないのですから
ですがほとんどの日常作業でそこまでシビアなリソース管理が要求されることはありません
それとリソースの不足は非決定的なリソース解放よりも非効率的なアルゴリズムが原因で発生することが多いということは知っておいた方がいいでしょう
2018/08/26(日) 00:05:13.99ID:MAEGr9r4
>>201
あなたの書いたコードは名前を変えたいと思うたびにブックを開かなければなりません
シェルを1度起動してパラメータを変えるだけとは訳が違います
2018/08/26(日) 00:05:54.18ID:MAEGr9r4
>>203
開いているのはプログラムです
手作業で開くのとは全く意味合いが異なります
2018/08/26(日) 00:07:41.89ID:MAEGr9r4
というか話を戻しますが>>79への解答はまだですか?
どうやら関係ないPowerShellの質問を繰り返して話をそらして逃げようとしているようですが忘れていませんよ
208デフォルトの名無しさん
垢版 |
2018/08/26(日) 00:12:16.95ID:IHxJX3F+
>>207
失礼な、僕は逃げも隠れもしません
>>79に対する解答をお示しします、ご査収ください

Files = ReadCsvFiles("*.csv")
Data = ReadCalcPower(Files)
Sort Data, "desc"
ExportExcel Data
209デフォルトの名無しさん
垢版 |
2018/08/26(日) 00:18:26.74ID:IHxJX3F+
>>204
アルゴリズムが大事なのは知ってますが
スクリプトでExcelを操作するときには計算量を気にしなければ
いけないほどのアルゴリズムを使うことはありません

やることはせいぜいシートの名前を変えて
コピーして集計して並べるくらいでしょう

問題はリソースリークなんです、関数を作りまくって
GCを呼びまくりますか? 僕の目にはそれは狂気と映ります
210デフォルトの名無しさん
垢版 |
2018/08/26(日) 00:19:56.82ID:IHxJX3F+
>>205
VBAでブックを開きたくなりましたか? 教えましょう
Workbooks.Open "C:\Book1.xlsx"
一撃です

VBAは一撃です
2018/08/26(日) 01:39:01.53ID:LgI1E3BQ
プロセス終了で必ず開放するんだから必要ならそういうスクリプト書けばいいんじゃないの
powershellに限らずリーク問題を解決するためにプロセスサーバ的な構成にしたりするけど
2018/08/26(日) 01:45:08.66ID:L5No1MGJ
>>189
あ、想定してたのはフェイスtoフェイスで相談かメールで相談する形式なんだけれど、そういうのはやってないかなあ?
2018/08/26(日) 07:13:59.14ID:4dFHA/W/
>>206
えっとまさか、実行に必要なファイルを全部手で開かないといけないと思ってたの?

バカ丸出しですね。
2018/08/26(日) 07:57:33.17ID:w0D5YFHr
PowerShell から、Excel, IE とかは、別プロセスを起動するだけだろ?
シェルって、別プロセスを起動するものだろ?

GC のやり方の違いなんて、関係あるか?
215デフォルトの名無しさん
垢版 |
2018/08/26(日) 08:36:31.73ID:2yDRx5ys
VBAの質問です

指定フォルダを再帰的に検索してファイル名が*.csvにマッチするCSVファイルを列挙
各CSVからX列, Y列, Z列を読み取ってD := (X^2 + Y^2 + Z^2)^(1 / 2)を計算する
Dの大きい順に並び替えてX, Y, Z, Dを新規Excelブックに出力して
出力した全行をテーブルレイアウトに変更する

というプログラムを作りたいのですがどのように書けばいいでしょうか?
2018/08/26(日) 08:56:15.82ID:4dFHA/W/
>>215
Excelに出力するって内容を足したのかw
しかもワンライナーって条件を外したのねw
その内容をPower shellのワンライナーでどうやるんだろうねw
2018/08/26(日) 09:04:51.11ID:Kp4FoNKX
>>216
>>79 と同じだよ?足したのは「VBAの質問です」だけ
2018/08/26(日) 09:05:46.45ID:4dFHA/W/
>>217
ごめんなさい、見落としてました。
2018/08/26(日) 10:12:36.02ID:H+C43I2p
>>208
>Data = ReadCalcPower(Files)

ここだけは許さんw
220デフォルトの名無しさん
垢版 |
2018/08/26(日) 11:26:25.25ID:uHGK9EwR
頭の悪さを全力で競い合ってるスレがあると聞いて飛んできた
どれも最底辺レベルで甲乙つけがたいな
2018/08/26(日) 11:28:33.75ID:umld+6tZ
大昔何かの雑誌でBASICで一行ゲームとかネタでやってたのを思い出した

>>90 こんなの処理系にパイプ処理があるかないかだけの違いだろ
一行記述できるかどうかは、一行に記述できる最大文字数に加えて
パイプで記述できるか、一命令の区切り記号が設定してあるかくらいで決まる
区切り記号は、C系(C#)では;か}、昔のBASICでは:があったしLISPなんかは括弧で区切ればいくらでも書ける

ワンライナーなんて対話的に使う時に一々スクリプトを立ち上げたり面倒なので使うもの
可読性が悪くなるだけなのでプログラムで絶対に使うもんじゃない
昔のPCのメモリも少なかったのでそれなりに意味はあったんだけど捨てられた

今ではせいぜいネタ、言語のの優位性とは完全に無関係
222デフォルトの名無しさん
垢版 |
2018/08/26(日) 11:30:23.98ID:IHxJX3F+
Excelらしくやるならインポートが先かな
1. インポート_CSV
2. 追加_数式列
3. ソート_数式列
4. 変換_テーブルレイアウト
Excelのパワーをフル活用したいものだね
2018/08/26(日) 11:31:45.33ID:umld+6tZ
>>220 ほんこれ
2018/08/26(日) 11:35:30.27ID:MAEGr9r4
>>220
ここはVBAスレだぞ
225デフォルトの名無しさん
垢版 |
2018/08/26(日) 11:45:34.46ID:IHxJX3F+
>>212
僕らの田中さんにお仕事依頼してみるとか

Office TANAKA - お問い合わせ
http://officetanaka.net/mail/index.htm
2018/08/26(日) 11:49:13.32ID:MAEGr9r4
>>221
流れるようなインターフェースとかパイプラインを使ったワンライナーはモダンなプログラミングでは常識的なテクニックだよ
太古の時代から時が止まってるVBAのユーザーは知らないかもしれないけど
例えばc#のLinqやJavaのstreamなどはもろにパイプラインから影響を受けてるよね
VBAしか使わないのかもしれないけど少しは興味もって知識をアップデートしたら?
2018/08/26(日) 11:53:35.10ID:CIvHkKPl
>>226
VBAにそんなの必要無い
ただの事務員にStreamなんて理解できるわけないだろう
2018/08/26(日) 11:58:27.72ID:4dFHA/W/
>>224
低レベルの先頭切ってるのはお前なんだけどw
2018/08/26(日) 11:59:00.96ID:MAEGr9r4
>>227
必要あるなしでいったらなにも必要ないよ
手作業だけでも仕事はできる
そうじゃなくて、より良い方法はないか?って模索していくことが大事なんだろ
つーか事務員がstreamを理解できないなんてのも決めつけでしかない
所詮は部品の組み合わせだから、手続き型のアルゴリズムを理解するよりずっと簡単だよ
簡単で効果的だから様々な言語が挙って似たような機能を導入したんだ
2018/08/26(日) 12:01:32.97ID:MAEGr9r4
>>228
の割にはVBAコードが何にも出てこないよな
低レベルのPSerが息をするように簡単に書ける処理を
これだけ時間をかけて答えることができたVBAerがまだ一人もいないってちょっとレベル低すぎでしょ
2018/08/26(日) 12:03:51.56ID:4dFHA/W/
>>230
開いているのはプログラムです!
だってw

コードうんぬんの前の話ですね!
2018/08/26(日) 12:04:43.65ID:4dFHA/W/
>>230
どう言う意味だか教えて欲しいですよ!
2018/08/26(日) 12:09:14.50ID:Kp4FoNKX
ID:4dFHA/W/
こいつなんなの?誰にも無益なレスばかり
2018/08/26(日) 12:11:11.72ID:MAEGr9r4
>>231
確かに
VBAerはコードを絶対に書こうとしないからコードがどうこう以前の問題なんだよな
意見するのはかまわんけど最低限、コードを書いて実証してからにしてほしいよね
コードも書かずに意見しても、うちで修行すれば空飛べるぜー、とか豪語する真理教のおっさんと大差ない
まさに戯言になってしまう
なんでvbaerさんまずはコードを書きましょう
>>79への解答待ってます
2018/08/26(日) 12:13:53.71ID:CIvHkKPl
会社のPCにしかExcel入ってないから無理
2018/08/26(日) 12:15:34.05ID:NdNCtt3a
ユーザー系の仕事でVBAつったら、事務員のスプレッドを少し自動化したものから、業務知識鬼のベテランがプログラム ちょっとかじったものまであるけど、最近またRPAバブルで前者を移植することになった

このRPAっつー半分胡散臭いものが流行るおかげでワシらオッサンPGが食っていけるわけだが、いかんせん胡散臭い
2018/08/26(日) 12:16:54.34ID:4dFHA/W/
>>233
バカなPower shellユーザーを追い出したいだけ。
このスレにとっては最高に有益だと思うけど。
2018/08/26(日) 12:17:40.69ID:4dFHA/W/
>>234
>>231は君の書き込みの引用なんだけどw
239デフォルトの名無しさん
垢版 |
2018/08/26(日) 12:27:21.24ID:IHxJX3F+
>>234
これ一個ずつやってみたらどうだろ?
VBAの実装の仕方がわからないって質問ですよね

1. インポート_CSV
2. 追加_数式列
3. ソート_数式列
4. 変換_テーブルレイアウト

自分で調べてみてそれでもわからないことが
出てきたら具体的に聞いてもらうということで
2018/08/26(日) 12:27:42.40ID:Kp4FoNKX
無能な味方が無自覚にバックファイアしてるようにしか見えん
241デフォルトの名無しさん
垢版 |
2018/08/26(日) 12:30:12.52ID:IHxJX3F+
他人を値踏みするスレじゃないですし
他人と自分を比較して自信をつけるスレでもないと思うんですよ
Excel VBAでわからないことがあったら質問するスレということで
ご理解賜りたいと思う次第でございます
242デフォルトの名無しさん
垢版 |
2018/08/26(日) 12:31:08.57ID:IHxJX3F+
>>240
議論に敵も味方も勝ちも負けも良いも悪いもないと思うんですよ
みんなで意見を出し合ってVBAパワーを高め合いましょう
2018/08/26(日) 12:38:03.33ID:gb73y82y
>>536
dbからcsvでブッコ抜いた、300万件程度のレコードのなかから
〜って条件に該当するレコードをExcelで抜いてくださいと言われたことがあって困惑した

Excelじゃ無理だといったら「なんで出来ないのか、PGなんだからできるでしょ」みたいな言い方された
1週間あげるから、1週間でExcelであげて欲しいと・・

結局なんとか、Excelじゃなくてもいいと説得してその日のうちに
仕上げたら「早すぎるのじゃないか」「正確性が心配だ」と文句言われた



ことを思い出した
2018/08/26(日) 12:40:55.31ID:4ngh3oqJ
だからなんで読んだ瞬間に組めると思うようなアホ臭い処理で比較してるんだよ。

頭悪いなあ。
そんなもんで比較してもVBAの優位性は変わらんぞ。
Excel上から実行出来るとか1ファイルで済むとか。

例えばフローレイアウトを使うことは無いと思うが、あれならまだ分かる。
あれはVBAじゃ無理だと思うからな。
見て組めると思うようなものをわざわざこんな所で披露するのはアホだと思う。

そんなもんは仕事でやれ。
そんなくだらないことをする時間がもったいない。
2018/08/26(日) 12:42:38.16ID:Kp4FoNKX
今のExcelって100万行/シートだから3つか4つのシートに分割して読み込んで処理すれば不可能ではないよな、65000行時代なら考えたくないが
2018/08/26(日) 12:43:02.28ID:L5No1MGJ
>>225
マクロの作成の依頼は無いみたいね。
あまりみんなこういうのやらないのかな。
2018/08/26(日) 12:45:59.62ID:MAEGr9r4
>>243
VBAにこだわる人ってそんなもんよ
2018/08/26(日) 12:46:25.60ID:4ngh3oqJ
>>243
いや、仕事でやったことあるぞ。
もっとデータ多かったと思う。
それに引っこ抜くだけじゃなくて、それで演算もしてた。

今、計算してみたらデータは26280000以上だった。
正確には分からないけど多分倍以上だな。
2018/08/26(日) 12:48:32.93ID:MAEGr9r4
>>244
VBAだと組むのに多大な労力がかかるからレスバトルごときではやりたくないんですよね
その気持ちわかります
これがVBAでもスラスラ短く書けるものだったらほれみたことかと言わんばかりに嬉々として解答してくれていたのでしょうね
250デフォルトの名無しさん
垢版 |
2018/08/26(日) 12:52:38.54ID:IHxJX3F+
>>246
ホントだ受け付けてないんだね
251デフォルトの名無しさん
垢版 |
2018/08/26(日) 12:53:11.08ID:IHxJX3F+
バトルだったのかー
2018/08/26(日) 12:53:15.29ID:4ngh3oqJ
1000個所以上(多分倍以上)の場所から1時間毎に取得したデータ3年分だな。

これをある時間毎に平均をとって1日に24個の平均値を作り、その最大をその日のデータとする。
で、それを3年分の日数取ってきて・・・
みたいな。
2018/08/26(日) 12:56:49.15ID:4ngh3oqJ
>>249
いや、スラスラとか関係ない。
5分で出来るものが20分になっても大したことない。

出来ないものは出来ないし、
何とかして頑張って出来るというものだったら5分が10日とかになる。
そういう方が問題。
解決策がみい出せるかどうかの方がよっぽど重要だよ。
254デフォルトの名無しさん
垢版 |
2018/08/26(日) 12:57:52.90ID:IHxJX3F+
     /⌒ヽ
\ ⊂[(_ ^ν^)     決闘状を申し込む!
  \/ (⌒マ´
  (⌒ヽrヘJつ
    > _)、
    し' \_) ヽヾ\
          丶_n.__
           [I_ 三ヲ (
              ̄   (⌒
            ⌒Y⌒
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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