Excel VBA 質問スレ Part53

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


※前スレ
Excel VBA 質問スレ Part52
http://mevius.5ch.net/test/read.cgi/tech/1517052305/
2018/04/27(金) 22:09:27.05
>>6
で、結局仕様がよく分からないんだけど、
A8に1、A9に2、A10に3、A11に4、A12に5、A13に6、A14に7
という形で連続した行番号が入っているの?
空白セルがあったらその前の行が最終行とみなしていいの?
5行ずつの場合、A8(1)からA14(7)までのデータがあったら
印刷するのは3回で、1回目はF1に1を格納して印刷、
2回目はF1に6を格納して印刷、3回目はF1に11を格納して印刷ってことでいいの?
(最初は2行ずつで偶数と言ってたけど、どうやら5行に変わったみたいなので)
2018/04/28(土) 08:11:58.78ID:bL+b5Osr
この納品書出力アプリってまさに
・入出力とデータが分別できてない
・MVCを理解していない
の典型例だな
VBAerって本当にこういう酷いユーザーが多い
素人の事務員さんならまあ許すけど、本職がプログラマでもExcelになるとなぜかこういう酷いツールを作る人が出てくる
2018/04/28(土) 08:27:14.36ID:Ydf4b474
こんな基本もわからない奴に迂闊に教えると、そいつの会社へのテロに加担するようなもんだぞ
12デフォルトの名無しさん
垢版 |
2018/04/28(土) 08:40:20.51
糞みたいな構成のシートとVBAコードでも最終的にやりたいことができて
それまで手動で6時間かかってた作業が3時間で終わるようになったらええやん
その間PCで作業はできないから新聞読んだりダベったりしてればいいよね
ちゃんと作ったらバックグラウンドでPC作業を邪魔せず30分で終わるかもだけど
2018/04/28(土) 09:01:21.06ID:bL+b5Osr
使い捨てを含めて長期にわたりメンテナンスの必要性がない
運用中に入力のストレスが無い
レスポンスが許容できる
バグが無い

これだけ満たしてれば中身が悲惨でもいい
でも現実にそんなケースは殆ど無い
だから中身をクリーンで改良しやすい状態に保たなければならない
14デフォルトの名無しさん
垢版 |
2018/04/28(土) 09:07:58.99
>>13
んなこたあない
無駄や欠点があってこそ雇用が生まれる
2018/04/28(土) 09:11:16.45ID:bL+b5Osr
>>14
なら全部手作業でやれば?
確かに雇用は増えるだろう
国際競走にはぼろ負けするけどな
16デフォルトの名無しさん
垢版 |
2018/04/28(土) 09:14:13.80
>>15
1か0かの極論でしか物を考えられないんですね^^
2018/04/28(土) 09:17:17.40ID:bL+b5Osr
やれやれ皮肉も通じないか
2018/04/28(土) 09:58:31.27ID:hSIpEl6G
ずっと張り付いてる人いるねw
2018/04/28(土) 10:32:10.98ID:8ncxUL6T
誘導無しのスレ立て直後に>>2をレスしてっから粘着に命かけてるよな
しかもMVCだの国際競争だのと意識高い系が好みそうなワード

そんで小うるさい割に「アプリ」の定義が正確じゃないんで
「なんかかっこいいから」っていうふざけた理由でSEになって心が折れたタイプで
かつて自分が言われてた事を内容を理解せずにそのまま吐き出してるとかなんじゃないの
2018/04/28(土) 10:34:26.97ID:6KVqpJhf
>>10
せっかくなんでMVCの基本と言うのを教えてもらえませんか?
2018/04/28(土) 10:35:35.99ID:BFoQSfBk
VBAのスレで雇用とか国際競走とかってw
2018/04/28(土) 10:40:32.78ID:Q4Sv8Uvy
ゆとりの馬鹿が来るとこうなる
ホント迷惑
2018/04/28(土) 11:01:36.00ID:bL+b5Osr
ゆとりVBAerはカスだよなぁ
24sage
垢版 |
2018/04/28(土) 11:20:38.79ID:Gwyos15m
>>8
できました。ありがとうございました。
25デフォルトの名無しさん
垢版 |
2018/04/28(土) 14:36:45.18ID:VMgQedNe
>>19
なかなかのプロファイリングスキルやなw
言っとっけどマジに褒めとるんやでw
2018/04/28(土) 15:00:33.62ID:9z8isRDe
>>21
ソフトウェアじゃない業界での国際競争って意味なら大いに関係あるし、VBAってそういう用途でしょ
27デフォルトの名無しさん
垢版 |
2018/04/28(土) 15:08:42.01
>>26
国際競争やないで、国際競走やでw
2018/04/28(土) 15:50:37.14ID:9z8isRDe
>>27
w
2018/04/28(土) 15:58:28.39ID:hSIpEl6G
>>26
国際競争になりそうなところはシッカリしたソフト作らないとダメだと思うよ。
それをVBAでやろうとするのは流石にどうかしてる。VBAでできるのは人力でカバーできる範囲で楽になるかならないかってところだと思う。
国際競走では知らんけどw
2018/04/28(土) 16:39:30.81ID:9z8isRDe
>>29
ソフトウェアそのものの力の意味だったら仰る通り
ま、労働効率・生産性って意味の競争力ね
2018/04/28(土) 17:07:17.48ID:8ncxUL6T
RubyマンはMVCデザインパターン推しとアプリという言葉の使い方から、
クソみたいな人材が大量雇用されるWebアプリ業界の人間だと思うけど、
そこで言われる競争力だの効率だのってのは新人のケツ叩くためのものだから真に受けない方がいいぞ

ついでに言えば雨後の竹の子の様に生えてくるWebアプリ開発に追いつく為に開発効率が重視されるRubyだのPythonだのと、
社内で飽きるほどやった事務作業を決まった手順で再現可能にすりゃいいだけのVBAじゃ分野が全然違うしな
2018/04/28(土) 17:18:45.53ID:A81EbSS8
>>24
いいってことよ(´・ω・`)b
2018/04/28(土) 19:58:17.34ID:bL+b5Osr
>>31
業務作業のオートメーションが目的ってのはVBAとか関係ないわな
俺がメインで使ってるC#もJavaも同じWeb屋が使うRubyなんかも同じ

MVCがWeb屋の専売特許みたいな勘違いをしているのかもしれんがMVCはGUIアプリケーションを作る際の伝統と実績のあるパターンだよ
MVCはWebアプリでもデスクトップアプリでもスマホアプリでも通用するものだ
Excel VBAで作るようなアプリの多くはデスクトップGUIアプリに分類できるからMVCはExcel VBAでも恩恵を得られる
そしてそれは生産性を高めるだけではなくプログラムの見通しを良く設計をしやすく保守性を高める効果がある
誰だって同じものを作るなら早く綺麗に作りたいと思うだろう
VBAerは偏屈だからそうではないのかもしれないが……

分野が違うなどと言うがITの世界では色んな物や知識が繋がっているものなんだよ
VBAという狭い世界に閉じこもっているから気が付かないだけでね
VBAerはもっと積極的に色んな言語や環境に手を出して見聞を広めるべきだよ
34デフォルトの名無しさん
垢版 |
2018/04/28(土) 20:31:10.11
やっぱりWeb屋だったか
自分で起業して一発当てれば大きいが
雇われエンジニアとしては最底辺の業界
2018/04/28(土) 22:42:41.40ID:6AYZ4JmZ
Excel VBAでGUIアプリねぇ
表計算のシートで正規化とか言い出すより失笑もんだな
2018/04/28(土) 23:09:17.56ID:hSIpEl6G
VBAユーザーの多くはプログラマじゃなくて事務屋だってのが理解できないんだな。
MVCだの設計だのって本職じゃない人がどこまでやるってんだろう。
プログラミングは手段であって目的じゃないんだよ。
偏屈なweb屋には理解できないだろうけどw
2018/04/29(日) 00:14:51.00ID:hAJLRgtx
エクセルエンジニアは、プログラマーじゃない普通の社員。
プログラマーは、プログラミングができる専門家

出される問題が表計算なら、エクセルエンジニアでもできるけど、
出される問題がプログラミングなら、プログラマーじゃないと出来ない

出される問題によって、解決者や手法を変えないといけないが、
それをせずに、エクセルとエクセルエンジニアでやろうとするから無理

ループしたり、条件制御したり、解決すべき問題が、プログラミングになってる。
それが、エクセルとエクセルエンジニアの問題としては、おかしい
38デフォルトの名無しさん
垢版 |
2018/04/29(日) 00:24:10.94ID:WGmi9FI0
>>37
そんな遠慮する必要はどこにもないぞ
普通の社員だろうがプログラマじゃなかろうが、
まともなプログラミングができて仕事に活用できるなら、
それは強みになるってだけだ。
2018/04/29(日) 00:42:13.25ID:uTtrmgKE
>>36
だったらプログラム板から出ていくのが筋だろう
事務処理技術板なんてのがあるか知らんがそっち系の板を探してそっちでやれ
ここはあくまでプログラム専門の板だ
プログラムに関する専門的な話をするための板だ
事務員でしかないエクセルエンジニアの居場所じゃない
2018/04/29(日) 00:46:03.87ID:6PV86YGg
MVCとか設計に拘るんならそういうスレが別にあるんだからそっち行けば?
2018/04/29(日) 00:49:33.41ID:OxSnUJcm
>>39
本職のプログラマ以外はプログラムの話をしてはいけないのか?
えくVBAのスレでVBAは使えないと連呼する奴が出て行くのが筋だろうにw
2018/04/29(日) 08:14:17.07ID:WGmi9FI0
「ど素人が来るな」はまあわかるけど、さすがにプロが来る場所じゃないよね
2018/04/29(日) 08:21:43.18ID:cmKSXaTU
いや、ここ質問スレだからど素人の来る場所ですし・・・
2018/04/29(日) 08:28:00.43ID:tvmCKeNo
質問スレだからと言っても限度がある
2018/04/29(日) 10:54:52.98ID:uTtrmgKE
事務員専用とプログラマ専用とでスレを分ければいい
事務員専用VBAスレでは前スレの納品書みたいな話題を永遠に繰り返す
プログラマ専用VBAスレではより良いプラクティスや設計論、他ツールとの連携、代替、移行などもう少し高度な議論を扱う
お互いレベル差ありすぎて関わり合いたくないだろう
2018/04/29(日) 11:02:41.41ID:3LH0pXZd
現場の事務員がどんな酷いマクロを作ってるのか、プログラムをどんなアバウトな感覚でイメージして外注に出してるかをプロのVBAプログラマが知るにはうってつけの場所だと思うけどな、ここは
2018/04/29(日) 11:06:46.99ID:cmKSXaTU
>>45
んじゃPythonスレをプログラマ専用として活用してくれ
当然君はハイレベルだからPythonスレ行って、こっちのローレベルなスレには関わらないでくれるだろ?
2018/04/29(日) 11:08:48.93ID:uTtrmgKE
>>47
んー意味不明だね
どうしてVBAからPythonに飛んじゃったの?
2018/04/29(日) 11:10:12.32ID:hkCcAsD/
レベルが云々とかあまり関係なくね
ブラウザ自動化だの文字コード変換だのがExcelのやるべき仕事なのかって話で
2018/04/29(日) 11:19:57.15ID:cmKSXaTU
>>48
「関わり合いたくないだろう」とか言いながら、体裁よく追い出されそうになると焦るってなかなか可愛いな

一応答えておくと、Pythonスレが既にあって使われてないからだよ
あっちのスレなら外部連携の話したって支障ないだろうし、是非あっちの住人になってくれ
そしてこっちのスレを覗きさえしなければ君の望んだ環境になるだろ
2018/04/29(日) 11:21:22.73ID:cmKSXaTU
>>48
そういやURL無かったな

Excel Python 質問スレ
https://mevius.5ch.net/test/read.cgi/tech/1517018055/
2018/04/29(日) 11:26:36.94ID:uTtrmgKE
>>50
流れ理解してる?
2018/04/29(日) 11:45:11.32ID:OxSnUJcm
関わりたくないなら出ていけばいい、誰も拘束してないよ。
それにプログラマ専用VBAスレなんて過疎るの目に見えてる。
プロの現場でVBA使うって聞いたことないしな。
探せばあるのかもしれないけど。
2018/04/29(日) 11:51:31.41ID:c7H/x4nv
質問!
VBAって何のことですか?
全くわからないのでゼロから詳しく教えてください!
55デフォルトの名無しさん
垢版 |
2018/04/29(日) 11:52:56.51ID:WGmi9FI0
プロは別格ってことで

プロがアドバイスくれるのはありがたいけど、
2chに来てドヤってるプロとかあまり想像したくはない
56デフォルトの名無しさん
垢版 |
2018/04/29(日) 12:18:58.04
やっぱり俺の中じゃVBAとかRubyとかPythonとかって
本職の事務員やらプログラマやらテスターやらが
片手間に触るものというイメージしかないから
VBAのプロの話はぜひ聞きたいなあ
2018/04/29(日) 12:40:03.64ID:zGBQ9cx5
プロさん窮地に立たされるw
2018/04/29(日) 14:24:38.72ID:hAJLRgtx
MVC みたいに、データと表示を分離して、
TDD とか、ソフトウェア工学に基づいて作っていれば良いけど

エクセルエンジニアも、ソフトを作っている者とみなせば、
ソフトウェア工学やテスティング手法を学ぶ必要がある

基本は、データと表示を分離して、テスト可能にしないといけない。
依存性注入・dependency injection (DI)
2018/04/29(日) 14:59:43.14ID:cmKSXaTU
MVCとかのマクロよりも上位概念のものは全部Excel Pytyonスレに持って行こうぜ
2018/04/29(日) 16:50:31.83ID:muZOcw7V
早く助けて!
VBAって何ですか?
2018/04/29(日) 17:33:55.74ID:9UWCeKik
Visual BASIC for Applications
(ビジュアルベーシック・フォー・アプリケーションズ、VBA)は、マイクロソフト製のMicrosoft Officeシリーズに搭載されているプログラミング言語である

https://ja.wikipedia.org/wiki/Visual_Basic_for_Applications
2018/04/29(日) 17:47:09.73ID:tvmCKeNo
搭載?
どこかにあるんですか?
何ができるんですか?
2018/04/29(日) 18:42:03.62ID:j8doNKq/
頑張って皮肉を書いているだろうけど
VBAが何なのかわからない奴 はこのスレまで辿り着けないと思うぞw
64デフォルトの名無しさん
垢版 |
2018/04/30(月) 07:49:26.19ID:a6pyjgPW
搭載の意味知らんだけやんかwプロさんw
2018/04/30(月) 12:11:01.74ID:7cXegnu0
>>10
コードを見ればすぐにHelloWorldに毛がはえたレベルとわかる。
それに対して本職だの言ってるお前のレベルもお里が知れるぞ。
2018/04/30(月) 12:12:31.44ID:7cXegnu0
>>13
アホ。
1回動かして終わりな場合も沢山あるんだよ。
VBAの場合は。
もちろんそうじゃない場合も沢山あるがな。
2018/04/30(月) 12:15:02.51ID:qiywFwa+
>>65
やれやれ
2018/04/30(月) 12:20:41.54ID:7cXegnu0
VBAは単にExcel、Access上で都合が良いから使ってるだけで、何かより上とか下とか、そういうもんじゃない。
Excel上で作業してる時に別の言語の話を持ち出されても困るんだよ。

Excel上にある表を加工する場合の方法なんて沢山あるが、Excel上で作業してる時に一番しっくりくるのはVBAなんだよ。
2018/04/30(月) 13:26:37.51ID:EYWg1Al3
インタラクティブかつ使い捨ての処理ってシェルやその他のスクリプト言語の得意分野だからexcelではやらんなぁ
excelが優位性を発揮する場面って表形式のデータを入力・編集する時ぐらいだろう
まあその場合でもVBAは使わんけど
2018/04/30(月) 14:44:17.61ID:0wPoBdag
エクセルに関するちょっとしたことをさせるために、実行環境を整えさせる手間を考えると、
VBAを使う以外の選択肢はないよ。

保存時にファイルのバックアップをリビジョンとして残すとか、VBA以外のなにでやれと
2018/04/30(月) 14:46:38.63ID:EYWg1Al3
え?gitでいいじゃん
2018/04/30(月) 14:48:25.80ID:EYWg1Al3
もっとも気軽に用意できる環境ってpowershellだと思うぞ
メニューからpowershell開くだけ
2018/04/30(月) 15:13:55.54ID:2XAlvibY
けっきょくRubyマンは、ここで構ってちゃんやる事に落ち着いたんだなw
2018/04/30(月) 15:15:09.06ID:2gOeUPtD
Excel自体を操作する場合はPowerShellやpython
VBAを使うのはユーザー定義関数を作るときぐらい
こんな感じで使い分けするようになった
75デフォルトの名無しさん
垢版 |
2018/04/30(月) 15:45:16.72ID:ppsFRTOd
高性能よりもお手軽さを優先するのが一般人なんだよね
俺もそうなんだけど
2018/04/30(月) 15:57:22.99ID:EYWg1Al3
手軽なpowershellがいいね
2018/04/30(月) 16:01:21.75ID:JIBHQrev
世の中にはいまだにWin7で仕事してる奴がいてな
78デフォルトの名無しさん
垢版 |
2018/04/30(月) 16:01:34.63
PowerShellってバージョンをかなり気にしなきゃいけなくて面倒なんだよね

Windows8.1/10で動くコードがWindows 7で動かなかったり

Excelのバージョンさえ気にしてればいいVBAが楽チン
2018/04/30(月) 16:05:07.20ID:JIBHQrev
って書いて
win7でpawarsell対応してるに始めて知って
2018/04/30(月) 16:10:13.77ID:JIBHQrev
ワシの事を「世間知らずの糞プログラマーが!!!」って言って言葉攻めしてくさい



それで逝きますのでな(´・ω・`)b
2018/04/30(月) 16:16:47.94ID:9DOSDrcb
ハード設計屋のオレがVBA使う理由は
職場の他の社員がそれくらいまでしか理解できないからだな

数万から数百万行のデータ使う時はVBAでは遅すぎるので
awkか面倒のはC#使うが、それだと後で自分しか使い回し出来ない
他の奴はテキストを小分けしてエクセル関数駆使してるわ
2018/04/30(月) 16:21:09.95ID:yTyfNq6A
>>81
DB使えよ...
2018/04/30(月) 16:23:02.64ID:9DOSDrcb
ちなみに本職のプログラマーに依頼すると
出来上がるのが数週間から数ヶ月掛かる、工数見積もり云々
今日、明日に結果が必要なのに
2018/04/30(月) 16:24:42.48ID:JIBHQrev
そりゃそうだ
合法的にぼったくりできるん奈良そうすると
2018/04/30(月) 16:26:16.10ID:JIBHQrev
要するに責任と責務と要求仕様のバランスやねん!(´・ω・`)b
86デフォルトの名無しさん
垢版 |
2018/04/30(月) 16:26:20.77
>>83
それな
このスレにも出没しているが、そういうプロ(笑)は費用対効果という言葉を知らない
2018/04/30(月) 16:31:09.30ID:JIBHQrev
今中華料理やにいるんだけど
「餃子とpawar sell くれ」って言ったら
殺されたぞ

(´・ω・`)b
2018/04/30(月) 16:38:10.85ID:+6yJ25bv
>>81
大量データの扱いはSQLなりでやるんでしょ?言語関係なくない?
2018/04/30(月) 16:44:31.62ID:2gOeUPtD
結局の所自分が使える、今まで使ってきたツールが一番使いやすいし最高だって話でしょ
そしてそれ以外のツールは時間がないのかスキルが無いのか食わず嫌い
2018/04/30(月) 16:48:17.42ID:EYWg1Al3
VBAというかエクセルのタチの悪いところは他人に強制させられることだな
これさえなければ非効率でもやりたい奴の好きにしてくれと言えるんだが
2018/04/30(月) 16:56:40.82ID:+6yJ25bv
事務仕事でよくありがちなアプリって、
対象フォルダ2〜3個、対象ファイルを5〜6個並べた領域と、マクロボタン一個みたいな
パターンが多いだろ。
あとはSQL文書くところとかID・パスワード入力エリアとか。
そういう設定を保存しておくのにエクセルブック一つで十分。ていうか最適解だと思う。
2018/04/30(月) 17:28:27.26ID:EYWg1Al3
設定はテキストファイルで十分っていうか最適解でしょ
2018/04/30(月) 17:39:37.37ID:2XAlvibY
とりあえずVBAに直接関係ない話はExcel Pythonスレでやろうぜ
94デフォルトの名無しさん
垢版 |
2018/04/30(月) 17:51:12.06ID:dZa8Dw2V
>>92
そのテキストファイルとアプリの関連をどう可視化するの?
2018/04/30(月) 18:00:27.88ID:EYWg1Al3
>>94
可視化ってなに?
96デフォルトの名無しさん
垢版 |
2018/04/30(月) 18:02:19.23ID:dZa8Dw2V
>>95
「このアプリのこの設定を変えるにはこのテキストファイルのここをこう変えればいい」
をユーザーにどう明示できるか
2018/04/30(月) 18:15:18.00ID:EYWg1Al3
>>96
そのまんまじゃん
「この設定ファイルのこの項目をこう変えればいい」

つうかユーザーに納品するようなものVBAなんかで作らねえっての何度も言ってるよねぇ
2018/04/30(月) 18:22:11.85ID:vxB4xISW
こんにちは
お助けください。

\5,000

といったテキストを、

5000

と数字だけにしたいのですが、

Replace(hoge, "\", "")

とやっても置換されません。

やり方後教示お願いします。
2018/04/30(月) 18:24:02.57ID:2XAlvibY
>>98
セルの表示形式変えればいいんじゃないの
100デフォルトの名無しさん
垢版 |
2018/04/30(月) 18:25:44.02ID:dZa8Dw2V
>>97
「納品」なんて言葉が出てくること自体
スレ違いって何度も指摘されているよね?
2018/04/30(月) 18:26:48.62ID:vxB4xISW
>>99
コメントありがとうございます。
ファイル等から配列に読み込んだデータなので、
データシートには移していないのです。
102デフォルトの名無しさん
垢版 |
2018/04/30(月) 18:29:28.12ID:dZa8Dw2V
>>101
イミディエイトウィンドウ上で
?CInt("\5,000"), CDbl("\5,000")
とやると
5000 5000
て表示されるけど、これでいいの?
2018/04/30(月) 18:31:56.38ID:vxB4xISW
>>102
おー。ありがとうございます。
やってみます。
2018/04/30(月) 18:35:19.93ID:vxB4xISW
>>102

できました。ありがとうございます。助かりました。
2018/04/30(月) 18:42:13.56ID:gX+uTXPX
どんだけ力説して見ても具体例が出てこなきゃ無視されるだけ
そのユーザーに納品した実例を(タイトルやラベルとかは黒塗りでいいから)見せてみ
(そんなものがあるなら) 
まさか全編コマンドラインで手打ちじゃあるまい?
ユーザーが操作するGUI環境整えるには WPF とかってじゃないだろな?
で、それを設計するのに Visual Studio だとかってんじゃないだろな?

DOSベースのPCがWindows仕様にして飛躍的にシェア伸ばしたように
いかに人口に膾炙するか が肝要 ってトコを見逃すんなら、なんでも言えるし書ける
2018/04/30(月) 18:47:25.40ID:hWOoDFWY
>>88
SQLのLは何の略だと思ってるんだろう...
2018/04/30(月) 18:47:53.44ID:4eo3LVsx
>>97
なんども書かれてるのはプロはVBAなんて使わないってこと。
使ってるのはあなたの言うユーザー。
分かりやすい具体例は事務職など。
納品先など無いのだよ。
2018/04/30(月) 18:55:09.17ID:9DOSDrcb
>>88
そんなのデータの規模ではなくて、扱うデータの種類によると思う
自分のはpythonの数学ライブラリとかRで扱うようなデータが多いから
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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