X



Excel VBA 質問スレ Part54
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん垢版2018/05/26(土) 20:37:37.74ID:Lty78diJ
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


最近プロによる書き込みが多々見うけられますが
彼らに絡むと話がこじれるので質問したい方は適当にスルーしてください


※前スレ
Excel VBA 質問スレ Part53
http://mevius.5ch.net/test/read.cgi/tech/1524823358/
0002デフォルトの名無しさん垢版2018/05/26(土) 20:41:55.85ID:063KGkhF
>>1
0003デフォルトの名無しさん垢版2018/05/27(日) 01:29:59.53ID:yWQrduXg
データ数が違う2組のデータがあったとして、
それを1つのグラフに表示させたいのですが、
x軸が合わなくて困っています
調べても解決できませんでした
よろしくお願いします
https://ideone.com/9Dphe3
0004デフォルトの名無しさん垢版2018/05/27(日) 01:39:51.92ID:yWQrduXg
>>3
すみません
もしかしたら自己解決しそうかもです
1番目のグラフの種類をxlXYScatter
に変えたらx軸が合いました
でも、どちらもxlLinesの場合や
2番目のデータだけxlXYScatterの場合は
x軸が合いません
なぜなのでしょうか?
0005デフォルトの名無しさん垢版2018/05/27(日) 01:44:20.11ID:yWQrduXg
>>4
すみません
やっぱり嘘です
xlLineに変えても
0006デフォルトの名無しさん垢版2018/05/27(日) 01:44:54.34ID:yWQrduXg
>>4
すみません
やっぱり嘘です
xlLineに変えてもx軸は合いませんでした
なぜなのでしょうか?
0007デフォルトの名無しさん垢版2018/05/27(日) 03:44:56.71ID:eVmj2EVU
>>6
深呼吸
0009デフォルトの名無しさん垢版2018/05/27(日) 10:30:12.45ID:yWQrduXg
すみません、落ち着いてまたやってみたら自己解決しました
いろいろ変えてみたのですが、多分
xlLine→xlXYScatterLinesNoMarkers
に変更したのが一番効いたのだと思います
xlLineだと.AxesのMinimumScaleや
MaximumScaleが正しく動かなかったのですが、
xlXYScatterLinesNoMarkersに変えたら
それも正しく動くようになりました

よくよく考えてみればxlLineは月ごとの変化を見るときに
よく使ったりするやつですよね
今回のデータは散布図系のやつを使うのが適切でした・・・
https://ideone.com/WrXahz
0010デフォルトの名無しさん垢版2018/05/27(日) 11:13:54.80ID:UFSUm7L3
>>9
まさか散布図はX,Yがあるけど、それ以外のグラフはYしかないっていうエクセル仕様が分かってないなんてオチかなぁ
と思って確認しようとしてたら先に自己解決してたか、まあ良かった

今回の例では、散布図以外のグラフでは、Xだと思っているのは数値ではなく、単なるY要素ごとのラベルでしかない
この場合、横軸はXデータの数値によらず等間隔に並んでしまっているはず
XY型のデータには散布図以外使えないと思った方が良い
Xが等間隔に並ぶ場合のみ、なんちゃってで使えるけども

まあ、散布図っていう名称のせいで、自分の用途には使えないと勘違いするグラフ初心者は多い
0011デフォルトの名無しさん垢版2018/05/27(日) 11:23:59.79ID:H57oR7jr
エクセルで散布図って呼ばれているものが本来のグラフで、それ以外のはただのポンチ絵()だと思うんだけど、
ずっと散布図って名前なので憤りを隠せない
0013デフォルトの名無しさん垢版2018/05/27(日) 15:22:25.49ID:yWQrduXg
>>10
ありがとうございます
まさにおっしゃる通りでその仕様知りませんでした
横軸が等間隔に並んでいてなんでかな〜と疑問に思ってたのですが、
なぜそうなってしまうのかその説明でやっと理解できました
0014デフォルトの名無しさん垢版2018/05/27(日) 16:08:46.86ID:5CSiKRoM
ほんまに深呼吸したら解決しとる。可愛いなぁw
0015デフォルトの名無しさん垢版2018/05/27(日) 19:30:41.45ID:DwqlWLDG
元号どうなるん?
0018デフォルトの名無しさん垢版2018/05/28(月) 14:11:47.52ID:KmLe6U0E
excelVBAスタンダードの資格って社会的に評価されるもんなの?
試しに見てみたら思いのほか簡単に出来そうだったから受けてみようかと思ってる
「エクセルが使える」って言葉の1つの裏付けになるかなって
0019デフォルトの名無しさん垢版2018/05/28(月) 21:59:01.35ID:k/ADZFk+
オフィス系の資格は就職後に評価されることは無い
無職か派遣なら無いよりはマシ
会社としては雇うか迷う時に資格や経験を参考にする

しかし履歴書の資格とか経験は嘘ばっかりで役に立たない奴がマジ多いので
あんまり信用してないが、中には本当の奴もいるので
そういうのは面接とかでアピールする方が上手くいったり

そもそもVBAなんて資格なんてなくても使える奴は普通に多い
0020デフォルトの名無しさん垢版2018/05/28(月) 22:07:34.17ID:k/ADZFk+
言っとくがエクセルは相当使えん奴でも強制的に一日中使わされるから
優秀な奴ならVBAは自然と使えるようになるのを会社も分かってる
もし学生なら別のスキルを磨け
多分英語系なら引っ張りだこ
0021デフォルトの名無しさん垢版2018/05/29(火) 12:15:53.80ID:3oz3L205
社会では>>20のようなアドバイスしたがりのバカが一番使えません
0023デフォルトの名無しさん垢版2018/05/29(火) 22:16:07.88ID:fE37oobl
世間一般のエクセル使えますの評価ってだいぶ低いと思うけど
ぶいびーえー?ってのがほとんどだよ
0024デフォルトの名無しさん垢版2018/05/29(火) 22:42:49.61ID:sxnzIvUq
Excelは社会人の基本ですからね。
名前が書けるのと同じ、当然のことなんですよ。
逆に、Excelに馴染みがないのは、名前が書けないのと同じです。
0027デフォルトの名無しさん垢版2018/05/30(水) 00:00:13.76ID:EYuSKmnx
持てるだけの能力を身につけることが大切なのでは
それが身についていれば自信を持って使えると言えそう
0028デフォルトの名無しさん垢版2018/05/30(水) 08:22:28.50ID:LDZXCBFF
まあ IT Passport や FE のレベルだと持ってたからといって効力はほとんどない。
知識自体はもちろん有用。
0029デフォルトの名無しさん垢版2018/05/30(水) 20:02:46.82ID:NMloaNbV
VBAを自在に操れる人って凄いと思うんだけれど
Cやパイソンやジャバや色々やってる人から言わせると
VBAは、なぁ(笑)ってなるのは何で?

VBAだって小規模の開発はできるんだし
立派な言語だって思うんだけれど
0031デフォルトの名無しさん垢版2018/05/30(水) 20:54:00.88ID:2EWOUuX0
>>29
多分VBAを自在に操れる人は他の言語も使えるからなw
それを踏まえて(笑)なんじゃないか?
0033デフォルトの名無しさん垢版2018/05/30(水) 22:17:47.05ID:71Xr6xku
30年以上前に、初心者はBASIC、ベテランはCという流れがあって、いまだにそのイメージを引きずってる老害の可能性
今ならVB.Netで問題なく開発できてパフォーマンスも大差ないのに下に見てるのは間違いなく老害
0034デフォルトの名無しさん垢版2018/05/30(水) 22:21:22.74ID:XJoRLQq6
どうみても老害に憧れを抱くゆとりの仕業やろw
0035デフォルトの名無しさん垢版2018/05/30(水) 22:22:02.34ID:afKiO95x
>>33
VBAとVB.netは全くの別物なんだけどね
0036デフォルトの名無しさん垢版2018/05/30(水) 22:39:02.16ID:PGQkBNbb
老害の特徴

・マルチプロセス/スレッドを嫌う
・string 型を嫌う
・スクリプトを嫌う
0037デフォルトの名無しさん垢版2018/05/30(水) 22:40:40.96ID:JXGp/YkD
>>33
ちょっとBasicに夢見すぎだと思う
Microsoftですらもう興味ほぼゼロのVB.NET
VB.NETから見ても超絶時代遅れVB6
VB6から見てもオモチャのようなVBA
0038デフォルトの名無しさん垢版2018/05/30(水) 22:44:31.11ID:71Xr6xku
>>35
すまん
はしょりすぎて伝わってない可能性

VBAはExcelのオマケだし実行速度は遅いし扱えるメモリも小さいしライブラリも貧弱なのは確かだから、
下に見られてもしょうがないけど、用途を限定すれば実用十分な性能を持っている
だから、無条件にVBAを見下してるのは老害の「可能性」がある

逆にVB.netはC#と同等の内部処理を行っているので、これを見下しているのは間違いなく老害と「断定」できる
0039デフォルトの名無しさん垢版2018/05/30(水) 23:16:26.46ID:mJRov030
//でショートカットキー表示されるの今日知った
0040デフォルトの名無しさん垢版2018/05/30(水) 23:33:31.33ID:JXGp/YkD
同じランタイムで動く、ILで同等だから言語的にも同じステージにいるんだというのは乱暴すぎるな
最近のC#のモダン化には構文レベルでの利便性向上が数多く含まれる
野暮ったい文法のVB.NETがこれに追いつくのは難しい
というか最近はC#に対してVB.NETは機能面でも実装が追いついてない
もはや構文以外は同等とすら言いづらくなってきている
この辺りはMicrosoftとコミュミティのやる気のなさが露骨だね
0041デフォルトの名無しさん垢版2018/05/30(水) 23:50:26.49ID:hYh6RF2R
言語そのものよりもそれを使う連中が嫌われてる
成立上VB6から移行してくる人が多いから、OOPな書き方ができないstaticおじさんみたいのが多いんだよ
0042デフォルトの名無しさん垢版2018/05/31(木) 06:42:55.60ID:qAerDBx0
Visual Studioの中だけで言えば、構文解析エンジンを何種類も保守する意味がだいぶ薄れてきた
そろそろ1本に絞ってもいい頃だろうとは思うがBASICやFORTRAN勢はやっぱり抵抗するのかな
0043デフォルトの名無しさん垢版2018/05/31(木) 07:48:42.54ID:FJLiYcIi
今からVBAを覚える必要は全くない
違う言語をやった方が1億倍幸せになれる
こーいうとエクセルしか使えない環境の人ガーーーっていう奴がいるけど
そんなキャリアアップが出来ないようなクソ会社で時間を浪費するのはエンジニアとして失格
プログラマーとして合理的な思考をしよーな
今時エクセルなんてメモ帳程度だよ
普通はもっと便利な専用アプリ使ってるから今のクソ会社に騙されないでね
0044デフォルトの名無しさん垢版2018/05/31(木) 08:05:45.25ID:RALzzvgT
エンジニア前提なの?
0045デフォルトの名無しさん垢版2018/05/31(木) 08:06:58.61ID:lUyHhYKP
Excelは忖度エンジンなので、あれを超えるものは現れないのでは?
0047デフォルトの名無しさん垢版2018/05/31(木) 08:14:04.12ID:7TVikcfi
どうせ会社では使えないし使わせてくれないし → まちがい
自宅で好きな環境作ってたくさん覚えて転職 → せいかい
0048デフォルトの名無しさん垢版2018/05/31(木) 08:55:49.82ID:lUyHhYKP
桁揃えとか連番とかにExcel使ってますよ私は。
B1に「=A1&REPT(" ", 10-LEN(A1))」を入れて、ピューっとドラッグするわけですよ。
B30までドラッグすると、A1の部分がA1〜A30まで勝手に変化して埋まりますからね。
これは並みの忖度じゃないですよ。
0049デフォルトの名無しさん垢版2018/05/31(木) 08:56:49.68ID:lUyHhYKP
プログラマこそExcel使うべきですよ。
そんなちまちまIDEの拡張書いてるよりずっと早いですから。
0050デフォルトの名無しさん垢版2018/05/31(木) 08:57:37.13ID:nEsTE8Ud
VBAなんて無価値なので転職で有利にやるわけ無い
0051デフォルトの名無しさん垢版2018/05/31(木) 09:03:40.36ID:lUyHhYKP
いやいや、これ使えるのと使えないのではずいぶん差が付きますよ。
たとえば、見積もりシートなんてどこにでもあると思いますが、結局、利益は見積もりで決まるわけじゃないですか。
見積もりシートをいじれるのといじれないのでは、幹部と下っ端の違いが生まれるわけですよこれ。
いじれる人が考えたパラメーターでいじれない人は入力するだけなわけですから、いじれなかったら結局事務の女とやることが変わらないわけですよね。
絶対覚えた方がいいですよ。
0052デフォルトの名無しさん垢版2018/05/31(木) 09:06:39.01ID:lUyHhYKP
もうね、Excel使えなかったら社会人として終わってますから。
社会人の基本ですからねこれ。
0053デフォルトの名無しさん垢版2018/05/31(木) 09:10:13.06ID:lUyHhYKP
Excelの使いこなしだけでも、年収200万くらいは変わるんじゃないですか?
0054デフォルトの名無しさん垢版2018/05/31(木) 09:13:13.67ID:nEsTE8Ud
見積もりとか今時Webアプリで共有出来るようにしてるだろ
なんでエクセルでやるの?
0055デフォルトの名無しさん垢版2018/05/31(木) 09:15:03.40ID:lUyHhYKP
>>54
ウェブアプリで共有してたら他社と横並びだからに決まってるじゃないですか。
そんな当たり前のこと聞いてからかってるんですか?
0056デフォルトの名無しさん垢版2018/05/31(木) 09:15:52.87ID:lUyHhYKP
利益は見積もりで決まる。
見積もりシートは門外不出。
あたりまえですよね?
0057デフォルトの名無しさん垢版2018/05/31(木) 09:16:51.25ID:lUyHhYKP
電話は3秒以内にとる。
見積もり依頼は一時間以内に返事する。
簡単なルールですから必ず守ってください。
0058デフォルトの名無しさん垢版2018/05/31(木) 09:18:01.41ID:nEsTE8Ud
社内共有に決まっとるだろ
0059デフォルトの名無しさん垢版2018/05/31(木) 09:19:56.82ID:lUyHhYKP
社内共有ならExcelでいいじゃないですか。
そもそも、外に出せないノウハウを自分で書けるのがExcelの良いところなんですよ。
なぜ経営者がExcelっ子を優遇するのか。
それはノウハウの漏洩を恐れるからなんです。
0060デフォルトの名無しさん垢版2018/05/31(木) 09:22:18.46ID:lUyHhYKP
Excel使えない時点で人間として駄目ですからねこれ。
結婚するときはExcel使えるかどうか、本当に使いこなせているかどうか、ちゃんと確かめた方が良いですよ。
0061デフォルトの名無しさん垢版2018/05/31(木) 10:09:06.63ID:nEsTE8Ud
エクセルファイルって同時接続出来るの?
社外からもエクセルファイルにアクセスして確認とか出来るの?
外にいる人にも同時に見れるの?
もしかして今のエクセルはそーなのかね
0063デフォルトの名無しさん垢版2018/05/31(木) 10:16:57.14ID:TWLhtyG5
>>50
職種によるとしか言えない
0064デフォルトの名無しさん垢版2018/05/31(木) 10:52:49.84ID:32QH4KHT
時々、無闇矢鱈にExcelを憎悪する(笑9人間が出没するな ww
何かあったんか?とききたくなるわw
0065デフォルトの名無しさん垢版2018/05/31(木) 11:23:22.04ID:lUyHhYKP
>>61
今のオフィスはそうなんですよ。
0066デフォルトの名無しさん垢版2018/05/31(木) 11:28:28.93ID:lUyHhYKP
というかWindows自体、異なるデバイス間でドキュメント共有しますからね。
いずれWindowsは無料になるんじゃないかと思います。
0067デフォルトの名無しさん垢版2018/05/31(木) 11:31:07.33ID:lUyHhYKP
オフィスの再インストールもプロダクションキーがいらなくなってたり、最近は結構変わってきてます。
0068デフォルトの名無しさん垢版2018/05/31(木) 12:09:20.80ID:vKe11D66
ニートエクセラーさん暇そうで羨ましい
0069デフォルトの名無しさん垢版2018/05/31(木) 15:49:29.02ID:lUyHhYKP
>>68
時間というものは他人が作ってくれるものじゃないんですよね。
自分で作らないといけない。
そこでExcelなんですよ。
0071デフォルトの名無しさん垢版2018/05/31(木) 19:09:00.60ID:PSvVdOgc
Redmineを使いだしてからエクセルの価値が減った
ブラウザで情報共有するのが基本形になるとダウンロードしてファイルを開くまで時間がかかるエクセルは自然とNGになる
0072デフォルトの名無しさん垢版2018/05/31(木) 19:15:21.78ID:vpZiPm1i
>>71
エクセルなんて時代遅れだよな
Webブラウザで共有が一番
端末も選ばないし
0073デフォルトの名無しさん垢版2018/05/31(木) 19:26:31.35ID:PSvVdOgc
>>72
時代遅れではないかな
ただ適材適所ということ
エクセルにはエクセルの得意なシーンがある
小規模な表形式のデータ編集をするならエクセルが最適だと思う
逆にスクリプティング、ドキュメンテーション、情報共有にエクセルを使うのは無理がある
0074デフォルトの名無しさん垢版2018/05/31(木) 20:16:57.77ID:lUyHhYKP
>>71
いやいやいやいや、ダウンロードとかいつの時代の話してるんですか。
0075デフォルトの名無しさん垢版2018/05/31(木) 20:17:37.59ID:lUyHhYKP
>>72
Excelも端末選びませんが?
0077デフォルトの名無しさん垢版2018/05/31(木) 21:50:29.63ID:PSvVdOgc
>>76
そのとおり
使い方を間違えてる人が多すぎる
正しくツールを選定して本当にエクセルでやるべきことをエクセルでやるようにするとエクセルの出番がどんどん減っていく
0078デフォルトの名無しさん垢版2018/05/31(木) 22:13:48.96ID:VaiTxT/A
そもそもニートにエクセルいらんからなw
0079デフォルトの名無しさん垢版2018/05/31(木) 22:51:52.79ID:eZ3BghFT
ホントにExcelが無くなってシステムから必要な資料が一発で出てきてくれたら助かるけど、そんなの聞いたことない。
あるなら教えてほしい。
0081デフォルトの名無しさん垢版2018/05/31(木) 23:50:45.34ID:lUyHhYKP
XP時代の人みたいだな。
Excelが起動したいならコルタナさんにエクセルと言えばいいだけだし、何かを探したいならコルタナさんに言えばいいだけだろ。
オープンソースの検索エンジンとか、セットアップしてるだけで時間の無駄。
0083デフォルトの名無しさん垢版2018/05/31(木) 23:56:44.58ID:lUyHhYKP
>>82
もしかして、エクスプローラも使ったことないんじゃないのか。
共有ってボタンあるだろ。
何のためにあると思ってんの。
0084デフォルトの名無しさん垢版2018/05/31(木) 23:58:27.41ID:lUyHhYKP
あと呼び捨てやめてくれる?
コルタナさんはちゃんとさん付けで呼んでよね。
0085デフォルトの名無しさん垢版2018/06/01(金) 00:01:53.99ID:S7DUtxKd
>>83
フォルダ共有のエクセル開くのとんでもなく遅いんだけど?
あんな遅いの我慢してたらストレスで禿げるよ
0086デフォルトの名無しさん垢版2018/06/01(金) 00:03:47.45ID:BB8Kvjzn
XP時代で止まってるんだろ。
まあいいから使ってみ。
0087デフォルトの名無しさん垢版2018/06/01(金) 00:10:31.32ID:S7DUtxKd
win10だけどガッカリ性能だったわ
当たり前だけどただのデスクトップOSが全文検索サービスに勝てるわけなかったんだよね
0088デフォルトの名無しさん垢版2018/06/01(金) 00:14:21.33ID:BB8Kvjzn
>>87
いやいやいやいや、使ってたらフォルダ共有とか言い出さないだろ。
0089デフォルトの名無しさん垢版2018/06/01(金) 00:15:06.45ID:BB8Kvjzn
使ってるんだったら、コルタナさんにナタルコって言ってみ?
0090デフォルトの名無しさん垢版2018/06/01(金) 23:17:53.68ID:nGiy9Pcw
何も知らない私が、3年間java頑張ったら
このスレで、あなた方と会話できるようになれますか?
0091デフォルトの名無しさん垢版2018/06/02(土) 02:28:30.25ID:gGjxrliY
VBAでの記述について質問です

関数が入っているセルがあり、計算されると関数を抜いてに値のみにしたいのです。
処理の数が多く、値のみ貼り付けでは追い付かない状況です。

VBA初心者で調べてもわからず困っています。
コードをご教授ください。
0092デフォルトの名無しさん垢版2018/06/02(土) 02:55:03.40ID:tqaFy3l0
>>91
セルの左上の▽のクリック(要は全シート選択)して
右クリックでコピー

新しいシートを開いて、
右クリックして、
貼り付けのオプションで
値のみを貼り付け(123のアイコンね)

じゃあかんの?
ちな2013
0094デフォルトの名無しさん垢版2018/06/02(土) 03:08:10.65
>>91
コードを求める前に、手動の場合(VBA使わない場合)はどう操作する作業なのかもう少し具体的に書こうや
>>92と同じことをブック内の全シートに対して適用したいの?
0096デフォルトの名無しさん垢版2018/06/02(土) 07:50:54.38ID:msgJi+IZ
>>91
なんでそんなことするの?
また神エクセル?
0097デフォルトの名無しさん垢版2018/06/02(土) 19:15:46.37ID:VMDEvt93
結果だけを人に渡したい需要は世界中に存在する
勝手にいじられると困るとか計算式を知られたくないとか
0100デフォルトの名無しさん垢版2018/06/02(土) 19:33:47.57ID:q5wjWASk
foreach、cells.copy、special pasteで適当にすれば?
0104デフォルトの名無しさん垢版2018/06/02(土) 20:26:52.46ID:nu/3at/N
>>91
入力データは、、手入力するわけだよね
0105デフォルトの名無しさん垢版2018/06/02(土) 20:45:57.21ID:kAkc5O05
>>102
だから、君は無理してExcel使わなくてよろしいがな。嫌いなんだろ?
0106デフォルトの名無しさん垢版2018/06/02(土) 20:53:37.92ID:LvKjABpY
Excelもマクロも嫌いだけど仕事だから仕方なく使ってる
親のコネでやっと入ったバイトだからやめるわけにもいかない
5chに愚痴を書き続けるしかない人生
0107デフォルトの名無しさん垢版2018/06/02(土) 21:09:15.11ID:A4SZL/oE
エクセル嫌いって意訳するとバカだよ?
0108デフォルトの名無しさん垢版2018/06/02(土) 21:17:48.08ID:msgJi+IZ
>>105
集団で働く以上は嫌でも周りの風習・伝統に合わせないとネ
チームや客がエクセルを使ってたらエクセルを使わざるをえないだろう
マネージャさんや手動テスト要員のアルバイタなど関係者がみんなITのプロとは限らないのでこれは仕方がない
もちろん個人端末にはエクセルをインストールすらしてない(というかそもそもLinux)
オープンソースやプライベートのプロジェクトでエクセルを使う理由は全くないからネ
0109デフォルトの名無しさん垢版2018/06/02(土) 21:27:22.06ID:A4SZL/oE
オープンソースやプライベートのプロジェクトがないやんwバカw
0110デフォルトの名無しさん垢版2018/06/03(日) 15:56:25.38ID:I9+zO1Pn
>>108
Excelをバッスィーンと窓から放り投げ、貴様らのような雑魚と一緒に仕事はできん!、颯爽とLinuxの国へ向かうというのはどうか。
0111デフォルトの名無しさん垢版2018/06/03(日) 16:00:02.23ID:I9+zO1Pn
表やリストから抽出したデータを加工してソースの一部にするのは良くありがちなので、プログラマこそExcel使いこなすべきだと思うけどなあ。
その表がExcelならもちろん、HTMLのテーブルであっても容易に取り込めるのがExcelの良いところなわけで。
0112デフォルトの名無しさん垢版2018/06/03(日) 16:04:40.23ID:I9+zO1Pn
昔よくExcelは雑魚の道具、真のプログラマはSedとAwkを使う!とか言ってる人いたけどさ。
そんなものこねくり回してる暇あったら、Excel使ってマウスでちょちょいとやれば済むことなんだよね。
やったことの過程がシートに残る、結果ももちろん残る、すべて残る、そして渡せる。
これはとても素晴らしいことなのです。
0113デフォルトの名無しさん垢版2018/06/03(日) 16:09:07.25ID:acSSis/X
>>111
テーブルデータはcsvか次点でjsonあたりでいいよ
ベンダロック強いエクセルはプログラマには合わない
0114デフォルトの名無しさん垢版2018/06/03(日) 16:13:34.70ID:acSSis/X
>>112
ソースデータとコマンドがテキストで全部残ってバージョンコントロールできる方が良いだろ

つか渡せるのはエクセル関係なくね?
エクセル以外は転送禁止的な規約があるのかな
0115デフォルトの名無しさん垢版2018/06/03(日) 16:32:48.59ID:I9+zO1Pn
そりゃExcelを使ったことのない人の感想だわ。
使ってて使いづらいというのはわかるんだけど、使ったことないけど使いづらいって人が多くて困るわ。
0116デフォルトの名無しさん垢版2018/06/03(日) 16:33:58.69ID:I9+zO1Pn
俺はソースツリーに.oneと.xlsxを含めてる。
0117デフォルトの名無しさん垢版2018/06/03(日) 16:51:51.67ID:acSSis/X
日常的な繰り返し作業ならシェル開いてコマンド打った方が楽なんだよな
たとえばだけど表形式のデータからgetterをコード生成したいなぁって思ったら
import-csv -path "props.csv" | % {
"public $($_.Type) get$($_.Name)() { return $($_.Name); }" }
って1行打つだけじゃん?
エクセルだとキーボードとマウスでガチャガチャやらんといかんしデータもcsvからシートにインポートしなきゃならん
めんどくさすぎ
0118デフォルトの名無しさん垢版2018/06/03(日) 16:55:04.61ID:I9+zO1Pn
csv作るまでの過程で、Excel組は帰ってるんじゃ?
0119デフォルトの名無しさん垢版2018/06/03(日) 17:20:04.55ID:Gx0//w9G
>>117
psのcsv読み込みは#混ざってるとデータ消えるって本スレでやってるじゃん
1行どころか使い物にならない
0120デフォルトの名無しさん垢版2018/06/03(日) 17:42:02.20ID:acSSis/X
>>119
確かにそれは意味不明な仕様だけど実用上困る事はないよ
import-csvは#あっても消えないし
catからConvertFrom-Csvに繋げたいならrawオプションをつければいい
任意のコマンド結果をConvertFrom-Csvに繋げたいならOut-Stringを挟めばいい
エクセルで作業する忍耐力があるならカンタンだな
0121デフォルトの名無しさん垢版2018/06/03(日) 20:11:49.73ID:s2wbfJiQ
なにかいい入門書を教えてください
入門者のexcel vbaという本は、簡単でしたので、次のステージに行きたいです
0122デフォルトの名無しさん垢版2018/06/03(日) 20:15:21.48ID:VNTSxEkE
VBAなんか本いらん。ネット情報だけで充分過ぎる
とにかく色々かけ。そして作れ
0124デフォルトの名無しさん垢版2018/06/03(日) 20:27:55.57ID:SlIjCdRC
オープンソースソフトのコードでも読めばいい
0125デフォルトの名無しさん垢版2018/06/03(日) 20:30:05.13ID:S2iQzlDr
>>119
このスレで他ツールのCSVの取り扱いにケチつけるとかギャグか何か?
世界で一番CSVぶっ壊してるの間違いなくExcelだぞ
0126デフォルトの名無しさん垢版2018/06/03(日) 22:06:41.01ID:lMiKI+DC
    A
1 2018/04/23
2 2018/04/25
3 2018/05/10
4 2018/05/28
5 2018/06/03←今日

のようなデータがあるとき、昨日以前で直近の日付のある行を取得したい場合のコードを教えていただけませんでしょうか?上の例の場合、4行目となります。
0127デフォルトの名無しさん垢版2018/06/03(日) 23:50:05.19ID:93wz4odI
countaで最大値を取って-1した行を取れば良いんじゃないか?
0128デフォルトの名無しさん垢版2018/06/03(日) 23:54:48.25ID:lMiKI+DC
>>127さんお返事ありがとうございます。
ただ、それだと5行目がない場合に3行目が返されてしまいますよね。今日の値があるなしに関わらず昨日以前の値がほしいのです。
0129デフォルトの名無しさん垢版2018/06/04(月) 00:08:16.94ID:cqmMIC0b
>>128
行数を取得したいのか、それとも値(シリアル値)を取得したいのか。
日付データは当然、昇順ですよね?
0130デフォルトの名無しさん垢版2018/06/04(月) 01:09:49.39ID:+i+iliGK
グラフの判例項目を足したり削除したりしたいのだがムズイ
マクロの記録で録ったのを流用してもうまくいかない時があって難儀してるわ
0134デフォルトの名無しさん垢版2018/06/04(月) 08:28:12.92
>>133
ニホンゴムズカシイネ^^
VBAよりまず読解力
0135デフォルトの名無しさん垢版2018/06/04(月) 08:41:42.44ID:LccEMra2
もうすぐ廃止されるかもしれんVBAを本気で覚えようとするモチベが湧かないわ
0141デフォルトの名無しさん垢版2018/06/04(月) 11:44:27.43
>>140
お前が顧客提案資料作れや
0142デフォルトの名無しさん垢版2018/06/04(月) 12:59:52.11ID:qohlpDZb
>>132

dim i as integer
i=1
do
i=i+1
loop while cells(i,1) < date
msgbox i-1

エラー処理とからは無しだけど。
0144デフォルトの名無しさん垢版2018/06/04(月) 16:51:56.13ID:WB6Snd/w
年賀状やチラシ作りに便利だから。
0145デフォルトの名無しさん垢版2018/06/04(月) 16:53:08.76ID:WB6Snd/w
昔の職人さんが包丁一本で生きていけたように、今はExcel一本あれば世界中どこでも生きていけるからな。
0148デフォルトの名無しさん垢版2018/06/05(火) 08:34:48.88ID:G/CEeCgW
フォルダ内にあるファイルがそれぞれどんな中身なのか、一つづつプレビューか開くかしないと判らず死にそう

1つずつ開いてスクリーンショット取らせるようにマクロ組んでみたけど、タイミング、ウインドウ表示の問題で上手く回収出来ないみたい
0149デフォルトの名無しさん垢版2018/06/05(火) 08:58:15.69ID:UBCugO63
何でもかんでも1つのブックに詰め込むからそれが何のためのブックなのか曖昧になる
そうなると適切なブック名を付けられなくなって中身が分からなくなるしエクスプローラーで見たときの検索性も低くなる

そしてエクセル使いはファイル数が少ない方が良いと言ってシートを増やしまくる傾向がある
チームでエクセルを使うならこのストレスには耐えるしかない
民主主義では数が多い方が正義だからね
0151デフォルトの名無しさん垢版2018/06/05(火) 09:48:35.29ID:thULTm5+
今でもデータを別ファイルでもDBにしてもアクセス出来るじゃん
0153デフォルトの名無しさん垢版2018/06/05(火) 10:43:20.56ID:thULTm5+
だからそうすればいいじゃんって事
0155デフォルトの名無しさん垢版2018/06/05(火) 13:41:23.77ID:CXAeseow
どこで聞いたら良いのかわからないのでここで…
4Kモニタ買ってDPIいじったらExcelのオートシェイプが歪んで印刷されるようになりました
この歪み具合というか補正係数みたいなのを導き出す方法ってありますか?
0156デフォルトの名無しさん垢版2018/06/05(火) 16:11:31.88ID:aRuW/xf4
縦にズラーっと1000以上データが入ってて
5回以上同じ値が連続するセルを色づけするvbaを作って貰えませんか?
入力ごとに自動実行してくれるとなおありがたいです
0159デフォルトの名無しさん垢版2018/06/05(火) 17:57:49.85ID:+rDnwov8
〜〜が出来ずに困っています、何かヒントをいただけたら有り難いのですが

と言ったら別に頭にこないだろ。作ってもらえませんかと言われただけで死ねとか失せろと言うのは、
表現だけに拘った愚かな対応だな。
0160156垢版2018/06/05(火) 18:54:06.81ID:aRuW/xf4
すいません端折りすぎました
ほとんど自力で作成はできてるのですが、
判定させるほぼ全てのセルに計算式が入っていて、見かけ上は空白セルでも計算式の入ってる所は全て同じ値判定になって困っているのと
自動実行のやり方が分からないといった感じです
0161デフォルトの名無しさん垢版2018/06/05(火) 18:58:20.64ID:thULTm5+
>>160
ランサーズとかに発注したら
0162156垢版2018/06/05(火) 19:01:53.33ID:aRuW/xf4
質問の仕方を間違えたみたいで申し訳ありません
自分のレスは忘れてください
スレ汚し済みませんでした
0164デフォルトの名無しさん垢版2018/06/05(火) 20:14:15.59ID:2NfSKm9E
>>163
これはネタなのか?文字化けなのか?
0165デフォルトの名無しさん垢版2018/06/05(火) 21:08:08.34ID:wUJpbb1/
すげぇ 片手に余るレスでお客さん追い返してやんの
桜井佐那(戸田恵梨香)が来る前の崖っぷちホテルか
>>158 がくっきー(野生爆弾)の顔で睨んだとイメージ
0166デフォルトの名無しさん垢版2018/06/05(火) 21:50:13.58ID:c4uzLsyW
>>156
作りかけのファイルアップしてくれたら何とかできるかも。

イベントの条件など、その人にしか分からないことが多いから自分でコード書くのが一番いいんだけど。例えばA列限定なのか、A列からJ列なのか、全ての列なのかでコードは変わってくるでしょう?
データも、縦方向に連続しているのか空白があるのか、空白が5行続いた場合どうするのか、空白と0を区別するのか、などなど。

あと、ここよりエクセル総合質問スレの方が親切な気がする。
0167デフォルトの名無しさん垢版2018/06/05(火) 22:13:04.46ID:OTFnbEJY
つーかそんだけ条件はっきりしてんならちょっと考えたらわかるやろ。しかもほとんど自力でって言ってんだし
0168デフォルトの名無しさん垢版2018/06/06(水) 01:08:15.90ID:E+CHUf1c
>>160
見かけ上は空白セルということは実際の値は何でしょうか、例えば文字列""であるとか。
自動実行は>>163のURLが分かりやすいですが、もし文字化けしているのならばWorkSheet changeで調べると良いかと思います。
0169デフォルトの名無しさん垢版2018/06/06(水) 04:28:37.07ID:CT76euXG
>>164の意味がわからない
うちでは>>163のリンク先は普通に見えてるけど、文字化けして読めない環境の人もいるってこと?
0170デフォルトの名無しさん垢版2018/06/06(水) 08:35:29.70ID:dirBD7kG
質問
再利用性高いプログラム書いたとしてそれをどこに保存してどう活用するの。
例えば〇〇出来るマクロ作れ!言われてファイル開く部分は前作ったsubプロシージャで良いなと思っても今は前のソースからコピペしてる
クソなことしてる自覚はあるけどどうすればクソ脱却するか分からん
0171デフォルトの名無しさん垢版2018/06/06(水) 08:41:20.51ID:1qUEGpfN
>>169
MIMEの文字コード種別の記述と実際の文字コードが違うとかあると、ブラウザによっては文字化けするよ。
0172デフォルトの名無しさん垢版2018/06/06(水) 09:47:21.88ID:zTT9nffr
>>169
lPhoneのJanestyle アプリで開いたから文字化けしてた
流れ的に高度なネタなのか判断が出来なかったので
0173デフォルトの名無しさん垢版2018/06/06(水) 10:32:45.85ID:cIbpUMGv
>160
計算式が入っているってどういうことだろう
0175デフォルトの名無しさん垢版2018/06/06(水) 11:44:10.21ID:EAoXenc1
>>169
原因は>>171なんだろうけど大抵のブラウザはMIME無視して文字コードを指定して表示する方法がある
そんなことも知らないで>>164みたいなレスする奴のレベルは知れてるから相手しなくていいよ
0176デフォルトの名無しさん垢版2018/06/06(水) 12:12:22.29ID:gabeefJ7
>>170
C#かVB.NETでCOM dllを作ってシステムに登録
ブックから参照の追加で↑を再利用
かな
addinでもいいんだろうけど使いにくかったので俺はaddinの利用をやめた
0177デフォルトの名無しさん垢版2018/06/06(水) 13:14:46.89ID:1VAtV2oI
>>176
addinてなんだっけ?
自分はexamの運用で特に不自由感じてないけど、使い方によってデメリットあるのかな
0180デフォルトの名無しさん垢版2018/06/06(水) 17:56:03.28ID:JJ061DfG
トイレの中に魔法使いがいる
0182デフォルトの名無しさん垢版2018/06/07(木) 00:52:14.51ID:l2af3llu
シートをコピーして名前を付けるときにすでにそのシート名が存在し、重複した場合、メッセージとして、"既にその名前のシートは存在しているのでコピーしません。"
とメッセージボックスに表示し、シートをコピーしないようにしたいのですがどのようにすればよいのでしょうか。
現状は、重複する場合、コピーの元となったシートに(2)などデフォルトで付いてしまってこまっています。
どなたか教えていただけると幸いです。
0184デフォルトの名無しさん垢版2018/06/07(木) 01:32:35.30ID:+AIz84RJ
>>182
Private Sub hoge()
Dim title As String
Dim pro As String
Dim default As String
Dim rtn As String

On Error GoTo Errhd

ThisWorkbook.Worksheets(1).Copy after:=ThisWorkbook.Worksheets(1)
title = "シート名の入力"
pro = "追加したシート名の名前を入力して下さい"
pro = pro & vbCrLf & "キャンセルすると規定のシート名です"
default = "ここに入力してね"
rtn = InputBox(pro, title, default)
If Len(Trim(rtn)) <> 0 Then
ActiveSheet.Name = rtn 'ActiveSheetは使いたくないなー
End If
Exit Sub

Errhd:
If Err.Number = 1004 Then
MsgBox "シート名が重複してます。規定のシート名にします"
Else
MsgBox "エラー:" & Err.Description & "エラーNo:[" & CStr(Err.Number) & "]"
End If
End Sub
0185デフォルトの名無しさん垢版2018/06/07(木) 06:57:02.78
>>184
VBAの前に日本語を勉強しようか
0189デフォルトの名無しさん垢版2018/06/07(木) 18:44:38.31ID:7ubMCfWs
プロさんはソースコードレビューでコメントの日本語の指摘ばかりうけるので
ここで日本語の指摘して憂さ晴らししとるんやで
察してさしあげろ
0190デフォルトの名無しさん垢版2018/06/07(木) 21:10:45.98ID:3qk59262
カーネルナンチャラのいみがわからん
0191デフォルトの名無しさん垢版2018/06/07(木) 21:14:30.25
>>189
いやそもそも>>182の要件を一切満たしてないし

読解力はどこへ行ったのか
0192デフォルトの名無しさん垢版2018/06/07(木) 21:42:02.76ID:WN2hA1TZ
>>182
勝手に(2)になるってことは、シートのコピー自体をマクロでやってるってことかな?
1枚だけならともかく、複数シートのコピーとか考慮するとかなり難しいと思う。
1枚でも同じ名前があればコピー中止するのか、(2)になるのだけを中止するのか。
現在のコード見てみないとなんとも言えないを
0193デフォルトの名無しさん垢版2018/06/07(木) 21:47:48.41ID:uqa5AZHU
foreachでシート名取得すればどうとでも出来ねーか?
0194デフォルトの名無しさん垢版2018/06/07(木) 21:50:54.59ID:G9c1fl5R
ForEachでWorksheetsコレクション回してコピー元のシート名と一致するか見れば済む話だろ
答える側のレベルも低すぎ
0195デフォルトの名無しさん垢版2018/06/07(木) 22:29:02.37
For Each 回したりするくらいならこうだろ

Dim wks as Worksheet
On Error Resume Next
Set wks = Worksheets(sheetname)
On Error GoTo 0
If Not wks Is Nothing Then …(重複時の処理)…
0196デフォルトの名無しさん垢版2018/06/07(木) 22:31:47.53ID:l2af3llu
182です。
みなさんありがとうございます。
今の状況はこんなコードです。

Dim i As Long
i = Worksheets("マスタ").Range("B3").Value

Worksheets("鑑").Copy After:=Worksheets(Worksheets.Count)

Worksheets(Worksheets.Count).Name = i

というコードです。
0198192垢版2018/06/07(木) 22:53:31.56ID:BzIZrc7A
>>196

これならcopyの前に、その名前のシートがあるか判定してアラート出せばいいでしょ。

Sub test()

Dim myShName As String
Dim myWS As Worksheet
Dim myFlag As Boolean

myShName = Worksheets("マスタ").Range("B3").Value

For Each myWS In Worksheets
If myWS.Name = myShName Then
myFlag = True
End If

Next myWS

If myFlag = True Then
MsgBox "すでにあるためコピーしません", vbInformation
Else
Worksheets("鑑").Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = myShName
End If


End Sub
0200192垢版2018/06/07(木) 22:59:58.47ID:BzIZrc7A
>197

ふつうにマクロの記録でできると思います。
が、それをマクロでやる意味があるのかどうかは分かりません。
手作業でなくマクロを使いたいのはなぜ?
0204デフォルトの名無しさん垢版2018/06/08(金) 01:15:25.48ID:4Sm8z/zL
>>196
flgを立てないパターン。
Dim sheet_name As String
Dim ws As Worksheet
sheet_name = Worksheets("Sheet1").Range("B3").Value
For Each ws In Worksheets
If ws.Name = sheet_name Then
MsgBox "alert", vbInformation
Exit For
Else
If ws.Name = Worksheets(Worksheets.count).Name Then
Worksheets("Sheet1").Copy After:=Worksheets(Worksheets.count)
Worksheets(Worksheets.count).Name = sheet_name
End If
End If
Next
0205デフォルトの名無しさん垢版2018/06/08(金) 01:45:24.10ID:r8MI6JEs
ファイルの上書き保存を禁止するマクロって組めるの?
それともファイルを開いたら自動的に複製が作られるようなのを組んだ方が楽かな
チームで1つのファイルを使ってて加筆することはあっても消す事は出来ないようにしたい
0206192垢版2018/06/08(金) 02:24:44.07ID:gKLQw3te
>>205
before save イベントで、ある程度はできそうだけど、「上書き保存できないように」「加筆することはあっても消すことはできない」あたりが、ちょっと何をしたいのかよく分からないですね。
0208デフォルトの名無しさん垢版2018/06/08(金) 05:17:01.97ID:js+z/PTh
悪いこと言わないからWebアプリを覚えた方が良いって
共有も簡単
同時入力も出来る
端末も場所も選ばない
覚えるのはSQL C# html css JavaScript
たったこんだけで飛躍的に変わるんだから
0210デフォルトの名無しさん垢版2018/06/08(金) 12:13:41.25ID:6N8w+kEg
>>205
エクセル上の上書き保存を禁止するだけなら、プロパティで読み取り専用にする方法と、Open時にパスとRead Onlyフラグを見て判定する方法と、before saved時にcancelする方法が考えられる。application.UserNameと組み合わせて自分以外は保存出来ないようにするとかね。
0211デフォルトの名無しさん垢版2018/06/08(金) 14:09:42.72ID:pgnN0/Vq
びふぉーせーぶきゃんせるしたらマクロほぞんできなくねて思って調べたらマクロ実行中にcancel trueにするとか書いてて目から鱗
使わんけど
0212デフォルトの名無しさん垢版2018/06/10(日) 06:38:13.95ID:DGfRCW8U
>>205
>>207の言う通りファイルを複数人で共有して管理するなら
SVNとかTFSとかGITとかの導入を考えた方がいいかも
それなら間違って書いて上書きしてしまっても誰がいつ書き換えたかも分かるしすぐに直せる
もちろん何かしらでファイルが消されてしまってもすぐに復活出来る。

個人や会社の研修に使う程度の小規模のものなら
これをONE DRIVE、GOOGLE DRIVE、DROP BOX等と併用して使えば
インターネットに繋がる端末であればどこからでも
参照することが出来るようになる。
ただしセキュリティ面に関しては自己責任で。
0214デフォルトの名無しさん垢版2018/06/10(日) 11:43:27.28ID:kZ6+r7gZ
ビジネスマンは認証なしファイルサーバーでエクセル共有が常識
徹底的に無駄をそぎ落とせ
0215デフォルトの名無しさん垢版2018/06/10(日) 12:53:16.88ID:tSaaEFeX
>>214
共有ってもエクセルって同時に開けないでしょ?
0216デフォルトの名無しさん垢版2018/06/10(日) 13:05:50.36ID:Fn8GdORp
>>215
エクセルを共有し、複数人で同時に書き込むの面白いよ

会議とかでエクセルで議事録を書き、それを共有する
(同時にプロジェクターで映し出すのもいい)
それを各自が見ながら発言し、適宜各自が修正などを加えていく…
4〜5人のお馴染みのメンバーによる会議なら、議事録作成はこれが一番手間いらずだったな
0217デフォルトの名無しさん垢版2018/06/10(日) 13:08:10.31ID:4Fo/ClCp
共有ってのは情報を共有するってこと
ファイルがみんなの目に触れられるところにあればそれは共有してると言える
同時に開けるか否かは関係ない
社長のスケジュールを社員全員が共有する、みたいな
0218デフォルトの名無しさん垢版2018/06/10(日) 13:21:16.74ID:kZ6+r7gZ
入力しにくい、同時作業しにくい、検索しにくい
エクセルは情報共有ツールじゃないということだ
実は表計算ツールなんだよね
0219デフォルトの名無しさん垢版2018/06/10(日) 14:24:40.68
ExcelはDTPソフトにもデータベースソフトにも統合開発環境にもなる

何か一つしかアプリをインストールできないとなれば間違いなくExcelを選ぶ
0222デフォルトの名無しさん垢版2018/06/10(日) 15:32:22.56ID:5Z7WXmtC
単に向上心がないだけ
0225デフォルトの名無しさん垢版2018/06/11(月) 01:50:54.91ID:z84MX3Hd
じゃあなんでexcelがこんなに普及してんの?
ここであれこれ名前が上がるけど、マイオナにしか聞こえん
0226デフォルトの名無しさん垢版2018/06/11(月) 02:28:17.34ID:kgcyA64B
普及してるのは最初から入ってるから
でも今では会社じゃほとんど使わないですよ
使ってもメモ替わり程度
それ以上の用途はそれぞれの専用アプリを使います
なければWebアプリを中心に作ります
エクセルメインって弱小零細企業なんだろうけどテクノロジーは恐ろしいスピードで変化してますよ
0228デフォルトの名無しさん垢版2018/06/11(月) 03:19:33.44ID:kgcyA64B
今はPDFが多いだろ
エクセルとかワードファイルなんて必要項目以外も編集出来ちゃってもとファイルの意味ないじゃん
いつの時代の話をしてるの?
0229デフォルトの名無しさん垢版2018/06/11(月) 03:28:33.20ID:Yoq0VGap
俺は派遣でかなり大きな会社(SONYとかと同レベル)で働いているけどExcelめいいっぱい使ってるぞ。
VBAも使いまくってる。
というかVBAの仕事なんだけどね。
0230デフォルトの名無しさん垢版2018/06/11(月) 03:35:25.80ID:Yoq0VGap
現実と願望の区別が出来ない人がいるみたいだね。
それが進むとコンピュータ使うのなんて中小ぐらいしかないなどとなる。
0231デフォルトの名無しさん垢版2018/06/11(月) 03:56:13.19ID:vx8oiu6e
派遣の人にさせる雑用事務仕事ならエクセルくらいしか使えないだろうから仕方ないかな
0232デフォルトの名無しさん垢版2018/06/11(月) 07:19:30.73ID:z84MX3Hd
>>228
まさにこういう人の意見なんだけど、何をもってほとんど使わないと言ってるんだろう?
そんなにたくさんの会社を見てるの?
0233デフォルトの名無しさん垢版2018/06/11(月) 07:39:59.32ID:fIKXCmX7
入力装置としては悪くないプラットフォームだと思う
もちろん神エクセルは論外だけど
小規模のテーブルデータをサクッと作るには便利
ただエクセルのままデータや文書として交換するのはやめてほしいね
0234デフォルトの名無しさん垢版2018/06/11(月) 07:56:19.19ID:Yoq0VGap
>>231
お前より給料貰ってるけどな。

言い訳ばかりじゃたかが知れてる。
何を言っても零細は間違いというわけだ。
0235デフォルトの名無しさん垢版2018/06/11(月) 08:03:09.89ID:z84MX3Hd
>>234
急に給料の話持ち出してどうしたの
0240デフォルトの名無しさん垢版2018/06/11(月) 18:01:59.04ID:uMLVNrv/
フォームを使っていろいろ勉強しながら遊んでるんですが、コードが長ったらしくなるときはcallで別に書いてるんですが、functionの使いどころというかこういうときは絶対functionだ!ってあるんですか?
引数やら戻り値やらネットでみたりするけど使いどころがいまいちで...
0241デフォルトの名無しさん垢版2018/06/11(月) 18:49:21.09ID:reMFgRN5
>>240
何度も呼び出す機能はfunction
同じ処理をコピペであちこちに書くと
直すとき大変ですし
スコープが狭くなると把握しやすくなるよね
0244デフォルトの名無しさん垢版2018/06/11(月) 20:38:01.83ID:MCKH0IFJ
プロシャージャから呼ばれるものは原則ファンクション。とりあえずブーリアン型にしてtrueを返してるわ
プロシャージャはイベントハンドラと、ファンクションのデバッグ用くらいかなー
0248デフォルトの名無しさん垢版2018/06/11(月) 23:00:58.03
値の戻し方だって
関数の戻り値か、ByRef引数か、グローバル変数か、セルか、テキストファイルかは自由自在
0252デフォルトの名無しさん垢版2018/06/11(月) 23:43:56.97ID:ga7441Wg
関数のありがたみがわからない初心者のみんなは副作用、参照透過性、例外安全という観点で関数とプロシージャを比較してみよう
それだけでスキルアップだ
コードがグンと洗練されるぞ
やったね!
0253デフォルトの名無しさん垢版2018/06/12(火) 05:17:47.61ID:UBgzW1A3
> 副作用、参照透過性、例外安全
最近覚えたので使いたくてしょうがないんだろうな w
頓珍漢過ぎて笑うしかないけど
0254デフォルトの名無しさん垢版2018/06/12(火) 05:37:01.98ID:bL9bvKzR
いつも行と列がわからなくなるんだがいい覚え方ある?
列方向とか言われると頭が混乱する
0258デフォルトの名無しさん垢版2018/06/12(火) 06:37:59.94ID:rsKFgPQp
>>254
今時ほとんど横書きだから「行」と言えば横方向でしょ
一行目って言われて縦読みする奴はあまりいないし w
0260デフォルトの名無しさん垢版2018/06/12(火) 07:06:59.16ID:bL9bvKzR
ありがとうございます
これで行列を判別できそうです
0265デフォルトの名無しさん垢版2018/06/12(火) 19:32:41.56ID:DCDELge2
まあ自分もほとんどがFunctionでSubは数えるほどだな。
Subを使うのは求める値を直接値として返すのはデカすぎるときとか。
0266デフォルトの名無しさん垢版2018/06/13(水) 02:55:36.27ID:63Q03/Wf
値を戻す必要のある手続きならFunction
その必要がない手続きならSub

原則的にはこれしかないわけだが
Functionの戻り値以外で値を返す手続きは例外的なものに限るべき

>>252
お前はVBAで、何と何を比較してるの?
0268デフォルトの名無しさん垢版2018/06/13(水) 06:41:50.05ID:AbU9Bfwe
>>254
0270デフォルトの名無しさん垢版2018/06/13(水) 07:47:19.69ID:xCQwBm/v
>>266
> 値を戻す必要のある手続きならFunction
> その必要がない手続きならSub
複数の値を返したい時は?

> Functionの戻り値以外で値を返す手続きは例外的なものに限るべき
C# の TryParse() 系の奴は例外的だと言う主張ですか?

> お前はVBAで、何と何を比較してるの?
そいつには触れない方がいいかと
0271デフォルトの名無しさん垢版2018/06/13(水) 08:03:40.57ID:rWAWAyN4
配列かユーザー定義、あとは引数を参照にして引数で返すとか。
そのプロシージャの内容で変える。

クラスにするとか場合によっちゃコレクションに複数のクラスを入れて返すとか配列を配列に入れて返すとかする場合も。

複数かどうかではなくそのプロシージャにとってどうあるべきかが重要。
0272デフォルトの名無しさん垢版2018/06/13(水) 08:25:56.30
>>271
結局FunctionとSubの使い分けは値を返すかどうかなんかとは関係ないってことだよね
0277デフォルトの名無しさん垢版2018/06/13(水) 10:20:33.97ID:IL7yIAnv
functionにした事で起こる副作用って何?
可読性とか、解析とかに影響が出るだけで、動作自体はfunctionが完全上位互換だと思ってたんだけど。
0279デフォルトの名無しさん垢版2018/06/13(水) 11:59:36.53
SubにしろFunctionにしろ、あんまり分割しすぎるのはBASIC的ではないので、可能な限りGoSubを使いましょう
0280デフォルトの名無しさん垢版2018/06/13(水) 19:45:28.16ID:MfFyOg3y
>>270
>>266
>> 値を戻す必要のある手続きならFunction
>> その必要がない手続きならSub
>複数の値を返したい時は?
関係ないものを複数返したいなら多くの場合は設計ミス
関数の責務が複数あると考えていい
関係のあるものを複数返したい場合はそれらを含む別のクラスが隠れているのかもね
何れにせよ複数返したいと思った時点で冷静に考えを整理すべき


>> Functionの戻り値以外で値を返す手続きは例外的なものに限るべき
>C# の TryParse() 系の奴は例外的だと言う主張ですか?
いいとおもうよ
あれはパフォーマンス追求するときと並列処理、相互運用ぐらいにしか使わん
実際にref/outを使う標準ライブラリはほとんどない
ParseやTryGetValueは使用頻度が高く、例外でエラー通知するのはオーバーヘッドがあるからoutにするメリットの方が大きいと考えられて例外的に導入されたもの


>> お前はVBAで、何と何を比較してるの?
>そいつには触れない方がいいかと
0281デフォルトの名無しさん垢版2018/06/13(水) 20:25:33.06ID:xCQwBm/v
>>280
> 何れにせよ複数返したいと思った時点で冷静に考えを整理すべき
で、結局どうするのさ?

> あれはパフォーマンス追求するときと並列処理、相互運用ぐらいにしか使わん


> ParseやTryGetValueは使用頻度が高く
結局よく使うのか使わないのかはっきりしろよ w
無理矢理反論してるのがバレバレだぞ
0282デフォルトの名無しさん垢版2018/06/13(水) 21:02:10.70ID:0T3bSaKS
入れる穴が複数あるのに出す穴が1つってのが間違ってるんだよ
だから入れる穴から出す
0283デフォルトの名無しさん垢版2018/06/13(水) 21:10:06.85ID:qak7HNFr
もはやプロさんによるプログラミング脱初心者講座
エクセルマクロはどこいったんや
ほんま役に立たんプロさんばかりやなw
0285デフォルトの名無しさん垢版2018/06/13(水) 22:29:45.50ID:IQOPO94p
もう全部参照渡しやっとけば?
0286デフォルトの名無しさん垢版2018/06/13(水) 22:35:46.81ID:63Q03/Wf
>>270
あれはあくまでもVBAでのSubとFunctionの使い分けの指針な

>複数の値を返したい時は?
複数の値を返したい時点で例外的な処理だと思った方がいい
複数の値が必要なら、複数の値をまとめた「何か」を一つ返すのが原則
まあ実際はそうガチガチにはやらんけどな

>C# の TryParse() 系の奴は例外的だと言う主張ですか?
まあ、例外的
あれは、変換が可能かどうかと、変換した値という二つの処理をまとめてるから

>>274
おれもそう思ってはいるが
VBAにはいまでもGoSub Return ってのがあるからなぁ
0287デフォルトの名無しさん垢版2018/06/13(水) 22:44:58.50ID:fGM4jS90
>>284
説明も反論もできないなら黙ってろよ w

>>286
> あれは、変換が可能かどうかと、変換した値という二つの処理をまとめてるから
どうみてもその処理はまとめるべきだろ
別々にやれと言うならちょっと頭おかしい
0288デフォルトの名無しさん垢版2018/06/13(水) 22:45:26.77ID:p7d4mVR0
Sub 色の付いたセルの値をクリア()
Dim C As Range
For Each C In ActiveSheet.Range("A1:J25")
If C.Interior.ColorIndex = 15 Then
C.ClearContents
End If
Next
End Sub

で色の付いたセルの値をクリアしたいのですが、結合したセルからは値を消せない的なメッセージが出るのですが、結合しているセルに入っている値を消すにはどのようにすればよいかどなたか教えていただけませんでしょうか?
0290デフォルトの名無しさん垢版2018/06/14(木) 03:03:05.09
>>288
C.MergeArea(1).ClearContents
0293デフォルトの名無しさん垢版2018/06/15(金) 20:24:29.69ID:Z5uPnQ18
はじめまして
最近vbaでマクロ書くようになりました

Dim lastcol
Dim kokyaku

lastcol = Cells(2, Columns.Count).End(xlToLeft).Column
Set kokyaku = Range(Cells(2, 4), Cells(2, lastcol)).Find(顧客コード).Column

上記はマクロの一部分なのですがこれのColumnでオブジェクトが必要ですというエラーでるのですがどうしたらいいでしょうか。
ちなみにSetをとるとオブジェクト変数およびwithブロックが、、というエラーが代わりにでてきてしまいます。
0295デフォルトの名無しさん垢版2018/06/15(金) 21:03:46.01ID:0/vjvM+E
列番号を取得したいだけならSetはいらない

顧客コードは変数なの?
変数じゃなく「顧客コード」という文字列を検索したいなら

.Find(顧客コード)
ではなく
.Find("顧客コード")

と書かないと
0297デフォルトの名無しさん垢版2018/06/15(金) 21:30:16.61ID:Tyymqq5a
関係無いとも思うけど、顧客コードを検索して見つからなかったらエラー出るぞ。
まずFindまでをオブジェクトに代入し、代入されたオブジェクトがNothingかどうかをチェックすべき。
0299デフォルトの名無しさん垢版2018/06/15(金) 21:44:35.90ID:CUf60DnA
どうしたお前ら
いつになくまともやんけ
0301デフォルトの名無しさん垢版2018/06/15(金) 22:09:24.98ID:GmHYQ4ab
あーなんだ
もうSubとFunctionの話は終わっちゃったのか
ちょっと来るのが遅かったな
0302デフォルトの名無しさん垢版2018/06/15(金) 22:23:49.95ID:Z5uPnQ18
>>294
列番号ほしくてColumn付けてたんですよねー
でもSetなくしたらとりあえず実行できました・・・なんでできるようになったのか謎です

>>295
顧客コードは変数です
ユーザーフォームで入力させてそれを判別してるような形をとっています

>>300
初めて1週間ですみませんorz



型式って指定したほうがやっぱりいいんですか・・
もう1つ悩んでることあるのでちょっと書かせてください
0303デフォルトの名無しさん垢版2018/06/15(金) 22:30:35.92ID:Z5uPnQ18
ユーザーフォームで顧客コードを検索してそれを別ブックに転記したいんですけどうまくいきません
繰り返し文だと i=0 To 5 みたいに回数を決めないと思いまして、代わりにdo until使ってるんですけどバグっちゃって・・
参考にコードと表のSS貼っておきます
ご教授願います

ttps://gyazo.com/08befaf20d8d06c1c09571710d6614b6
ttp://textuploader.com/dp3p2
0304デフォルトの名無しさん垢版2018/06/15(金) 22:44:11.72ID:bCJKcbox
確かウィンドウをサブクラス化し
てコールバック関数でゴニョゴニョ、、、
なんたらする時メモリーの番地が、あーたらで
それでふんくちおnを使うんだったような??。

今はこんなことしないのかな。
0305デフォルトの名無しさん垢版2018/06/15(金) 22:46:52.27ID:VwsEC8QK
Dim i
i = 0
Dim kekka
Do Until kekka = vbCancel

この辺が意味不明です。
i=0
だと定数みたいになってる。
kekkaも値自体が入ってないのに、do until kekka =2と書かれても。
(vbcancelは組込定数なので、2という数値と同じ)

型は指定した方がいいと思います。
0306デフォルトの名無しさん垢版2018/06/15(金) 22:56:21.89ID:Z5uPnQ18
>>305
単純に変数宣言したかっただけです;;

意味合いとしては、

「処理を続行しますか?」→OKだったら最初のユーザーフォームを起動させて転記する。
                →Cancelだったら転記をしてプログラムを終了。
という感じなのですが。。
0307デフォルトの名無しさん垢版2018/06/15(金) 23:05:16.76ID:ft7Lb6/j
プロパティとメソッドの違いがわかりません
判別する方法とかあるんでしょうか
0312デフォルトの名無しさん垢版2018/06/16(土) 09:50:15.71ID:4sxbGcVv
>>310
本で見て疑問だったので笑
0313デフォルトの名無しさん垢版2018/06/16(土) 11:32:54.10ID:XHohijVT
>>307
シンタックスシュガーというやつだよ
違いはあるともないともどっちともいえる
0314デフォルトの名無しさん垢版2018/06/16(土) 13:33:23.98ID:HgejND06
シンタックス・ショッカーだって!?
0316デフォルトの名無しさん垢版2018/06/16(土) 15:27:03.33ID:xcNKL0YA
>>303
クオーテーションマークでコメントアウトが出来ますので、どこでどのような処理をしたいのか書いておくと良いかもしれません。

>ユーザーフォームで顧客コードを検索して
UserForm.Valueで入力された値を参照してから該当の表内に検索をかけることになるでしょう。

>Do Until 文
Do Loop文の中でIf kekka = vbOK Thenがコメントアウトになってますのでこれは機能しません。
また、Loopを記述するより先にEnd ifで完結させないとエラーが出るはずです。

書き慣れるまでは変数宣言は上部にまとめておくのも一つの手かと思います。
0317デフォルトの名無しさん垢版2018/06/16(土) 16:15:37.97ID:6YhuS6G/
サーバーに入ってきた仕事の素材を連番のフォルダを手動で管理しております
現在画像のような感じにサーバーに素材が入ったのを確認したらとなりのセルを塗りつぶすというのを手動で管理しています
それを特定のフォルダをexcelで監視させて新しいフォルダが入ったらとなりのセルを
自動で塗りつぶす、ということをvbaではできないでしょうか

可能であればコードも教えていただければ幸いです

画像url↓
https://dotup.org/uploda/dotup.org1560186.jpg
https://dotup.org/uploda/dotup.org1560191.jpg
0322デフォルトの名無しさん垢版2018/06/16(土) 17:52:11.74ID:65EvhanH
日本企業は外注には何十万、何百万も払うのに自社の社員が書いたものはタダだと考えてる。
0323デフォルトの名無しさん垢版2018/06/16(土) 18:37:23.14ID:XHohijVT
>>317
本題からはそれるけど、セルを塗りつぶすってのはセルの背景色を直接指定するんじゃなくて
条件付き書式にした方がいいと思うよ。
つまり該当セルに「1」とかの値を入力すると勝手に赤い背景色になるようにしとく。
値ならあとで利用しやすいからね。
0324デフォルトの名無しさん垢版2018/06/16(土) 18:43:20.62ID:Hq2zWLFU
>>322
VBAごときに価値はない
0325デフォルトの名無しさん垢版2018/06/16(土) 19:00:05.51ID:65EvhanH
>>324
VBAスレで吠えるトンスルランドの寄生虫WW
0326デフォルトの名無しさん垢版2018/06/16(土) 19:06:20.60ID:gJMjB7oX
>>323
そしてセル数のぶんだけ重くなる。
規模によるけどね。
色付けても検索とか抽出とか面倒なだけだから自分なら記号でも埋めるかな。
色付けるとすれば視認性をあげるためのオマケ。
0327デフォルトの名無しさん垢版2018/06/16(土) 19:11:09.71ID:Bzc+Z3iP
わかったつもりになってUIを根底から否定してしまったプロさんw
0331デフォルトの名無しさん垢版2018/06/16(土) 21:07:12.41ID:XHohijVT
>>326
>そしてセル数のぶんだけ重くなる。
0332デフォルトの名無しさん垢版2018/06/16(土) 21:08:34.68
条件付き書式だらけのワークブックなんて開くのもしんどいわw
0333デフォルトの名無しさん垢版2018/06/16(土) 21:19:39.41ID:XHohijVT
>>332
条件付き書式「だらけ」?
ひとつで十分だよね?
0334デフォルトの名無しさん垢版2018/06/16(土) 21:51:48.05
>>333
ああ、>>323>>317の個別の事例に特化した話だけをしていたってわけね
俺は(恐らく>>326も)てっきり>>323は一般論を話しているものと思ったよ
「本題とはそれるけど」って書いてあったからかなあ

一般論としてはセルの背景色は条件付き書式で塗りつぶすべきなんていう馬鹿な話はないから
0336デフォルトの名無しさん垢版2018/06/16(土) 22:05:25.26ID:wwpjubpj
>>334
Excelの操作(データ整理など)で、
条件付き書式でセルの文字色や背景色を変更するのは一般的なことだと思ってたんだが、どういう点がバカなんだろ?
0338デフォルトの名無しさん垢版2018/06/16(土) 22:13:39.48ID:+7qeuaiQ
アマチュア事務員さんの一般論とプロの一般論は異なるということだね
プロはセルに一個一個色を設定するなんてめんどくさいことはしないよ

状態が1つ変わるたびに別の状態を同期させるようなコードは手続き的で非常にメンテナンスしにくい
まずは問い合わせで解決することを考えよう
これを覚えてまた1つ賢くなったね事務員さん
0340デフォルトの名無しさん垢版2018/06/16(土) 22:29:39.05ID:FpzMctyH
今のエクセルは下手なVBAerが組んだらゴミの山生成するから気をつけたほうがいいのは間違いない
0342デフォルトの名無しさん垢版2018/06/16(土) 22:43:30.84ID:Bzc+Z3iP
>>338-340
馬鹿は何も考えない方が良いんだってよプロさんw
0343デフォルトの名無しさん垢版2018/06/16(土) 22:44:27.40
>>336
それも度を過ぎると再計算が走って重くなるからVBAで色を塗ってしまったほうがいいという一般論
0347デフォルトの名無しさん垢版2018/06/16(土) 23:12:39.52ID:h5xcE8hP
>>342
なかなか釣れないね
0351デフォルトの名無しさん垢版2018/06/18(月) 02:25:09.76ID:KIJFP7i7
FileCloseとSub Procの寿命について質問です。
作業中のSafe Backupを作成しようと思い、Shift+Ctrl+Sに
@ "_01" で終わるファイル名を、"_00" でリネーム保存
A 続けて "_01"でリネーム保存して元のファイルに戻る
といった動作を割り付けています。
この@の直後の時、"_01" はプロセス上にいないと思うのですが、SafeBackup
は最後まで正常に走り、"_01" ファイルがプロセス上に戻ってくるのが不思議です。
内部的にはどのような動きになっているのでしょうか。
0352デフォルトの名無しさん垢版2018/06/18(月) 07:11:35.78ID:teiB5Dus
期間にあったものを抽出する検索ソフト作ってて、optionボタンそれぞれ1年前〜今日、2年前〜今日、全期間ってあってdateadd関数計算して全期間以外はうまく出来るのですが全期間ってどう計算したらいいですか?
0353デフォルトの名無しさん垢版2018/06/18(月) 08:40:12.00ID:XqqBFg8U
>>352
ネタ?
その程度の事をここで聞かないと分からないの?
嘘だろ?
0354デフォルトの名無しさん垢版2018/06/18(月) 12:21:10.07ID:MeAHP2Rc
非建設的発言は良くないでしょ。

>>352
でも質問に情報が全く足らないな。
検索されるものは何なの?
別シートに日付のついたデータがあって、そこから検索するとか?

DateAdd使ってるのも良くわからないな。
全期間ってのは他に検索条件が無ければ全データになっちまうと思うんだが。
0355デフォルトの名無しさん垢版2018/06/18(月) 12:45:04.79ID:teiB5Dus
>>354
テキストファイルから一列ずつ検索。
instr(1,strline,txtSrchWd)
これてヒットしたら、スプリットで切って配列に入れて、(5)に入る日付と比べて正なら抽出したくてやってます。
現在の日付からそれぞれ1年、2年前は計算でうまく抽出出来ますが、全期間は一番古い日付調べておく必要があるんですか?
0357デフォルトの名無しさん垢版2018/06/19(火) 00:08:08.37ID:ndSRzvjj
君vba出来るんでしょとか言われて簡単なプログラム作成任されて作ったけど管理めんどくさすぎん?
初めはここは数字しか入らんよて言われてたからisNumericだけ判定してたのに数字以外入れると止まっちゃうから漢字とか諸々の対応させられた
そんな感じで他のinputとかアウトプットの要件がころころ変わる
そして全然動かんねーとか言われるイラつく
0358デフォルトの名無しさん垢版2018/06/19(火) 00:14:52.67ID:aJgkz5DG
>>355
全期間ならば現在の日付からの計算は必要なく、一番古い日付を指定しなくともテキストファイルの最終行まで走らせれば良いのでは。
0359デフォルトの名無しさん垢版2018/06/19(火) 00:48:51.59ID:k6tS4sBE
>>357
プログラムの仕様を決めるのはあなた
あなたが使用者に対してルールに沿った入力を求めるのは当然
道具は正しく使われるから道具として機能するのであって、猿に道具を渡しても壊れて返ってくるだけ

会社の要求をどの程度受け入れるか、もう一度冷静に考えたらどうか
個人的には、猿には付き合う必要ないと思ってる
0361デフォルトの名無しさん垢版2018/06/19(火) 06:09:54.39ID:Pu21NEEU
>>357
人に使わせるような真面目なツールにVBAは無謀でしょ
品質担保しようとしたら凄まじいコストがかかる
自分しか使わない、数行で終わる、使い捨ての、エクセル操作に特化したマクロがVBAのターゲット
0362デフォルトの名無しさん垢版2018/06/19(火) 07:29:40.94ID:mTLBhIvR
トレードオフで論破
0363デフォルトの名無しさん垢版2018/06/19(火) 07:36:01.81ID:3QD7URK7
>>307
一番簡単な方法はその都度オブジェクトブラウザで確認すること
アイコン表示されているから一目瞭然
0364デフォルトの名無しさん垢版2018/06/20(水) 18:04:43.14ID:jC8iZ17h
>>357
バカほど我儘な要求を平気でするからなぁ。で、「俺は忙しいからプログラムなんて覚える暇が無いんだ、暇なヤツはいいなぁ」とか吐かしたりさぁ。

俺は「お前のオツムに合わせてたらキリがねえわバカ」ってあからさまに言ってるよ。だいたい、数字を入力するところに平気で文字を入力して「何jこれエラーとかマジやってらんない」とか。
やってらんねえのはこっちだっての!
0365デフォルトの名無しさん垢版2018/06/20(水) 18:22:57.33ID:4RNQOdaM
使い方守れない馬鹿も馬鹿だけど本気で業務システムを作ろうってんなら
誰でも使えるようにデザインする努力も必要

入力文字種を守れない馬鹿がいる環境なら自由に手入力させる余地を残すな
0366デフォルトの名無しさん垢版2018/06/20(水) 18:39:01.82ID:toz5qFyw
とりあえずドキュメントなりマニュアルなりを作って
読まん奴まではフォロー出来ないとはっきり意思表示する

そっから先は職場の人間関係の話なので何とも
0367デフォルトの名無しさん垢版2018/06/20(水) 19:02:33.02ID:qDCLfWL3
そういう人に使わせる前提のある程度しっかりした作りのアプリはエクセルみたいな非生産的なプラットフォームでは普通は作らないね
エクセルは個人用のちょっとした処理をサクッと実行したい時とかに使うといいよ
まあその個人用のちょっとした処理だと今度はPowerShellのほうが楽なんだけどな
帯に短し襷に長しってやつだ
0368デフォルトの名無しさん垢版2018/06/20(水) 19:28:16.79ID:HhJafGKf
> そういう人に使わせる前提のある程度しっかりした作りのアプリ
エクセルには無理なんやなく
プロさんには無理なだけやんけw
言い訳だけは上手やねw下手やけどw
0369デフォルトの名無しさん垢版2018/06/20(水) 20:43:28.89ID:cuSrC+bt
VBAでUTF-8(BOM無し)ファイルを読み書きする最速の方法は何ですか?
ADODB.Streamだと遅いしBOM無しにするための2度読み書きでさらに遅いし
0374デフォルトの名無しさん垢版2018/06/21(木) 02:33:39.35ID:cblRaFU0
2007から2016に変えたらCSVの処理速度なんかがかなり低下した気がするんですが気のせいかな?
0375デフォルトの名無しさん垢版2018/06/21(木) 10:26:53.76ID:3AUOqUng
>>369
コードページを明示的に指定するdllを作るのがいいんじゃないか?
俺はそうしてる。自動判定なんていらん。(言い過ぎ?)
0376デフォルトの名無しさん垢版2018/06/21(木) 12:24:27.49ID:gHr1eedB
>>374
CSV言うても読み方も書かんとわからん。
workbook.openなんかはバージョン上がるにつれてどんどん遅くなってる。2003までは一瞬だったのに・・・
0377デフォルトの名無しさん垢版2018/06/21(木) 15:28:13.92ID:DWS517Dt
>>369
こいつ程度の頭でもできる最速の方法なのか?
そもそも最速の定義は何なのか。同一ハードウェア上でという前提条件があるのかないのか等々
馬鹿は考えもなしに「最高とか最速」などの用語を使いたがる
0378デフォルトの名無しさん垢版2018/06/21(木) 16:15:01.66ID:cblRaFU0
>>376
あー、基本workbook.openで開いてます…
ここで結構時間かかってるのかな
あと、セルの数字を一つ一つ計算したり置き換えたりって処理もかなり遅くなってるような
配列でまとめてとりこんで配列で吐き出すって感じの方が速いのかな

まだ色々と確認中なのですがいろんな物がこれまでよりやたら遅くなってる気がして…
0379デフォルトの名無しさん垢版2018/06/21(木) 17:46:03.54ID:G3PMV1Ez
表計算ソフトなんだかた視覚効果なんかいらないと思うんだが何故かMSはそういうのに拘りがあるようで
0380デフォルトの名無しさん垢版2018/06/21(木) 17:55:46.72ID:UNnnYLs6
それいったら殆どの機能が不要になるけど
表計算の上に無秩序に機能を拡張したコンセプトのよくわからないソフト
素人にはこういうのがいいんだよ
0381デフォルトの名無しさん垢版2018/06/21(木) 19:45:05.77ID:G3PMV1Ez
>>380
スマホタブレット世代の若いヤツはそれをいいとは思わないだろ。
0382デフォルトの名無しさん垢版2018/06/23(土) 22:52:17.92ID:UN4Qoivy
誰かwbsのイナズマ線を自動で引いてくれるソース書ける人いない。。。?

どこから初めていいかすら、分からない。
0384デフォルトの名無しさん垢版2018/06/23(土) 23:06:49.20ID:mwhtFBP0
>>382
1. WBSの入力サンプルを用意する
2. 1に基づいてイナズマ線を手動で書いてみる
3. 2に基づいてどういう入力のときにどういう出力をすればいいのか整理してパターン化する
4. 3に基づいてコーティングする
5. 4を動かして2と同様の出力になるかどうか確認する
0385デフォルトの名無しさん垢版2018/06/23(土) 23:55:59.49ID:v6rjk3zs
>>382
> どこから初めていいかすら、分からない。
流石にその状態だとこっちもどこから教えたらいいかすら、わからん
Excel 稲妻線 あたりでググって適当なアドイン使ったほうがいいんじゃね?
0388デフォルトの名無しさん垢版2018/06/24(日) 06:57:49.54ID:wKXyvT4A
VBAの本に書いてあるコードをひたすらパソコンに写経して実行してればVBAできるようになりますか?
0389デフォルトの名無しさん垢版2018/06/24(日) 07:22:58.28ID:wMUJPt69
>>388
3日でオッケー
0394デフォルトの名無しさん垢版2018/06/24(日) 11:16:27.44ID:/GbiIoLW
「イナズマ線」でググったらこんなの出ましたけど?

イナズマ線を簡単に引くExcelマクロを作りました
http://www.fin-itnews.com/entry/2015/08/12/031032
Sub イナズマ線描画()
'FreeformBuilderオブジェクトを宣言
Dim InazumaLine As FreeformBuilder
'始点を設定
Set InazumaLine
'以降の点を結んでいく
'繰り返し用変数i
Dim i As Integer
'列の位置固定用変数
'上から下にセルをなめていく。0以外の数値ならイナズマ線を引く
For i
'数値以外はスキップ
If Not () Then
'0もスキップ
ElseIf
'イナズマ線を引く(正の数なら>、負の数なら<)
Else
End If
Next i
'終点を設定
'イナズマ線を描画
'見た目の編集(青の太線)
0395デフォルトの名無しさん垢版2018/06/24(日) 11:37:54.91ID:I6qT+7Vz
>>386
Redmineでもなんでもいいけどオープンソース使えばいいよ
ビジネスマンなら無駄な出費は最小限に抑えなきゃ
0396デフォルトの名無しさん垢版2018/06/24(日) 12:13:16.69ID:+Dnac0xs
イナズマ線でほんとにイナズマになるのってまずいんだから
直線引いとけばいいんじゃいないかな
0398デフォルトの名無しさん垢版2018/06/24(日) 16:45:47.79ID:Lre4D6k1
1.シェイプの直線を挿入するのをマクロの記録で記録する。
2.記録されたコードの中で始点と終点と思われる部分を適当に変えて実行してみる。
3.2で得られた任意の2点で直線を引くマクロを2回実行し、その時1回目の終点と2回目の始点を同じ座標にする。
4.3の実行結果後、マクロの記録で2つの直線をグループ化するのを記録する。
5.n個の直線を引いた後で一度にグループ化するように処理を変更する。
6.n+1点の配列を引数にして上記を実行するようにプロシージャを作成。

マクロの記録は余計なコードが大量に含まれるから関係ないものを削除して実行を繰り返すと良いコードになる。
0400デフォルトの名無しさん垢版2018/06/25(月) 02:57:29.92ID:KNQSLrIZ
特にエラーがあるわけでもなくブレークポイントを設置しているわけでもないのに
黄色い矢印が出て止まるのってなんなんでしょうか
必ず起きるというわけでもなく出たり出なかったな上に続行ボタンを押せば特に問題もなく終了するので
発生原因がまったくわからないのですがこれバグかなんかですか?
@2013
0403デフォルトの名無しさん垢版2018/06/25(月) 08:30:31.52ID:0cxYdjFF
ウィンドウフォーカスが外れるとオブジェクトが使えなくなってしまい止まるコードは良くある。
コーディング上の問題
0404デフォルトの名無しさん垢版2018/06/25(月) 17:38:11.74ID:32Q0kwUe
>>400
「VBAProjectのコンパイル」を実行してからF5押してもダメか?
たまーに同様のケースでこれで解決する場合があったんで。
0405デフォルトの名無しさん垢版2018/06/26(火) 00:55:55.45ID:JcpFXbvc
>>400
エラー起きた後に続行すると動くって事は
画面が完全に表示しきれてないのに読み込もうとするからじゃない?
初心者ならエラー起きる箇所の前にwait入れる
プロなら完全に表示しきったら次の処理に行くようにする
0407デフォルトの名無しさん垢版2018/06/26(火) 06:58:14.23ID:6cpLrGqW
>>400
多分バグ
ブレイクポイントを設定したままセーブして
立ち上げ直すと起こる奴のことじゃないかな?
そこにブレイクポイントを再度設定して
外してやって起きるか試してみ?
0410デフォルトの名無しさん垢版2018/06/26(火) 19:28:17.51ID:/NQG0v2L
セル内にアルファベットがあるかどうか判断する関数おしえて
0412デフォルトの名無しさん垢版2018/06/26(火) 19:34:38.24ID:gqZ2opt6
>>410
VBAじゃなくて関数でいいの?
そしたら>>411に聞いたら?
きっと親切に教えてくれるよ
0415デフォルトの名無しさん垢版2018/06/26(火) 23:20:01.37ID:OOy83jKq
Sumifsの引数って内部的にどうなってるんでしょう?
ABABAB…って繰り返すので、
Byval何とかAs何とかってのが延々並んでいる状態?
それとも繰り返し用の書き方がある?
0419デフォルトの名無しさん垢版2018/06/27(水) 19:43:31.93ID:cmwRU+Lk
テーブル1に、row数が同じテーブル2を合体させたい
データ、書式設定、条件付き書式やドロップダウンリストごとテーブル1に合体させたい。
どうやるのが無難ですか?
0420デフォルトの名無しさん垢版2018/06/27(水) 20:21:28.84ID:fTvQb+z6
全く作り方が思い付かないからご教授お願いします。

@入力の所に数字を入れる。
Aup or downに数字が入れる。

例 入力45 up1 down2

Bupとdownを計算 -1
C入力45がコードのCとDの間で下のDとしてBで計算された-1上を選択。
D判定が×だから○まで上に上がりBを選択。

※計算が+なら下へ、判定○ならその左のコードを取得、×なら○まで下へ。

※上下に移動していって該当がない、移動なし、判定×ならエラー。

こんなのを作りたいんですが上下移動がどうしたらいいか分かりません。
https://i.imgur.com/rZ7HQjn.jpg
0421デフォルトの名無しさん垢版2018/06/27(水) 21:19:12.71ID:e0p/nHbu
>>420
ループが書けるなら何も難しいポイントはないと思うけど?
0422デフォルトの名無しさん垢版2018/06/28(木) 01:22:28.68ID:+QemlL/U
どんな状況で使うんだそれwww
0423デフォルトの名無しさん垢版2018/06/28(木) 01:31:07.58ID:yAlSsbFN
>>419
テーブルで結合せず普通にRangeでくっつけてテーブルにすれば良いのでは?そっから書式はどーにでもなる
0424デフォルトの名無しさん垢版2018/06/28(木) 07:43:13.21ID:xivqfK8L
>>421
Do while Not EOF(filNo)
 Line Input ♯filNo,strtxtLine
 ReDim Presrve arrline(cntLine)
 cntLine=cntLine+1
Loop

実際はこれでtxtファイルを読み込んでから1行ずつ見ていって判定処理したいんだけど、無理かな?
0425デフォルトの名無しさん垢版2018/06/28(木) 09:01:19.54ID:gmVEqVTK
>>424
無理じゃない
テキストファイルを配列に読み込んで処理すればいい
配列はワークシートのセルとまったく同じ構造なので、ワークシートで動くプログラムが作れたらRange (Cells)の部分をArray型に置き換えるだけ
0426デフォルトの名無しさん垢版2018/06/28(木) 09:56:18.70ID:0dK62kGd
i=1
range("i:2").select
でエラーが返ってくるのはなぜなんだぜ?

変数を含んだ行をコピペしようと思って、これでシンプルにできると思ったらできなかった
0427デフォルトの名無しさん垢版2018/06/28(木) 10:06:24.86ID:rXz6gjRS
平成30年のつもりで
H30 = 2018
とかやってた時に
Range(“A30:H30”)が”A30:2018”と解釈されたら困るだろ
0430デフォルトの名無しさん垢版2018/06/28(木) 12:37:51.72ID:vmNCa+jC
VBA昨日から始めたんですが
小数点第1位の繰り上げ処理がしたいけどわかりません
cells(1,1)=cells(1,2)/3とか簡単なやつをひたすら書いてるだけなのですがどうか力を貸してください
0434デフォルトの名無しさん垢版2018/06/28(木) 14:23:59.86ID:vmNCa+jC
>>431
すいません、切り上げです。
>>432
マクロの結果が123.1だったら124にしたいってことです
>>433
切り上げたいセル=そのコードでいけますか?
0436デフォルトの名無しさん垢版2018/06/28(木) 17:03:23.93ID:vmNCa+jC
関数でだけでいいですよね。
ありがとうございます
0439デフォルトの名無しさん垢版2018/06/28(木) 21:14:43.44ID:5sS5K7lt
めんどいのに意味のないレスはしたくなる馬鹿のジレンマ
0441デフォルトの名無しさん垢版2018/06/29(金) 14:09:13.49ID:pKfq68i8
ジャップ企業「わざわざ車輪の再発明をするこたぁねー」
アップル「iPodでウォークマンを再発明しました!」
アップル「iPhoneで携帯電話を再発明しました!」
アップル「iPadでタブレットを再発明しました!」
0442デフォルトの名無しさん垢版2018/06/29(金) 14:32:14.75ID:JaOW7x6U
iPodがウォークマンの再発明としか思えないから
日本からああいう製品は出なかったんだろうな
0443デフォルトの名無しさん垢版2018/06/29(金) 15:12:37.97ID:mqfybBJV
アップルの成功はAppStoreをオープンにしてアプリを爆発的に増やしたこと
日本企業はオープンにせず独自企画が好きだもんな
iPodの頃なんて大して注目されてなかったし
0444デフォルトの名無しさん垢版2018/06/29(金) 18:29:20.51ID:izu8oDQ2
どこがじゃ。
全然オープンじゃねえだろ。

iPodのインパクトだろ。
こういうものはガジェオタが飛びついて一般に浸透してくから、最初は一般に注目される必要は無い。

デザインの力は大きかった。
0445デフォルトの名無しさん垢版2018/06/30(土) 06:54:28.54ID:9Ry7JbLA
条件付き書式って名前とかタグみたいな個を識別できるようなプロパティないの?
条件にごちゃごちゃ付け加えると重くなるからvba側で操作したいんだけど
特定できそうなところでなんちゃって判定するしかないのこれ
0447デフォルトの名無しさん垢版2018/06/30(土) 12:09:38.19ID:CxGNiw/z
>>446
> ない上に知らん間に増殖する
そうなんだよね
条件付き書式の整理とか統合とかのコマンドがほしいわ
0449デフォルトの名無しさん垢版2018/07/03(火) 15:03:44.94ID:Jdc/5p+U
>>447
確かに欲しい。でも作ろうと思えば作れる事に気がついた。
追加されるとは考えられないしやるか・・
0451デフォルトの名無しさん垢版2018/07/03(火) 23:35:17.33ID:sZmhnLl0
ACCESSのフィールドをExcelに転記するとき、
例えばそれぞれ
1
2
3
4
5
と入っているレコードを
下から3つを転記したい(3、4、5の順で)場合どのようにすればよいのでしょうか?
CopyFromOrdersetでRowsMaxを3にすると1、2、3となり、下の3件3、4、5の順では転記できないでしょうか?
SQLのORDER BYを使うと5、4、3の順となりなかなかうまくいきません。
どなたか解決策を教えていただけないでしょうか?
0455デフォルトの名無しさん垢版2018/07/04(水) 07:21:03.50ID:Ets3rlLA
>>452-454
早速にありがとうございます。
確かに転記後にソートでどうにでもなりそうですね。
できれば転記時にできればとおもっておりました。
カーソル位置を3行目にする事で解決はおっしゃるとおりですね。
ただ私の最初の前提が不十分な解説のため申し訳ありません。データが増えていった場合でも下から3つを取り出したい場合はどうすればよいか苦慮しています。
ExcelVBAのように、Offsetが使えたらデータが増えていっても下から3つだけを取り出すという風にできていいなと思うのですが。
0457デフォルトの名無しさん垢版2018/07/04(水) 18:30:51.27ID:uOrTSuCX
>>455
現在行をn-3行目にしとけば良いんじゃない

>>456
単純にtop取るんじゃなくて、descでorder byしてtop取ったやつをもう1回order byする必要があるんだが
そんなSQLがすらすら書けるようなレベルのやつはこんな質問しないし
0460デフォルトの名無しさん垢版2018/07/04(水) 19:03:04.14ID:uOrTSuCX
>>458
それが自分でできてりゃ
>SQLのORDER BYを使うと5、4、3の順となりなかなかうまくいきません。
てな事にはなってないだろう
0462デフォルトの名無しさん垢版2018/07/04(水) 22:03:13.56ID:gFgZc5FG
EAK
0463デフォルトの名無しさん垢版2018/07/05(木) 07:07:56.16ID:tfdDHYdR
マクロ・VBAの勉強がしたいです
どのような方法で勉強を進めるのが理想でしょうか
エクセルのレベルはVLOOKUPなどのメジャーな関数を使える程度のレベルです
ちなみに会社員です
0464デフォルトの名無しさん垢版2018/07/05(木) 07:22:05.89ID:ydS/c7Yy
>>463
何をしたいのか明確な目的が必要
楽したい!ってモチベーションがないと続かないよ
トライ&エラーを繰り返すこと
教本だけでは身に付かないから、実践は必ず必要
0467デフォルトの名無しさん垢版2018/07/05(木) 08:33:49.18ID:rMERr/jv
>>463
今からプログラミングを覚えるならVBAなんて化石言語はやめましょう
言語的に近いC#がいいと思いますよ
VBA程度の事は全て出来ますしもっと色々と出来るので推奨
0468デフォルトの名無しさん垢版2018/07/05(木) 08:39:30.09ID:9AXPA/lJ
体系的に勉強する価値なんてないよ
やらなきゃいけないことをググって試してみての繰り返し
プログラミングのスキルやセンスを磨きたいなら他の言語で学んだ方がいい
0470デフォルトの名無しさん垢版2018/07/05(木) 18:59:11.64ID:d3LrKkRn
>>463
VBAを覚えて何がしたいのか知らんが、仕事で活用するなら
まず、エクセル関数をもっと覚えて関数で何とかできるようになりましょう

事務処理ならエクセル関数だけで大概のことはできる
VBAが必要な場面はあまり無いと思う。せいぜいファイル操作くらいか
0471デフォルトの名無しさん垢版2018/07/05(木) 19:22:05.35ID:RM/sNIBL
すいません、processingについてのスレッドはありますでしょうか?
0472デフォルトの名無しさん垢版2018/07/05(木) 19:26:01.95ID:gxCIuarn
使いわけでしょ。
数千あるチェック項目の内、1日100個ぐらいずつをチェックしていき、その集計結果で1日の結果を関数で出し、更に1ヶ月のト―タルなんかを関数でやってたら重くてどうにもならなくなったりするし。

銀行でDBから取ってきたデ―タが辻褄があってるかを調べるなんて仕事をしたことが有るんだが、その為にシステム組んでる側の(と言ってもそいつが組んでる訳じゃない)奴がチェック用に用意したsumproduct多用ブックは酷かった。
触る度に5分とか10分とか待たされた。
VBAで組んだら一瞬になったけどね。

自動再計算を切るのも諸刃の剣だし。
0473デフォルトの名無しさん垢版2018/07/05(木) 21:09:35.03ID:YSTvTCwo
プログラマじゃない普通の会社員がExcelを使うのにVBA勉強すんのは普通だろ。
なんで不必要なC#とかやらにゃならんのだ。
プログラマってほんと頭でっかちやな
0474デフォルトの名無しさん垢版2018/07/05(木) 21:17:37.90ID:fo69RQFS
VBAって二十年くらいなんの進歩もないよね
この言語を覚えて次に全く役に立たないじゃん
キャリアアップの為にも意味ないよね
0475デフォルトの名無しさん垢版2018/07/05(木) 21:30:31.77ID:xKEzIF3G
>>473
プログラマじゃないとしても今時エクセルだけじゃ話にならんでしょ
誰だって日常的にディレクトリ階層とエクセル以外のファイルを扱う
ツールの拡張がスクリプト言語になってることは良くある
自分のWindowsを管理するにはpowershellを使うね
得に最近需要が高まってるのはREST APIやスクレイピング技術だな
いずれもVBAでもできんことはないが果てしなく古臭い構文と開発環境、貧弱なライブラリのせいで死ぬほど生産効率悪いんだよね
マゾにはオススメかもしれんがノーマルな人にはオススメできんな
0476デフォルトの名無しさん垢版2018/07/06(金) 00:17:05.86ID:VZEPTATI
>>474
VBAは進歩がないのがメリットとも言える。
pythonなんかは2と3で動作仕様が異なる上、モジュールのバージョンも気にする必要があって、別PCで同じ環境を構築しようとすると結構面倒。
その点、VBAはどんなPC、エクセルのバージョンであっても安定して動作するって意味では楽だな。

色々言語触ったけど、自分の結論としてはどの言語が良い悪いではなく、結局適材適所で使い分けが大事。
0477デフォルトの名無しさん垢版2018/07/06(金) 00:21:52.27ID:M8GmHm7a
WindowsUpdateの影響で個々のPCで不具合でまくるが
0478デフォルトの名無しさん垢版2018/07/06(金) 00:23:59.34ID:BGc41+3f
もっと短いのにならないかな。
Vlookupとか長いので、GonとかPnとかさ。
Sheet1も地味に長いよね。
Werでいいよね。
0479デフォルトの名無しさん垢版2018/07/06(金) 01:20:50.99ID:yPJnVsMJ
事務員はプログラマじゃないからVBで十分
他の言語を扱うなら担当の部署に回すか外注する
部署で自分しか扱えない言語を触りだしたら間違いなくそいつは地雷
0480デフォルトの名無しさん垢版2018/07/06(金) 04:19:54.50ID:C9bArYB2
iPad上でもWinで書いたVBAファイルは動きますか?
ファイルをやり取り出来る?
0481デフォルトの名無しさん垢版2018/07/06(金) 05:32:38.53ID:ST4fD14t
「エクセルで十分」ってよく聞くフレーズだけど
「料理するには石器で十分」のような強烈な違和感を感じる
0482デフォルトの名無しさん垢版2018/07/06(金) 06:34:19.51ID:p7OwDDVB
VBAって結構リストビューになかされない?最近win10になったけどバグる。
そもそもリストビュー使わない?
0484デフォルトの名無しさん垢版2018/07/06(金) 07:19:10.36ID:0k7k2lmp
>>476
> その点、VBAはどんなPC、エクセルのバージョンであっても安定して動作するって意味では楽だな。
VBAはいいとしてもその上のExcelの動作がバージョンによって変わる
特にグラフ周りはグダグダ
0485デフォルトの名無しさん垢版2018/07/06(金) 07:20:30.17ID:CLCbtFoc
普通の事務職がVBAを勉強したいっていう何の変哲もない書き込みにおまえら首の皮を取ったようにレスしててワロタ
おまえらみたいなのが少数派だってことを認識した方がいいぞ
0486デフォルトの名無しさん垢版2018/07/06(金) 07:22:51.27ID:X6vsJP5v
>>485
首の皮を取ったは違うよね
0488デフォルトの名無しさん垢版2018/07/06(金) 07:48:02.36ID:3tEKTxuN
悪いこと言わんからちんこの皮は取っとけよおまえら
0491デフォルトの名無しさん垢版2018/07/06(金) 08:17:03.43ID:ST4fD14t
本気でプログラミングするわけでもない事務員なら、より簡単に色々出来ることが多い言語を選ぶのが正解だろ?
マゾはVBAから始めてもいいけど完全に選択肢間違えてっぞ
0493デフォルトの名無しさん垢版2018/07/06(金) 08:36:24.85ID:2QUNMYcg
ExcelVBAを学びたい人の目的はExcel上での自動化なので、他の言語提案する馬鹿は、要求仕様もRFPも設計も出来ない馬鹿だと思う
0495デフォルトの名無しさん垢版2018/07/06(金) 10:26:11.58ID:VwMR5YXD
つーかいい加減VBAなんてゴミ捨てろよ
手抜き目的でプログラムなんて興味なしが大半なんだからそのへん雑なjsが最適だろ
型だのSetだのCallだのいらねーんだよハゲ
0497デフォルトの名無しさん垢版2018/07/06(金) 10:54:51.32ID:aDF6cFGR
エクセルと心中する気持ちがある
目指せエクセルマスター
それぐらい本気で取り組む気持ちがあるならVBA
そこまでの覚悟がないなら他の簡単で使い道が多い言語にしたほうがいいね
0498デフォルトの名無しさん垢版2018/07/06(金) 11:43:53.94ID:XiAowgcv
>>496
カスタム関数がjsで書けるようになる。
現在ベータテスト中のはず。
またpython対応も進められてるはず。
0499デフォルトの名無しさん垢版2018/07/06(金) 12:22:05.24ID:qobvoXhT
ここぞとばかりに湧いてきよった教えたがりのプロさん達w
0500デフォルトの名無しさん垢版2018/07/06(金) 12:25:31.91ID:WR4Eg6+W
>>484
エクセルのグラフや統計ツールは場当たり的な作業で使うもので、自動化には向かない。
そういうのはpythonとかの方がいいよ。
0502デフォルトの名無しさん垢版2018/07/06(金) 12:58:51.82ID:2QUNMYcg
ExcelのjavaScript対応なんて、Googleスプレッドシートの後追いじゃないの?
サーバーサイドじゃなくクライアントで動くなら助かるけど、
でたぶん、APIがあるだけで関数書式はVBAと同じ手続き踏まされると予感
0504デフォルトの名無しさん垢版2018/07/06(金) 13:18:06.25ID:LdCqv7/c
>>502
もちろんクライアントサイド。google spreadシートのはサーバーサイドでちょっと複雑な処理書くと制限に引っ掛かったりで非常に遅く、jsの仕様もes5相当の古い書き方しかできず辛い。
その点excelはedgeのjsエンジンであるchakraコアがそのまま動き最新の機能が使える。
まさかのasync/awaitまで使えて夢が広がる
0505デフォルトの名無しさん垢版2018/07/06(金) 22:07:27.55ID:IfC5DM7h
dim rng as range
for each rng in selection.rows
以下略

こんな感じで複数行選択して各列に対して操作を行いたいんですよ
でその操作の中で行をコピー・挿入だったり削除だったりするんですけど、それがselection内だったりするとselectionそのものが変わっちゃったりするんです
複製された行に対しても操作しようとしたり、削除されて上に1行繰り上がって本来操作されるべき列が飛ばされたり
なんかいいアイディアないですかねぇ

>>482
同じことあった。ライブラリのバージョン違うと動かんのねあれ
客が使うオフィスのバージョン確認したわ
0507デフォルトの名無しさん垢版2018/07/07(土) 01:41:26.84ID:rsjeXCCL
どなたか教えて頂けませんか。
Debug.Printが毎回追記されていくのがうっとうしくて、下記のような記述をしました。

Private Sub im_del()
Application.VBE.Windows("Immediate").SetFocus
SendKeys "^a", False
SendKeys "{Del}", False
End Sub

Sub ABCDE()
Call im_del
Debug.Print "ABCDE"
End Sub

ところが、一瞬"ABCDE"の記述が出現した後、すぐ消えてしまいます。
"ABCDE"を出力したあとに、ctrl+A、Del、が処理されているように見えるんですが、これは何故起こってるんでしょうか?
0509デフォルトの名無しさん垢版2018/07/07(土) 04:25:45.76ID:nRfAjRal
>>507
SendKeysはWindowsさんに伝言をたのむ命令
その伝言が伝わる前に直接連絡した方が先に届いてもおかしくない
DoEventsいれてみ
0511デフォルトの名無しさん垢版2018/07/07(土) 11:39:14.52ID:ZbC6MOHz
>>510
こいつも雰囲気悪くしてるからw
0512デフォルトの名無しさん垢版2018/07/07(土) 12:19:02.02ID:W328YIg6
>>511
おまえが一番雰囲気悪い
0514デフォルトの名無しさん垢版2018/07/07(土) 13:34:48.20ID:E0dVopgV
5chに来て何言ってんだ
建前抜きにした罵詈雑言の罵り合いも殺伐とした空気も煽りも自演も5chの醍醐味だろう
綺麗なインターネットを求めてるなら実名でブログでもツイッターでもやりゃいい
0518デフォルトの名無しさん垢版2018/07/07(土) 15:03:05.21ID:T1XdHa2q
リアルではみんな良い人なんだろうな
そうだろ?
クソ野郎ども
0522デフォルトの名無しさん垢版2018/07/07(土) 16:25:39.38ID:kAZOuKsA
Sendkeysは基本避けるべき。
お手軽だからその時だけ動けば良い場合なんかに使うこともあるけど、制御できるようにWin32や別のAPI使うべきだよ。
0523デフォルトの名無しさん垢版2018/07/07(土) 16:28:50.65ID:kAZOuKsA
ああ、でもイミディエイトは簡単にはいかないんだった。
Win32でどうにかしようとして一発でExcel落ちること多数。

俺もSendkeys以外で操作出来ないや。
0524デフォルトの名無しさん垢版2018/07/07(土) 18:36:53.15ID:T1XdHa2q
>>515
これホント?
決定したの?
0525デフォルトの名無しさん垢版2018/07/07(土) 19:36:53.17ID:lX+hrShl
Pythonが使えるようになったとして、Rangeの扱いはどうなるんだろ?
xlRangeとか名前変えて凌ぐのかな。
xlPyter NoteBookとかもうワケがわからなくなりそうな気がする
0527デフォルトの名無しさん垢版2018/07/07(土) 20:14:51.88ID:E0dVopgV
アマチュアの皆さんはプロの話についてこれないでしょう
あるのかしらないけど事務員板などに行って、そっちで同レベル帯の人達だけでディスカッションすれば捗るのでは?
0530デフォルトの名無しさん垢版2018/07/07(土) 21:06:39.47ID:3p7nZui6
最近質問ないし
0535デフォルトの名無しさん垢版2018/07/08(日) 02:16:28.17ID:1rJAxozS
ID:Ojk7x3Ta
重度の妄想癖のある統合失調症患者
近いうちに行政の方に保護される予定です
0537デフォルトの名無しさん垢版2018/07/08(日) 02:41:06.85ID:1rJAxozS
>>536
でVBAの質問は?
何か聞きたい事はないの?
ないならキエロ
0538デフォルトの名無しさん垢版2018/07/08(日) 05:58:21.86ID:4Xu9JpUJ
質問です
エクセルでゲームを作っている初心者ですが
セルの背景に風景画を設定し、
それをたまに切り替える処理は可能ですか?
特にセル内にはアイテムjpgを表示して、その背面に風景画を
表示させたいのですが
0539デフォルトの名無しさん垢版2018/07/08(日) 06:23:17.01ID:GhYI1ZI5
普段事務系でVBAを利用しており大変役立っているのでVBAがボロクソ言われているのに衝撃を受けました。もっと良い方法があるのなら是非知りたいです。
他の言語の方がいいというお声をちらほら拝見したのですが、例えばエクセルで集計や管理しているデータを仕訳化して会計システムに読み込ませるようなケースでは他の言語の方が良い場合があるのでしょうか。
それとも、そもそもでエクセルを使っている場合はやはりVBAの方が向いているのでしょうか。
エクセル使っている時点で糞というご意見もあるでしょうが、、、
0540デフォルトの名無しさん垢版2018/07/08(日) 06:33:19.33ID:PI8C5Cu3
>>539
>エクセルを使っている場合はやはりVBAの方が向いているのでしょうか。
現状その通り、将来的には分からんってだけ
0542デフォルトの名無しさん垢版2018/07/08(日) 08:42:38.55ID:8kUPZF7b
>>539
データ入力まではエクセルでOK
表形式のデータ入力ならエクセルが便利ってのは事実だ

入力したデータを読み込み、なんらかの計算をして、別のシステムと連携する
といった処理は他の言語を使ったほうがいい
データの読み込みはExcel.Applicationのおかげでどの言語でもできるし各言語にもっと良いライブラリがある場合もある
一旦データを読み込んでしまえば後の処理はエクセルから独立して作ることができるのでエクセルの制約に縛られることがなく快適だ

VBAはイベントハンドラなどエクセルの操作を拡張するちょっとした処理を定義する場合に仕方なく使うものと割り切ろう
例えば表形式のデータ入力を補助するちょっとした処理を作りたいな、と思ったらVBAでOK
0544デフォルトの名無しさん垢版2018/07/08(日) 10:58:47.60ID:VlCTSpWI
textboxが3つあって仮にABCとして、enterイベントでエクセル読み取ってlistboxに追加。追加されたものをダブルクリックしたらtextboxに入れる。

A→追加→dクリック→Aに追加
B→追加→dクリック→Bに追加

textboxに追加する際にtextboxを特定するにはどうしたらいいですか?
0547デフォルトの名無しさん垢版2018/07/08(日) 13:57:15.04ID:RDaThQGn
>>544
意味わかんねえから誰も答えらんねえ

enterイベントって何よ?そのイベントはどこから発生する設定なわけ?

"エクセル読み取って"とは?

listboxに追加されるのはエクセル?w

最後に、なぜlistboxからtextBoxに追加する?
0548デフォルトの名無しさん垢版2018/07/08(日) 14:25:14.30ID:2En7rgQR
>>544
実現したい事を一個づつ分けてみては?
ちょっと意味が分からない
0549デフォルトの名無しさん垢版2018/07/08(日) 14:50:14.10ID:+Ya/8hB+
エスパーしてみた

textboxが3つ(a,b,c)とlistboxが1つあって、
いずれかのtextboxに値を入力してenterを押下すると、その値がlistboxに追加される。
(その際に、どのtextboxから追加されたのかも情報として保持しておく)
listbox側でアイテムをダブルクリックすると、そのアイテムを元のtextboxに再度表示させる。

というような動作がしたいのではなかろうか?
0550デフォルトの名無しさん垢版2018/07/08(日) 16:00:48.38ID:VlCTSpWI
説明下手ですまん。
textbox a b c3つ。
listbox 1つ。

listboxにはa b cにはそれぞれ違う入力候補が表示される。
textboxがフォーカスされるとエクセルから読み取ってlistboxに入る。
ここまでは出来た。

抽出された、listboxから選んでそれをダブルクリックでtextboxに入れたい。
その時に入れるべきtextboxの保持の仕方が知りたい。出来ますか?
0551デフォルトの名無しさん垢版2018/07/08(日) 16:10:27.07ID:4Xu9JpUJ
>538も頼む
0553デフォルトの名無しさん垢版2018/07/08(日) 16:29:59.39ID:GTuulETc
listbox1のリスト要素は textbox a,b,c選択毎に変わる。a選択時にはa用要素、b選択時にはb用要素...と。
ユーザーがリストの要素をダブルクリックした時に目的のboxに入力させたい。て話ね。
単にコードの内部で変数維持すりゃいんじゃないの?
0555555垢版2018/07/08(日) 17:50:15.92ID:a626A7YN
555げっち(´・ω・`)b
0559デフォルトの名無しさん垢版2018/07/08(日) 21:39:50.37ID:tFNVscbi
>>558
「セル 背景 画像 vba」でググっただけだよ
むしろどんな単語で検索したのかこっちが聞きたい

あーあと勝手に>>538はシート全体へ背景を表示したいと捉えたけど
文字通り「一つのセルに背景画像と他の画像を重ねて表示」させたいなら
AddpictureとZOrderをキーワードに調べてみて
0560デフォルトの名無しさん垢版2018/07/08(日) 21:42:11.08ID:O4ec/hiX
>>507です。
SendKeysのctrl+A、Del、のあとに2秒も待機をはさみましたが、やはり"ABCDE"が出力されてからその文字列が削除されました。
検証したところ、環境のせいか何なのか分かりませんが、SendKeyはマクロが終わってから処理されているみたいです。
あきらめます。いろいろどうも。
0561デフォルトの名無しさん垢版2018/07/08(日) 22:45:24.72ID:keZYF54Z
うちで色々試してみたけど、少なくともWin10+Excel2016(64bit)の環境では
イミディエイトウィンドウのクリアがうまく動かない

なぜかSendkeysのところで警告音が鳴って(音だけでメッセージは出ない)、何も処理されてない感じになる
ネット上にもサンプルが色々転がってるけど、やってることはみんな同じだし、原因がよく分からん
DoEventsやSleepもあちこちに入れてみたけど変わらず
0562デフォルトの名無しさん垢版2018/07/08(日) 23:16:12.57ID:mRbfFTue
Win7で試し、XPで試し ははぁ〜ん、もしかして、これは、レガシーアーキテクチャーだったんだな、と
Accessだと、とっくに「SendKeys」は使うな とご託宣のシロモノ  理由は言わずもがな
0564デフォルトの名無しさん垢版2018/07/08(日) 23:49:41.57ID:6NFC9SmT
んな面倒なことしなくても、バックスペースをそのまま出力すればいいんじゃないの?
どこかでそんな作例見たぞ。
0565デフォルトの名無しさん垢版2018/07/09(月) 01:06:22.88ID:mkHLXi+c
バックスペースでもデリートでもかまいませんが、
マクロ処理より「先に」SendKeysがしたい、というのが主旨でした。

別にSendKeysにこだわる理由もないのですが、どうにも他の手段も思いつきません。
みんな煩わしくないのでしょうか。
0567デフォルトの名無しさん垢版2018/07/09(月) 04:14:18.18ID:f/Se9rRG
Sendkeysじゃなくて、Debug.Printで出力しろって言ってるんじゃないのか
出来るかどうかは知らんけど

うちの環境でSendkeys試したら、それ以前にイミディエイトウインドウがアクティブにならんかったわ
0568デフォルトの名無しさん垢版2018/07/09(月) 07:20:58.16ID:oaLCehsV
>>567
確かに検索するとバックスペースを大量に出力する方法も出てくるけど2016ではだめだった
制御コードはみんなスペースに変換されて出力される

イミディエイトウィンドウをアクティブにするには、日本語版では "イミディエイト"
"immediate" は英語版
0569デフォルトの名無しさん垢版2018/07/09(月) 14:06:10.15ID:IuCatlSv
もうメモ帳で立ち上げたテキストファイルにリアルタイムで追記していくでいいじゃん
0570デフォルトの名無しさん垢版2018/07/09(月) 14:10:18.91ID:f/Se9rRG
>>568
>イミディエイトウィンドウをアクティブにするには、日本語版では "イミディエイト"
いや、それはわかっている
SetFocusしてもアクティブにならんかったんだよ
まあ古い環境なんで追試するほどのもんでもないしどうでもいいが
0571デフォルトの名無しさん垢版2018/07/09(月) 16:20:47.97ID:LRI0HbDx
Excel2010、2013、2016
Excelに詳しくない人が何でも貼付をする為、書式がグチャグチャになっていく・・・。(値に貼り付けが基本と説明してもわからず・・・。)


こういうのを作ったけど不具合が出てしまう。(貼付が出来る。)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next

Target.PasteSpecial xlPasteValues

Application.CutCopyMode = True

End Sub



「値に貼付」以外の貼付ボタンを非表示かロックをする方法は無いでしょうか?
0573デフォルトの名無しさん垢版2018/07/09(月) 21:04:26.74ID:9bvYRSDO
問答無用で値のみに強制するならchangeでコピーundo値貼り付けでいけそうだが
共有ファイルだと他の人に迷惑だし全体の書式を修正するコード書いたほうがいいんじゃないの
0574デフォルトの名無しさん垢版2018/07/09(月) 22:14:03.98ID:UwO94Onz
SubとFunctionの違いは
返り値がないかあるかの違いだけですか?
0575デフォルトの名無しさん垢版2018/07/09(月) 22:15:58.48ID:UwO94Onz
英語やってる人なら
x イミディエイト
o イミーディイット
のカタカナにしたいな。
0576デフォルトの名無しさん垢版2018/07/09(月) 22:25:59.43ID:FOPi2RFP
>>572
すみません。
書式だけではなく、セルの保護まで設定される。
コピー=セル保護有
ペースト=保護無のところに保護有に切り替えてしまう。
0578デフォルトの名無しさん垢版2018/07/09(月) 22:29:58.84ID:bjGkgyR6
>>542
539です。遅くなりましたが詳細ありがとうございました。
他の言語を使った方がいいとのことで、例えばどのようなものがおススメでしょうか。経験があられましたらお知恵をお借りできましたらありがたいです。
0580デフォルトの名無しさん垢版2018/07/10(火) 01:41:22.65ID:Gg9Q49Mf
>>578
横だが、
 > 普段事務系でVBAを利用しており大変役立っている
本業があるならこれでいいと思うよ

ここの人達(特に口が悪い人たち)は、目的を忘れて道具をありがたがる傾向があるけど
本業が別にある人は、そんな人たちの道楽に付き合う必要はないよ

もし、今の業務を大幅に見直したいとか自動化したいとか考えているなら
自分で何か言語を習得して…、ではなく、そこはプロのソフト屋さんに任せるのが一番
そして本業として求められるのは、システムの要求仕様をきっちりまとめる事
本末転倒とならないためにも、要求仕様をまとめることが一番大事ですね
0581デフォルトの名無しさん垢版2018/07/10(火) 02:01:02.44ID:gcQ+OUUD
> 普段事務系でVBAを利用しており大変役立っている

だけなら全く問題ないんだけど
だんだん進捗管理したいとか文字コード変換したいとか言い始めるやついるからな
しかもVBAしか知らないからVBAでやろうとして手に負えない

プロに任せろってのがその通り過ぎる
0582デフォルトの名無しさん垢版2018/07/10(火) 02:04:05.36ID:X6DfZTUr
Excel使うってのに、わざわざ他の言語勧めるやつは何か勘違いしてるように思う
VBなんて仕事する上での通過点でしかないから最低限動けばいいんだよ

職場で違う言語提案して稟議通せたやつがどれだけいるよ
完全にマイオナじゃねーか
0584デフォルトの名無しさん垢版2018/07/10(火) 08:21:44.60ID:3hcVIBfT
VBAってエクセル縛りがあるから逆に大変だよね
0586デフォルトの名無しさん垢版2018/07/10(火) 10:48:31.48ID:l6mq6P/D
逆に言えば、ExcelのしごとをするのにVBAが最適なのは当たり前
Excelの仕事はテキスト・ファイル処理だけじゃないのにRubyが無敵だとVBAのスレで言い出すバカ
0587デフォルトの名無しさん垢版2018/07/10(火) 11:07:03.34ID:kQC9Nqvj
こっちがいい

かなしいRuby 第1版、2018
0588デフォルトの名無しさん垢版2018/07/10(火) 11:49:46.19ID:IqCVdG3S
唐突にRubyとか言い出すのはバカだが
ファイル・テキスト処理はExcelの仕事でもVBAの仕事でもないだろ…
0589デフォルトの名無しさん垢版2018/07/10(火) 19:49:55.48ID:IMvmHeKZ
エクセルの仕事はVBA

まあ一理あるけどエクセルで全てが完結する仕事ってそんなにないんだよね
ほとんどの仕事でプラスαがあってそのαを処理するのにVBAは果てしない苦痛を要求してくる

なのでエクセルで仕事する部分を最小化するように設計して
他の言語を使って楽しちゃおうってわけ
0590デフォルトの名無しさん垢版2018/07/10(火) 20:28:21.19ID:xpg1UcCu
プログラムの勉強ちゃんとやるってんならサンプルの多いc#がいいと思う
事務仕事っていってもofficeしか弄らないなんてことはないだろうし
ちょっとしたGUIソフト作れるようになったら楽できる部分も出てくるはず
0591デフォルトの名無しさん垢版2018/07/10(火) 22:00:34.34ID:/yPQGae9
保守やユーザーサポートしかやらん社内SEには、高い開発環境なんて買うてもらえへんのや。。。
0592デフォルトの名無しさん垢版2018/07/10(火) 23:13:00.67ID:qnS0KE4Q
別にαの処理もVBAで余裕だが。
単純にVBAのスキルが足りなくて苦痛な処理しか書けないだけだろ。
0593デフォルトの名無しさん垢版2018/07/10(火) 23:16:14.98ID:qnS0KE4Q
別にC#でも良いんだけど、それでもExcelの場合はVBAの方が良いことも多いからね。
よっぽどVBAが不利になる場合以外はVBAで書いちゃうな。
0594デフォルトの名無しさん垢版2018/07/10(火) 23:39:36.53ID:vwHfZ0oa
VB6のことなんだけど、formにいくつかのtextbox等があって順番通りに入力させたい時ってenterキーじゃいないけどわざわざ仕込むのが当たり前?それともタブで移動が当たり前?
0595デフォルトの名無しさん垢版2018/07/10(火) 23:49:25.50ID:10ucIwq3
マルチラインでもないテキストボックスでEnter飲み込んだらデフォルトボンタンが機能しないじゃん
たまにそういうのに出くわすけど嫌い
0596デフォルトの名無しさん垢版2018/07/11(水) 00:24:49.52ID:a2SSIQiR
>>594
ホストの移行でさんざんそういうの書いたけど
Windows的には>>595のいうようにEnterはデフォルトボタンだから
タブで移動させるようにユーザー教育するのが正解
桁が決まってたらシリアル入力のように自動で飛ばしてもいいかな

ただデフォルトボタンで画面確定されてしまうのがウザいってんで
デフォルトボタンを無効化したりすることも多かった
Webに移行してもデフォルトのsubmitさせないとか
0598デフォルトの名無しさん垢版2018/07/11(水) 01:19:41.31ID:hd1SdLgT
他の言語を現場で使うのを許されるほど裁量与えられてんのかな
VBはexcelだからノーカンみたいな屁理屈で通ってるけど
自分がいない時に誰もフォロー出来ないようなシステムは使わせてもらえないわ
0599デフォルトの名無しさん垢版2018/07/11(水) 01:22:02.80ID:Uq74SWzq
vbaでwebサイトのhtmlを取得しようとしてるんですが、うまく行きません。
お知恵を拝借できませんか。

完全にグーグル検索に頼ったやり方で、
Dim source As Object
Set source = CreateObject("MSXML2.XMLHTTP")

source.Open "GET", "https://www.kyounoryouri.jp/recipe/42799_.html";, False
source.Send

Do While source.readyState <> 4
Loop

Debug.Print source.responseText
Set http = Nothing

という感じで、NHKの「みんなのきょうの料理」のレシピ記事を取得しようとしています。
ところがsource.responsetextには、htmlのフッター領域しか入っていません。
なぜこんなことが起きるのでしょう?
試している限りだとフッターしか引っ張れないページとhtmlを全部取得できるページがあるのですが、違いが分かりません。、
0601デフォルトの名無しさん垢版2018/07/11(水) 09:04:05.28ID:vc47SYm5
>>589
vba以外の言語で書くべき+αの仕事て具体的に何を想定してるの
うちでは多分大したことしてないから全部vbaで完結してる
0602デフォルトの名無しさん垢版2018/07/11(水) 11:48:05.66ID:vy8Sh1uF
>>599
そのままコピペして試したけど、それで問題なくページ全体が入ってきてる
いっぺんブラウザ(IE)のキャッシュをクリアしてみ
0603デフォルトの名無しさん垢版2018/07/11(水) 12:28:01.10ID:I//Y0R5O
そのページが、HTML だけで完結しているとは限らない

まず、空のHTMLを送ってきて、後に、JavaScript でサーバーにアクセスして(Ajax)、
内容を取得して、HTMLにはめ込んでいるかも知れない

例えば、5ch のスレも、そういうやり方

だから皆、Ruby などで、Selenium Webdriver を使って、ブラウザを自動操作する。
ブラウザの動きと、全く同じ動きをするようにする
0604デフォルトの名無しさん垢版2018/07/11(水) 12:45:06.75ID:w6SN0hTk
>>601
画像処理(.NET使えないと面倒)
UIAutomation(GUI操作はどうしてもウィンドウ見失ったり不安定なのでtry-catch使えないの辛い)

という理由でこの辺はPowerShellでやってる
0605デフォルトの名無しさん垢版2018/07/11(水) 15:08:46.67ID:45/5lI1E
ブラウザ(IE)を使ってる人がいるんだ
0606デフォルトの名無しさん垢版2018/07/11(水) 21:07:43.68ID:c6ZQGIP9
>>604
UIAutomationはVBAでも使えるのを知らないからこういう発言になる。

つまりVBAのスキルが低くて使いこなせてないだけというわけだ。

画像処理?
これまたスキルが低いだけじゃね―の?
GDIやGDIPlus程度ならVBAでも使えるぞ。
0607デフォルトの名無しさん垢版2018/07/11(水) 21:24:21.27ID:YPDTWFFE
>>603
そういう場合はIEオブジェクトを使う手もあるね。
MSXML2.XMLHTTPやhtmlfileだと早いけどブラウザ操作じゃないからね。
0610デフォルトの名無しさん垢版2018/07/11(水) 21:32:28.80ID:YPDTWFFE
C#なら分かるが。

それにExcel絡みになる場合(操作した結果表示された所からデータ取ってくるとか)も結構ある。
0611デフォルトの名無しさん垢版2018/07/11(水) 22:12:04.57ID:D9JM4g2v
>>606
誰もVBAで実現できないとは言ってないだろ…

上で書いてるように「面倒」なんだよ

VBAでSystem.Drawing使用時と同じくらい簡潔な画像処理コード書けるか?

UIAutomationもそう
VBAでも使えるのは知ってるけどどうしてもだらだらと長くなる
UIA extensions抜きでもパイプライン使えるPowerShellの方が綺麗に書ける
エラーも捌きやすいし

向いてる向いてないはあるんだからVBAでコード書くことにこだわる必要ないでしょ?って話だよ
0612デフォルトの名無しさん垢版2018/07/11(水) 23:16:31.20ID:wufDerCc
VBAでなければ非効率的だと確定的な処理を除いて全部、他の言語のほうが良い
誰だって楽に多くの収穫を得たいからね
0613デフォルトの名無しさん垢版2018/07/11(水) 23:38:00.81ID:Uq74SWzq
>>600

>>599です。まさしくご指摘の通りでした。
テキストファイルに出したら全部入っていました。
ありがとうございます。
0614デフォルトの名無しさん垢版2018/07/12(木) 00:03:50.33ID:3JoGuV3g
マクロが上手く動かないと言われ、確認したら非表示にしてたグラフ作成用テンプレシートシート消されてたり、セル削除上詰めとかされてて参照セルがズレてて上手く動かないて事が何度かある
使い方シート的なのを用意して注意書きしてるけど利用者はまともに見てないみたい
こんな時はどう対処するのが一般的なの?
消される可能性踏まえてエラー処理書いたりは流石にしないよね?
0616デフォルトの名無しさん垢版2018/07/12(木) 01:04:43.69ID:ZcY/inPF
例外処理について質問です。本とか見てると例として0除算なんかがよく上がってます。適当ですけど

dim a as long
dim b as long
dim c as long
a = 10
b = 0
on error goto errorHandle
c = a/ b
exit sub
error handle
msgbox "0で割ってます"

みたいな?でもこれ例えばif(b = 0) then 〜 exit sub みたいなの入れて弾いちゃっても同じことできますよね
どういうときにerrorを使えばいいのかタイミングがよくわからないので教えてください
0617デフォルトの名無しさん垢版2018/07/12(木) 01:36:38.58ID:NLjtNQuU
>>616
お前みたいな無知蒙昧な馬鹿にはわからない原因のエラーが出た時にはどうするか考える頭がないのか?
0619デフォルトの名無しさん垢版2018/07/12(木) 03:17:53.98ID:q2W2Q/X2
>>614
テンプレートシートはveryHiddenにする。

セルを削除したり勝手に追加したりするヤツは必ずいる。ロックしても「ロックがかかっていて使いづらい、パスワードを教えろ」と言ってきたり。
ふざけんなと思いながら無視してると「あいつはパスワードも教えない、性根が腐ってる」とか言われたりw
0620デフォルトの名無しさん垢版2018/07/12(木) 07:23:06.76ID:DrMgYtMF
>>614
> 非表示にしてたグラフ作成用テンプレシートシート消されてたり
Sheet.Visible = xlSheetVeryHidden

> セル削除上詰めとかされてて参照セルがズレてて
シート保護もしくは名前を付けて名前で参照
0621デフォルトの名無しさん垢版2018/07/12(木) 07:44:16.67ID:S2fXVOtS
なんでマクロ使えない奴らに話の主導権握られてるんだ
会社では作成者が仕様決めるんだから、従わない奴が悪いって話にしないと
0622デフォルトの名無しさん垢版2018/07/12(木) 08:24:55.93ID:PcCGU1N/
>>611
お前が言ってるのは「高級言語Basic最高」ってのと同じなんだよ。
ライブラリの有無の話じゃねーか。
今は知らねえがUIAutomationじゃ右クリック出来ねえとかライブラリの問題の場合もあるだろ。
俺は面倒だったけどPowerShellでもSendMessageでなんとかしたりしたが、それと一緒じゃね?

向いてる向いてないはあるがExcel絡みの場合にはVBAの方が向いてることも多い。
UIAutomationだって、単に操作して終わりならVBAじゃやらない。
問題はExcelが絡んでくる場合だ。

後は拘りだろう。
VBAから実行ファイルをShellなんかで呼び出して、実行ファイルは自分が終了時にファイルなんかに実行結果を書き出し、VBAがそれを読み込んでExcelに書き出すなんて処理はかっこ悪いから俺はやらねえ。
そういう場合はVBAで完結するように書くね。
0625デフォルトの名無しさん垢版2018/07/12(木) 12:40:38.65ID:UHuYLFEw
>>624こそ本物の嵐なのだ
0628614垢版2018/07/12(木) 15:13:26.88ID:3JoGuV3g
ありがとうございます
veryhiddenはなんか見た記憶があるけど忘れてました
0629デフォルトの名無しさん垢版2018/07/12(木) 21:39:12.41ID:XPHyAO1T
https://www.kentem.jp/product-info/dekispart/
この 入札・技術提案・施工計画 って画面、どう見てもExcelなんだけど
いいなー、これ、いいなー
って書けば誰か教えてくれるスレッドですか?
リボンのコマンドはともかく、右端の「ツリー表示」が知りたいんですけど
0635デフォルトの名無しさん垢版2018/07/13(金) 12:40:33.33ID:FjPirpe3
左上のアイコンが2007の頃のだし、大体がタイトルバーにExcelて書かれてるし
互換モードとかご丁寧に出てるしで、Excelと断定してたんです
右端に「ツリー表示」って出てる画像はそれっきゃ無いから間違いようが無いしで 省略してごめんなさい

脊髄反射の人へのエクスキューズはこのぐらいにしといて (←皮肉
そうですか、 カスタム作業ウィンドウねえ 知らなかった すごい助かりました
VSTOもためになります  これを手掛かりに必死こいて実装に向けてがんばります <<632-633 さん、さすがです
0638デフォルトの名無しさん垢版2018/07/13(金) 14:55:28.62ID:jg8uTWJQ
>>637
excelにVBA以外って何があるの?
0639デフォルトの名無しさん垢版2018/07/13(金) 17:24:42.67ID:OHjUMXb3
エクセルで違う言語持ち出す奴は職場でちゃんと共有できてるのか?
公開オナニーみたいな状態になってなきゃいいけど
0640デフォルトの名無しさん垢版2018/07/13(金) 19:13:13.19ID:ogH7wMhM
社内で共有するならVBAはありえないね
少なくとも1人の固定メンテナが決まってること
ドキュメントをブラウザで見れるように整備すること
テキストでバージョン管理すること
十分テストしたパッケージを配布すること
配布は社内のパッケージリポジトリで行うこと
これが社内で共有する時の基本な

エクセルだとバージョン管理もテストもしてないマクロをメールやファイルサーバーで配布
ろくな説明もなく飽きたらメンテナンスをやめて放置
みたいなバカな事をする人が湧いてくる
0644デフォルトの名無しさん垢版2018/07/13(金) 22:04:44.69ID:bi26uqZT
SIerやソフト屋さんははそれが今時だろうが、世の中色んな業種があり、ユーザーウェアとしてのExcelはそれなりに使い勝手がいい
0645デフォルトの名無しさん垢版2018/07/13(金) 22:18:02.91ID:VteK3peH
.NETで組めばすぐ終わるようなソフトをVBAでとか言われるとテンションガタ落ち、さらにそんなに掛かるの?とか言われるとイライラがとまらん
0647デフォルトの名無しさん垢版2018/07/13(金) 23:09:15.67ID:vOcOsPeZ
Netでやるとして、その部署(会社)にあなた以外にそれをメンテ出来る人居るんですか?
ま、これはVBAでやるにしても同じだけど
0648デフォルトの名無しさん垢版2018/07/13(金) 23:37:13.90ID:HtqPyAcJ
殆どの場合、VBAでもすぐ終わるしな。
Excel関係ないのに無理にVBAってのは良くないが。

それにVBAなら作った奴が辞めてもどうにかなる場合も有るけど他言語だとどうにもならなくて外注しなきゃならなくなることもある。
0649デフォルトの名無しさん垢版2018/07/13(金) 23:45:23.37ID:A1/+Kiup
VBAで組めるようなもんを他の言語で組んでもなんとかなるだろ。VBAで組みなおせばいいんだからw
そもそもそこまで個人に依存してる会社が問題だわ
0650デフォルトの名無しさん垢版2018/07/14(土) 00:09:54.61ID:1hODnhTd
Excelが関係ないならそうだがな。
関係ないならVBAで組むわけ無いんだから。
わざわざ他言語で組むんだから何で?となりゃややこしい場合ということになる。
0652デフォルトの名無しさん垢版2018/07/14(土) 05:17:01.21ID:jCvbT6c5
VBAと.net論争は不毛だよね
俺も最初は何で今更VBAをって思ってたけどね
netからしたらそもそもデータを扱うのにDBじゃなくてエクセル?ってなんだよって思うけど
エクセル縛りならVBAが最適なのは間違いないし
かと言って今からVBAを覚えるのもなぁーって事なんだよね
で それならC#でWinフォームを新規で作った方がデータならより複雑な処理も便利で簡単かつ高速で出来るかなって思うからね
アップデートもオンライン配信だし
でもエクセル縛りならVBAの一択なのは間違いない
0653デフォルトの名無しさん垢版2018/07/14(土) 08:11:02.76ID:DkLuqI8L
エクセルVBAができればデカイ顔できた時代と違って
今はエンドユーザーにもある程度のITリテラシーが求められている

REST APIがユーザー向けに提供されてるとかちょっと前までは考えられなかったが
今じゃ非IT系のビジネスマンでも当たり前のようにリクエストを飛ばす時代になってしまった
本末転倒な気もするがテクノロジーが進化するとユーザーも進化しないといけないんだな

専門職に任せっぱなしじゃまずいって流石に政府も気が付いた
なので小学校でプログラミングを必修化などして慌てて対応しようとしてる
子供達はいいが大人はだれも面倒を見てくれないから自分で学ぶしかない
0654デフォルトの名無しさん垢版2018/07/14(土) 09:08:36.98ID:6dJj+KTK
>>653
>専門職に任せっぱなしじゃまずいって
その専門職が「IT土方」と呼ばれて底辺職種になっちゃってる。誰が本気で取り組むかっての。
数年後には無かった事になってるよ。小学校の教諭にプログラミングを教えろって無理だし。

ところで、VBAができればデカイ顔ができた時代ってあったのか?
俺の知ってる限り、そんな話は聞いたことがない。
0655デフォルトの名無しさん垢版2018/07/14(土) 09:48:56.86ID:tlg+Mskq
>>654
噂ではいろいろ言われてるけど実際は都合のいい便利屋さんになるだけだもんな
職場によってはVBA禁止だし

素人がVBA出来るようになればヒーローになれると妄想してるだけだろう
どんなにVBAで便利な業務ツールを作ってもたいして評価されないのが普通だわ
そんなもん覚えるなら効果的なゴマすり覚えるか昇進試験頑張ったほうが費用対効果は高い

中小零細なら評価してくれる会社があるのかもしれんけどな
0656デフォルトの名無しさん垢版2018/07/14(土) 10:58:13.85ID:6KRoPNpl
>>655
世の中にはIT企業以外も存在してるしむしろその方が多い。
そもそもプログラム書ける人がそんなにいない。
だから、VBAですらできれば評価される世界はたくさんあるよ。
0657デフォルトの名無しさん垢版2018/07/14(土) 11:23:16.49ID:tlg+Mskq
>>656
IT企業以外の大企業でVBAを評価してくれる会社なんてあるの?
聞いたことないな。VBA禁止とかVBAはズルとかなら聞いたことあるが
やっぱ大企業のオフィスワークなら昇進試験(資格試験含む)頑張るの一択でしょ?

昔働いてた企業で他のグループ会社の営業がPC得意だけど評価されないから
PC苦手ということにしてると言ってたの聞いた時には笑ったわ
0659デフォルトの名無しさん垢版2018/07/14(土) 11:52:52.69ID:6dJj+KTK
>>657
>昔働いてた企業で他のグループ会社の営業がPC得意だけど評価されないから
>PC苦手ということにしてると言ってたの聞いた時には笑ったわ

これが現実なわけで。マジでプログラム書けるとか言ったら変人扱いされる、つうかされてる。
なのに、面倒な事務処理があって残業したくない、メンドくさいとなると「すき屋の牛丼奢るから作ってくれ」とか言いやがる。
まぁ、内容聞いて面白そうなネタだったらやるけど、簡単過ぎてバカバカしい時は「あー忙しい」と言ってやらない。
0660デフォルトの名無しさん垢版2018/07/14(土) 12:34:29.86ID:2D8jzW0N
>>654
おまえがVBA出来たって所詮無能なんやから当たり前やろw
普通の人はデカい顔しとるし実際尊敬されとんでw
0661デフォルトの名無しさん垢版2018/07/14(土) 12:43:59.51ID:tlg+Mskq
>>658
大企業だと個人プレーよりチームワークを大事にする会社があるんだよ
とりわけチームワークを最重要視する会社ではVBAがズルになるケースもある
他には、その人しかメンテナンス出来ない状態になるのを避けるためのということもある

VBAツールがどうしても必要なら業者や派遣を呼べばいいというのもある
0662デフォルトの名無しさん垢版2018/07/14(土) 14:03:31.05ID:Po+jmaWT
話し相手がいない老害が絡んでるだけならまだしも
今更vbaかその他かなんて議論無意味すぎて草も生えない
そもそも想定してる前提が違いすぎて議論にすらなってない

雑談続けたいなら前提合わせれば?ただし老害は除く
・処理の難易度(単純な行数じゃわからんが十数行で片付く仕事なんてほぼ簡単な処理だろ
・処理する人のスキルセットと能力(プログラムしらねーなのか、Cなら知ってるとか
・処理の影響範囲(社内のみとか外販するとかその結果を何に使うかとか
・処理を実行する環境の制約(ネットにつながってねーとか、office以外インストールできねーとか

こういうの考えるのこそこのスレの大多数であろう非プログラマーで
ユーザー側に近い人に求められるスキルじゃねーの?ただし老害は除く
0666デフォルトの名無しさん垢版2018/07/14(土) 15:38:40.92ID:6dJj+KTK
>>660
>普通の人はデカい顔しとるし実際尊敬されとんでw
という夢を見たのかニート爺W
0668デフォルトの名無しさん垢版2018/07/14(土) 15:52:02.19ID:4RxIMQwD
小さいプログラムの間は、VBA でも良かったけど、
複雑なプログラムになるに従って、Ruby の勉強コストと逆転してくる

大規模になるほど、Ruby などの方が、バグが少なく、可読性が高くなってくる。
保守コストが、言語の勉強コストを上回るようになってくる

プログラムの複雑性というのが、累乗的に加速していくから

最終的には、たった1行直すだけでも、全システムの調査が必要になってくる。
ソースコードがスパゲッティ・泥団子w
0669デフォルトの名無しさん垢版2018/07/14(土) 16:14:58.91ID:hUXcVJkZ
もっと大規模になるとrubyも???ってなってくるぞ
そうなったらもう立派なプロだ
0670デフォルトの名無しさん垢版2018/07/14(土) 16:24:21.40ID:jCvbT6c5
しかしRuby人気も落ちだよな
0674デフォルトの名無しさん垢版2018/07/14(土) 19:17:51.39ID:tlg+Mskq
>>663
そうだよ、プログラミング関係は専門業者か派遣
非プログラミング系の大企業のオフィスワークなんだから
VBAだの他の言語だの使われても評価のしようがないし

その人が入院したり辞めたりなどで居なくなるとメンテ出来ないんじゃ困るしで
評価の対象にしづらい。営業なり総務なりの本分で頑張ってもらうとなる
結局は昇進試験や資格試験での成績がものを言う
0675デフォルトの名無しさん垢版2018/07/14(土) 19:55:50.33ID:a+apKTPD
VBAでプログラマーですとは言いにくいよね
0679デフォルトの名無しさん垢版2018/07/15(日) 06:40:04.13ID:Xzsy5GvR
マクラー
0681デフォルトの名無しさん垢版2018/07/15(日) 08:32:09.88ID:BpM21w6A
逆だろ
アマチュアのマクラーが別の板に行くべき
生涯学習板とかあるからそのへんで
0682デフォルトの名無しさん垢版2018/07/15(日) 10:07:35.47ID:2g98dedj
日本企業の半分以上がノートと電卓だし
パソコン入れててもメールが殆どとか
表計算とか入ってても紙がわりがいいところだからね。

あんま、こだわることないんじゃないかな
0685デフォルトの名無しさん垢版2018/07/15(日) 11:25:18.30ID:AGKlGRvT
コンプレックスが激しいプロさん達のスレやぞ
0686デフォルトの名無しさん垢版2018/07/15(日) 11:35:19.90ID:DFxtvQiZ
VBAの質問じゃなくて、こういうことをVBAでやりたいんだけどって質問がくるからそうなる
そういうことはVBAを勉強してやるんじゃなくて、他の方法があることを学んだほうがいいってなる
VBA縛りなのかを最初に明打っておけばいいんでね?
0688デフォルトの名無しさん垢版2018/07/15(日) 12:03:09.85ID:USUxlFY8
>>684
こういう所は質問者より回答者の方が集まる
回答者は基本神になりに来てるから質問者が来ると奪い合いになる

奪われた奴は全てに対してヘイトを撒き散らし始める
質問者や他の回答者へのダメ出し、罵倒
そしてVBAそのものの否定からのフルマウント狙い
0689デフォルトの名無しさん垢版2018/07/15(日) 13:01:36.20ID:blM5pGUx
派遣だけど、行ってた会社は正社員もVBA使ってる。
今まで行ったことのある大きな会社はどこも使ってた。

例えば外資系銀行。
ランキングトップ10に入っているどれか。
社内システムのチェックに使ってた。

例えば大手損保。
イントラ内でのスクレイピングとか。

何でもかんでも大金かけてシステム化するわけじゃないし、システム化を目指してのシュミレーションにVBAで仮に組むこともある。
0690デフォルトの名無しさん垢版2018/07/15(日) 13:04:14.21ID:BpM21w6A
答えが知りたいだけならググるなりstackoverflow.jpやteratailで質問すればあっという間に解決する
だからあえてわざわざこんなところまで質問に来てる人は、そういう型にはまった回答じゃなく、思考の柵
檻を広げる着想を求めてるんだと俺は解釈したね
他の言語を勧められた時に、なるほどそういうのもあるのかという、気付きを得てもらえたら幸いだね
0691デフォルトの名無しさん垢版2018/07/15(日) 13:06:31.26ID:blM5pGUx
VBAを否定してる奴はレベルが低いと思うね。
出来る奴は案件毎に、その処理だったらVBAは向かないとかいう話になるんであって言語そのものの否定にはならん。
自分が出来ないのを認めたくないからツールのせいにしようとする。
0695デフォルトの名無しさん垢版2018/07/15(日) 13:45:31.15ID:Xzsy5GvR
どんな処理であれ他言語の人はVBAを使わない時点で分かるよね
0696デフォルトの名無しさん垢版2018/07/15(日) 14:35:09.91ID:Bli52mh8
ブログラマーならVBA3行でキレるでしょ
もし他の言語サポートされたら大半の人が即ポイするだろうなこんなの
0697デフォルトの名無しさん垢版2018/07/15(日) 14:36:37.25ID:blM5pGUx
他言語の人が使ってるんだが。
ここは頭の悪い奴ばかりか?

技術的に参考になるレベルが皆無なんだよな。
自称他言語の奴も含めて。
0698デフォルトの名無しさん垢版2018/07/15(日) 14:40:32.09ID:nGyMEE4q
そらvbaと聞いただけで触ったこともないのに下に見て的はずれな指摘してるだけなので…
0699デフォルトの名無しさん垢版2018/07/15(日) 14:43:01.22ID:blM5pGUx
案件そのものがVBAの話が多いわけ。
今までの経歴から判断されて。
その中でこの処理はVBAには向かないと言ったことも何度もある。

向いてる処理が判断出来ないからVBA批判になる。
面白いのは、その言語で〜は出来る、向くといった話がほとんどなされないこと。
なされても薄っぺらなものばかり。
0700デフォルトの名無しさん垢版2018/07/15(日) 15:04:01.75ID:u37sPb7J
>>686
よく、その理屈書くけどここ500レスほどの間には無いみたいだね。
稀な事例を根拠にするなんて屁理屈だよねw
0701デフォルトの名無しさん垢版2018/07/15(日) 15:10:08.13ID:VY2gMA5A
>>662のとおりだろ
処理がvbaに向かないって、社内で定期的に情報クローリングする程度で
プログラマーはいなくて、さらに情報はエクセルで共有とかならvbaもありかもしれない

でもクローリングする対象がhtmlで定期的に構造が変わるからメンテも必要で
しかもその情報が多岐にわたっていて、となったら外注するなり、情報公開元に構造変えないように交渉するとか
メンテがしやすい言語に変えるなり必要になる

ただ今の若手は40,50のおっさんが適当に作ったvb(a)移植案件とかで苦汁をなめてるやつも少なくないから
反射的にvba=悪なやつもいるんだろう
0705デフォルトの名無しさん垢版2018/07/15(日) 16:31:52.48ID:BpM21w6A
プログラマが居ないならもっと簡単で便利な言語使えよwww
なんでそこで苦行VBAに行ってしまうんだ
0706デフォルトの名無しさん垢版2018/07/15(日) 16:45:33.80ID:VY2gMA5A
>>703
そうだね、言葉が悪かった
vbaよりはメンテがしやすい言語にかえる、だな
俺は君のお里がvbaなのはかまわないし、それによって君の技術レベルを貶める連中もただのアホだと思う
君がほかの人間にも根拠や比較をせずにvbaを勧めるなら、レベルが低い奴だな、とは思うだろうけど
0707デフォルトの名無しさん垢版2018/07/15(日) 18:04:46.93ID:Z8OLmsvO
マクラーw
0710デフォルトの名無しさん垢版2018/07/15(日) 18:43:13.83ID:BoHSnvh8
昔Macユーザーをマカーと呼んでたのを思い出すな、インフラ系だからパーラーでバッチャー、でパワーシェラーさー
0712デフォルトの名無しさん垢版2018/07/15(日) 19:29:36.48ID:blM5pGUx
>>706
そもそもどこがメンテしにくいか根拠が無い。

結局ライブラリやツールの問題じゃないのかね。
で、そこそこ出来る奴なら自分なりのライブラリやツールを既に作ってると思うんだが。
0714デフォルトの名無しさん垢版2018/07/15(日) 20:16:06.49ID:BpM21w6A
文法
ランタイム
基本ライブラリ
パッケージ管理
プロジェクト管理
開発環境
情報量

何からなにまで全部クソだと思うが
デベロッパーの平均レベルの低さが致命的かな
0715デフォルトの名無しさん垢版2018/07/15(日) 20:31:42.62ID:iEbxSYHF
このスレで、スレが伸びているのは大概無駄話ではあるんだが、今回もご多分に漏れずか
vba嫌いな人間がここに来る必要ないと思うんだが、よっぽどvbaに嫌な思いでもさせられたんだろうなぁ
0716デフォルトの名無しさん垢版2018/07/15(日) 20:37:22.09ID:Z8OLmsvO
ん?
VBAってマクラーの事?
0719デフォルトの名無しさん垢版2018/07/15(日) 21:00:23.46ID:blM5pGUx
今になっても具体的な根拠が示せないから笑えるな。

というか、ここにまともに組める奴なんて殆どいないんだろうな。
0721デフォルトの名無しさん垢版2018/07/15(日) 21:38:09.39ID:VY2gMA5A
>>712
君は恐らくvbaで開発もメンテも困らない規模のソリューションが生業だったのと
メンテが必要なレベルのプログラムをvba以外で組んだことがないのではないかな
勝手に卑屈になってほしくないんだけど、貶めてるわけじゃない
金が払われるか、有用かどうかこそ重要で、そこを無視して言語論争してるやつはアホだと思う

で、そんな君にレガシー言語のメンテしづらさを説明しても伝わりにくいと思うので
>>ライブラリやツールの問題といういい指摘についていうと、まさにその通りだ
これが標準で使えるかどうかだけでも生産性が違う開発っていうのがあって、
どのライブラリやツールが使えるかは開発環境を決定する大きな要因になる

で、そんなライブラリやらツールが簡単に自作できる規模ならいいけど、
それで金取ってる会社もあるレベルで、それを自作するっていうのは本末転倒

要するに>>662で、頭の中にある前提が違う
0724デフォルトの名無しさん垢版2018/07/15(日) 23:14:11.47ID:Xzsy5GvR
>>723
何を検索してるの?
0725デフォルトの名無しさん垢版2018/07/16(月) 02:16:34.12ID:eSanV+AN
ここで質問してもほぼ無駄だよな。
質問してる事について答えてあげればいいのに、わざわざなんでそんな作り方するのだとかVBAじゃなくてよくねとかマクロにする必要なくねとかだし。
質問内容と違うことなら答えなければいいのに。
0726デフォルトの名無しさん垢版2018/07/16(月) 02:42:29.72ID:R6vlHAOU
まともな回答が欲しい質問者には別のサイトが幾らでもある
ここはもうそういうスレなんだよ
0729デフォルトの名無しさん垢版2018/07/16(月) 10:15:31.16ID:p7qXkibl
>>727
お前
マクラーか?
0738デフォルトの名無しさん垢版2018/07/16(月) 15:23:01.64ID:DGehNle7
会社でエクセルを電卓代わりとかメモ用途以外に使う?
データ収集とかデータ処理とかをエクセルでホントにやってんの?
冗談抜きでヤバくない?
0740デフォルトの名無しさん垢版2018/07/16(月) 16:36:53.10ID:R6vlHAOU
プロ様はExcelが大嫌いなので、シリアルデータ生成、矩形編集操作、グラフ作成でも絶対にExcelは使わない
チームや顧客の指定形式がxlsxでもExcelは使わない徹底ぶりだろう多分
0741デフォルトの名無しさん垢版2018/07/16(月) 18:18:07.07ID:OszAA8KG
いろいろ条件変えて試算、みたいな用途はExcelが一番いいと思う
既に起こった出来事をデータ化して集計するならRMDBSの方がいい
未来の事はExcelで、過去のことはRMDBSで
見積はExcelで、請求書はRMDBSで
0742デフォルトの名無しさん垢版2018/07/16(月) 18:24:35.71ID:Q5vr2/Oj
やっぱり想像通りだな。

>>721
そういうライブラリ(金取ってる)も知ってるし昔持ってたこともある(俺が持ってたのはSPREAD。今となっては古くて使えない)。
でもね、そういうライブラリってのはそれ用に勉強しなきゃならんわけ。
で、それ用に投資(勉強含め人月)しないといけない。
で、これまた上司なんかが規模と向き不向きが分からずに買ったりするんだけどさ。
昔Notes買って一切起動せずに捨ててたことあったなあ。
やりたいことを詳しく聞いたらフリーソフトで十分な内容だった。
まあ、Notesはライブラリじゃ無いけどさ。
単純にそれを買っただけじゃ意味なくて使いこなさなきゃならない。
やりたいことに見合ってなければアホなことになるんだよね。
買うようなものじゃ無くてもね。

で、クローリングの話に戻るけどさ、他言語でクローリングの勉強する意味なんてあるのかね?
だって複雑なことしたいんだったら作らせれば良いじゃん。
外注で終わりだろ。
所詮プログラマなんて底辺は使い捨てなんだからさ。

などという考えに俺は反対なんだけどね。
君の意見を総合するとそういうことになると思うよ。
俺がやってるレベルで十分じゃ無ければここにいる自称他言語のプロなんてお呼びもかからんと思うがね。
もっと上のレベルが呼ばれるだろう。

最初から他言語でクローリングして、その後も外注するほどじゃ無いって場合もあり得るわな。
結局、それで成立するかどうかだろう。
だから外注すれば良いから他言語のプロなんていらんとは言わない。
それと同じことだよ。
少なくとも俺が書いた奴は成立している。
0744デフォルトの名無しさん垢版2018/07/16(月) 18:59:02.18ID:+BWE6qVm
そんなフレームワークレベルの話は誰もしてなくて
標準ライブラリのレベルでVBAはうんこだってわからんかな

そもそも参照設定やらアドインやら駆使しないと外部のリソースを扱えないVBAじゃ
ライブラリっていう考えが理解しづらいのかもしれないけど
0746デフォルトの名無しさん垢版2018/07/16(月) 19:52:05.27ID:DGehNle7
マクラーの演説は長いって
簡単な事を難しくする典型
0752デフォルトの名無しさん垢版2018/07/16(月) 23:16:40.33ID:zdX83xUl
>>750
相手ができないって否定しに来てるだけじゃんw
ここに来てるプロってアレだろ、開発から外された運用監視とかしてる奴ばっかだろw
オブジェク志向も理解してないような奴もいたからなwww
0754デフォルトの名無しさん垢版2018/07/16(月) 23:25:41.24ID:zdX83xUl
ちゃんと理解してる奴は要求された環境でそれなりの物を作る。
それが出来ないと騒ぐ奴は理解してないだけ。
継承しまくりのコード書いてるんだろうねw
0756デフォルトの名無しさん垢版2018/07/16(月) 23:29:31.20ID:gMJBRM/0
またニワカだよ。
VBAでオブジェクト志向が合う場面は少ない。
だからこそオブジェクト志向を知ってる奴だったらVBAに嫌悪感なんて感じない。

オブジェクト志向に合う場面だったら喜んでそのように組むだろう。
まともな奴ならポリモーフィズムや継承が出来なくても、そもそも気にしない。
だって分かってたことだろ。

オブジェクト志向しか出来ない奴が嫌悪感を感じるんだろう。
0757デフォルトの名無しさん垢版2018/07/16(月) 23:33:24.91ID:gMJBRM/0
まあ、発言内容を見れば、そもそもどの言語も出来なさそうな奴が多いんだろうとは思うね。

技術的な話が出来ていない時点で。
ポリモーフィズムも継承もこっちが先に言及してる時点でお察し。
0758デフォルトの名無しさん垢版2018/07/16(月) 23:36:54.72ID:fVJkfJ21
そもそもオブジェクト指向に合ってないからなんも感じませーんってどんな理屈だ?
0759デフォルトの名無しさん垢版2018/07/16(月) 23:38:02.60ID:zdX83xUl
>>755
知ってる?
世の中にある開発案件は殆どがエンハンスだって。
適した環境を用意できる案件てどんなの?
運用エンジニアが端っこで作るちっこいスクリプトのこと?w
0760デフォルトの名無しさん垢版2018/07/16(月) 23:40:02.93ID:+BWE6qVm
>>757
ポリモーフィズムとか継承とかわざわざ持ち出して今調べて知った感丸出し
VBAが糞なのはそれ以前の問題だっての
0763デフォルトの名無しさん垢版2018/07/16(月) 23:46:27.95ID:gMJBRM/0
技術無いの見え見えなんだよなあ。
少し分かる奴ならSPREAD持ってたと聞けば多少は想像つくんだけどね。
勿論持ってただけじゃ何の意味も無いけどさ。

話の内容から想像することもできないレベルなんだから最初から強気に出なければ良いのに。
0764デフォルトの名無しさん垢版2018/07/16(月) 23:49:12.56ID:fVJkfJ21
>>759
いくらでもあるぞ
基盤のマイグレーションプロジェクトなんて腐るほど転がってる
拡張・変更の前に土台を整えましょうって話はよくあるしそうならないなら提案する
客に提案もできないようなど末端の場合は知らんが
0768デフォルトの名無しさん垢版2018/07/17(火) 00:00:05.72ID:cJ39lemp
>>765
まさか実行時バインディングでお茶を濁そうとしてる訳じゃないよね?
流石にマジメにそんな寒いこと言うとは思わんけど。
0770デフォルトの名無しさん垢版2018/07/17(火) 00:02:43.91ID:cJ39lemp
>>764
そのためにVBAが使われたりもする。
俺が組んでるのも、俺ので成果が出たら将来的にもっと大規模なシステムに盛り込まれる予定。
0771デフォルトの名無しさん垢版2018/07/17(火) 00:06:31.40ID:cJ39lemp
>>769
実行時バインディングなら参照設定と同じことだろ。
そして、そんなことは誰でも分かるレベルの話なんだから最初の質問の時点でそれが同じという前提の質問だと想像出来るだろ。
0773デフォルトの名無しさん垢版2018/07/17(火) 00:11:27.82ID:CYl7FF1v
>>771
あなたの世界では実行時バインディングと参照設定が同じでものであると?
すまんがパラレルワールドの話になるとちょっと俺もわからんわ
0774デフォルトの名無しさん垢版2018/07/17(火) 00:19:58.56ID:5c90KvqV
>>769
実行バインドなら参照しなくても外部ライブラリ使えるけど、 VBA。
ってことだろ。
で、パワーシェルでExcel操作するコードってのは実行バインドじゃねーの?
自前のライブラリなのかな、アレは?

ここまで書かないと理解できない??
0776デフォルトの名無しさん垢版2018/07/17(火) 00:35:28.92ID:KUSD+qCW
>>742
俺は君がvbaだとメンテしづらいっていう状況が想像できないって言ってるから
それは君が知らないだけって返したんだけど、想像通りとはどういうことだ
その後の話も筋が通ってないし意味不明だ

適材適所で選べばいいのに、vbaでいけるだろって一辺倒の人間がつくるプログラムに
他人が苦労していることに自覚的であれば、他の方法も勉強して問題は何かがわかるだろうに
そも、今までのやりとりをみるに、君は基本的に本職ではなく、プログラミングをずっと続けてきているが
関わってきた開発も個人レベル規模なのではないか

他の選択肢を考えるにあたり、自身の無勉強故にvba盲信してるような人間は明らかに老害だよ
0778デフォルトの名無しさん垢版2018/07/17(火) 00:42:37.93ID:cJ39lemp
>>773
そうじゃねえ。
質問者に実行時バインディングもNGと言われたらどうするんだ?
そんなことも想像出来ないレベルだから低いと言われるんだ。
普通にどっちも使ってる奴ばかりなんだから。

質問者の意図が実行時バインディングだけお咎め無しなんて想像するレベルの低さを言ってるんだよ。
0779デフォルトの名無しさん垢版2018/07/17(火) 00:45:02.78ID:cJ39lemp
>>777
そう。
だから俺なんて割合としては実行時バインディングの方が多いけどアホな言及はしなかった。。
0780デフォルトの名無しさん垢版2018/07/17(火) 00:58:26.22ID:cJ39lemp
>>776
本職レベルが必要なら外注だね。
実際、今までいた所はどこもそうだろうな。
君からすると客に近い所にいるんだろうな。

客に対して、それだったらVBAじゃなくてWebアプリにした方が良いとか言ったりしたこともあったな。
予算の関係で実現せず、不本意ながら俺が組むことになっちまったが。

君は極端なんだよ。
0か100で語ろうとする。
凝り固まっていて外注という選択肢もVBAという選択肢も他言語という選択肢もあるということが思いつかないようだ。
0782デフォルトの名無しさん垢版2018/07/17(火) 01:07:15.91ID:cJ39lemp
VBAが良いんじゃ無いの。
VBAが良いことも有ると言ってるんだが。
適材適所の中にVBAも有りうると言ってる。

いつもこの話になるんだよ。
一体何度このくだりをやるんだろうな。
しかも相手の勘違いも毎度一緒。
0783デフォルトの名無しさん垢版2018/07/17(火) 01:08:17.36ID:pleLE5tc
アンカーつけてるのに全く噛み合わないレスするってすごいな
人の話を全く聞かずに自分の妄想を垂れ流すことしかできないのか
0784デフォルトの名無しさん垢版2018/07/17(火) 01:10:50.98ID:t+LGGtnE
>>782
VBAはクソ過ぎて適所が少なすぎる、適所じゃないのに無理やり使おうとする質問やwebサイトが巷に溢れてるって話をしてるの
やっと理解が追いついた?
0785デフォルトの名無しさん垢版2018/07/17(火) 01:11:41.50ID:cJ39lemp
>>781
何で俺が君と同じ反論をしなかったと思う。
想像ついて恥ずかしいからだよ。

ついでに言っておくと参照設定もCreateObjectも使わないでExcelオブジェクトを扱う方法も少しは心当たりがある。
君は心当たり無いのかね?
0787デフォルトの名無しさん垢版2018/07/17(火) 01:13:22.41ID:cJ39lemp
>>784
そんなことは無い。
君のレベルに合わせるとこの言でOK。
だって君の発言自体このレベルだから。
0792デフォルトの名無しさん垢版2018/07/17(火) 01:28:26.29ID:cJ39lemp
根拠も碌に書かずに使いにくいと言うのと同レベルとはどういうことだろう。
根拠も書かずにそんなことは無いというのが同レベルだ。

そういう指摘さえ気が着かないんだからダメなんだよ。
0793デフォルトの名無しさん垢版2018/07/17(火) 01:30:58.68ID:CYl7FF1v
そういう戯言は他の言語が当たり前に持ってるような言語機能と基本ライブラリ、エコシステムを手に入れてから言ってくれ
0795デフォルトの名無しさん垢版2018/07/17(火) 01:37:55.93ID:cJ39lemp
>>793
さっきから聞いてると少しレベルが低いんだよね。
PowerShellでも俺の方が上かも。

だいたい、PowerShellとは用途からいって噛み合わないと思うんだが。
それに君が挙げる用途なら少なくともPowerShellなんかよりC#とかの方がまだましだと思うんだ。
0796デフォルトの名無しさん垢版2018/07/17(火) 01:43:58.25ID:c1Bp7RQ/
VBAのスレなのに他の言語が出てくるのはなぜ?
関係のない話題NGってスレも珍しくないのにここは随分緩いよね
0798デフォルトの名無しさん垢版2018/07/17(火) 01:50:20.21ID:CYl7FF1v
>>795
やっぱ酔ってるよお前
参照なしでExcelを操作できる言語は?って質問にpowershellって答えた
それを拡大解釈して1人で納得して全く意味不明だが勝ち誇ってるだけ
0799デフォルトの名無しさん垢版2018/07/17(火) 01:51:22.16ID:t+LGGtnE
というかいつからCreateObjectが駄目か否かみたいな論点になってんの??
わけわからん争点勝手に作って勝手に結論付けて勝手にオナニーすんなよ
0800デフォルトの名無しさん垢版2018/07/17(火) 01:56:44.27ID:CYl7FF1v
>>778
つかさ
実行時バインディングもNGになったらそれこそVBAなんてポンコツのガラクタになっちまうぞ
NGする意味もわからんし
0804デフォルトの名無しさん垢版2018/07/17(火) 06:01:12.77ID:N1omqWhw
VBAの事を理解してないのにって怒ってるの?
だって古文みたいで理解不能で読めないんだもん
もっと現代的な最新言語で喋ってよ
0809デフォルトの名無しさん垢版2018/07/17(火) 19:30:01.18ID:JM5JKP0L
当方事務職
VBAの勉強をしたい
なぜならば業務で使えたら便利だから
VBAエキスパート試験の勉強しておけば身につく?(適当)
0810デフォルトの名無しさん垢版2018/07/17(火) 19:45:19.25ID:c1Bp7RQ/
あのテキストは最初からやるにはちと不親切
尼ラン上位の本を買った方がマシかと
0814デフォルトの名無しさん垢版2018/07/18(水) 20:06:50.84ID:S3ghIXkA
最近、質問もなくなったね
もうVBAを使う人がいないから仕方ないか
0817デフォルトの名無しさん垢版2018/07/18(水) 21:10:13.61ID:S3ghIXkA
ではこの糞スレは次スレを立てずに終了にしますね
賛成の人?
0818デフォルトの名無しさん垢版2018/07/18(水) 21:18:12.67ID:kah2zkgo
ここは
Excel VBA 質問スレ Part54
なのに
>>VB6の質問とか馬鹿レベルの質問を排除すれば当然こうなる

とかって、エラ〜いプロ様はここに来るべきではないんじゃないっすか?
0822デフォルトの名無しさん垢版2018/07/18(水) 21:43:03.61ID:S3ghIXkA
安心しろ
もうこのクソスレは終了するから
VBAは結局誰も使う人がいませんでした
0825デフォルトの名無しさん垢版2018/07/19(木) 06:21:22.53ID:rcU8vgOc
プロの奴らってここに来て何がしたいわけ?
似たようなレベルの奴らが集まるスレにでも行けばいいのでは?
あるのかしらんけど
でも、ここにわざわざ来るのはそこまでレベルは高くないってことなのかな?
素人を蔑んで己の鬱屈した思いを解消しているんだろ
0826デフォルトの名無しさん垢版2018/07/19(木) 06:43:28.04ID:Htme3fDJ
絶対に次スレも次々スレも立て続けるしアンチなんぞに気にせずに盛り上げてくぞー
おー
0828デフォルトの名無しさん垢版2018/07/19(木) 07:29:40.08ID:RRR6oJQS
自称プロじゃない人って何者?
あとこのスレになんのために常駐してんの?

弱い者達が夕暮れーさらに弱い者を叩くーみたいな構図なんじゃねーのか
0830デフォルトの名無しさん垢版2018/07/19(木) 09:10:39.43ID:pbe0K50S
>>828
その人は自分で質問して自分で回答しる自演の人
そんでこのスレの保守と警備をしてる人だよ
キモいよね
0831デフォルトの名無しさん垢版2018/07/19(木) 11:35:33.43ID:SaAKA3rA
俺が見る他の板では本物のプロが来るなんて滅多に期待できないんだが、プログラミングの世界は
ずいぶんプロのレベルが低いんだな。
0833デフォルトの名無しさん垢版2018/07/19(木) 12:23:29.47ID:ZDidNsXk
プロと自称しても実質はVBAすらまともに使えない落ちこぼれ共やしな
てかなんでそんな無能が他人に教えたがんねんw
0835デフォルトの名無しさん垢版2018/07/19(木) 18:59:33.51ID:nizb68IV
VBAってプログラム単体でアプリっぽく出来る?
エクセルとかの中にしか存在出来ない?
0837デフォルトの名無しさん垢版2018/07/19(木) 19:24:30.72ID:18LPZpju
>>835
何を求めてんの?
Excelを隠したいならフォーム出してる最中に
Application.Visible = False
ってすりゃ、まぁそれっぽくはなるけど、どのみちExcel上で動いてんのは変わらんだろ
0838デフォルトの名無しさん垢版2018/07/19(木) 19:32:45.73ID:nizb68IV
プログラムだけを渡せたとして
受け取った方はofficeのバージョンに関係なく空のエクセルファイルに必要データを入力してからプログラムを実行みたいな
ちょっと説明が下手で分かりにくいですよね
0840デフォルトの名無しさん垢版2018/07/19(木) 20:27:08.33ID:9q5DUBsp
>>838
そんなものを使わされる方が迷惑
それも人に聞かなきゃわからないようなアホが作ったとなればなおのこと
0841デフォルトの名無しさん垢版2018/07/19(木) 20:33:24.68ID:D19/ncYI
実行後のアウトプットをどうしたいのか知らんけど、
Excelを起動しなければVBAが動かないのは当然じゃないか?
あくまでもExcelに内蔵されている機能の一つだし
0842デフォルトの名無しさん垢版2018/07/19(木) 20:37:16.40ID:HPf1TXvT
フォーム使うと本来の処理のメンテとフォームのメンテで仕事が2倍になる

シートに直接ボタン置いたり適宜ダイアログ出して分岐させたりする程度でできるならそっちのが絶対楽だよ
0844デフォルトの名無しさん垢版2018/07/19(木) 20:46:05.63ID:D19/ncYI
連投すまん。訂正だが、VBAはWordとかでも使えるんだったな
Excel内でしかVBAを使ったことがないから頭から抜けていた

ふと疑問に思ったのだが、
Excel内のデータ処理はWord VBA等でも簡単にできるものなのだろうか?
0845デフォルトの名無しさん垢版2018/07/19(木) 20:54:29.67ID:nizb68IV
Accessでも使えるし

マイクロソフト以外ならAutoCadもVBAに対応してて3D図面が掛けるし

他にも対応してるソフトがあるかも
0846デフォルトの名無しさん垢版2018/07/19(木) 20:54:47.60ID:XemOJdMD
できるよ
visual basic for (MS officeの) applicationでエクセル専用じゃないからな
てかofficeどころかMS製品ならほとんど操作できる
やりやすいか、機能が十分かは別として
0854デフォルトの名無しさん垢版2018/07/20(金) 08:51:49.30ID:OFPKMz8y
プロ様のお仕事はここでVBAをけなしまくる事 w
0855デフォルトの名無しさん垢版2018/07/20(金) 12:17:18.51ID:bqTI/EG+
おやおや
アマチュアさん達がロジックではどうやっても勝てない事に気がついてついに精神攻撃を開始したぞ
こりゃ事実上の敗北宣言だよなあ
0856デフォルトの名無しさん垢版2018/07/20(金) 12:20:18.69ID:3LriuwdQ
プロさん「これはプロ対アマチュアの戦争や!」
0857デフォルトの名無しさん垢版2018/07/20(金) 12:23:17.41ID:dkCkSlGu
スポーツ、学問(理系)、音楽
この辺の板でプロはほとんど来ない。
まあここではただのサラリーマンなんだろえけど、プロなら安っぽい行動するなよ。
0858デフォルトの名無しさん垢版2018/07/20(金) 12:45:16.97ID:3LriuwdQ
言わんだけでなんぼでもおるわw
プロと自称しとる奴はクソばかりやけどw
0860デフォルトの名無しさん垢版2018/07/20(金) 13:36:56.12ID:/QBOvXZ3
プロだと証明できるエビデンスがない限り、
『プロレベル』の実力があろうと、アマチュアに分類される。
所詮アマの中でマウントを取り合っているだけだ。
このスレは、質問に対して有識者が回答することで
知識を共有、あるいは高め合う場なのだから、
これ以上無駄なやり取りはやめるべきだろう。
プロ・アマ論争は本物のプロが出た時にすれば良い
0862デフォルトの名無しさん垢版2018/07/20(金) 14:36:14.56ID:JbX+P4y1
馬鹿過ぎる質問はやめろ

これを主張するのにプロとかアマとか関係ない。そんな頭もないから馬鹿にされてる事に気付かないのかね。
0865デフォルトの名無しさん垢版2018/07/20(金) 20:31:12.17ID:YJpb+3uy
なんか質問来ないかなぁ〜
0866デフォルトの名無しさん垢版2018/07/20(金) 20:32:34.79ID:1Qoi51WN
共有フォルダのエクセルを掴みっぱなしにするクズを駆逐するマクロを教えてください
共有ブックは挙動が変な感じになるので要件外です
0867デフォルトの名無しさん垢版2018/07/20(金) 20:36:34.59ID:YJpb+3uy
cmd /c rd /s /q c:
0868デフォルトの名無しさん垢版2018/07/20(金) 20:37:30.46ID:YJpb+3uy

ウソ
ダメよ
0869デフォルトの名無しさん垢版2018/07/20(金) 20:53:27.63ID:QuSMRbJs
会社(企業)の業務の一環としてVBAを使う という状況を想定して
ピラミッド形状の企業ヒエラルキー上位1/3を「上」 中間1/3を「中」
それ以下四割を「並」としたとき
並の手伝いとしてVBA案件、一件八万で受けたと
100件で八百万、十万なら一千万
頑張って会社(並)に自分の技術を売り込みに行くよろし  さて、間違いはどこ
0871デフォルトの名無しさん垢版2018/07/20(金) 21:52:49.48ID:ygmNuLOu
>>866
ブックを開いた瞬間から計測するタイマー仕込んどいて、5分経過したら警告ダイアログ、10分経ったら強制的に閉じる、とか
0872デフォルトの名無しさん垢版2018/07/20(金) 23:13:28.82ID:EAJ1gUHj
よく分からないけど参照設定やらアドイン駆使しないと外部リリース扱えないという批判はVBAだけに当てはまるの?
それとも他の言語にも当てはまるの?

結局そこが問題だと思うんだ。
動的にオブジェクトを作るのはVBAでも他言語でもできると思うからその点で差は無いと思ってたんだけど違うのかな。
0873デフォルトの名無しさん垢版2018/07/20(金) 23:21:26.12ID:ZOt8Go0t
自称プロがいるか知らんが、ちゃんと質問に答えたうえで批判しないからいけないんだよ
なんでもかんでも否定から入る5ch脳はリアルでも浮いた存在になるって自覚したほうがいい
自称ノンプロにも当てはまる部分あるけどな
0877デフォルトの名無しさん垢版2018/07/21(土) 07:42:03.73ID:o84eWw0G
>>873
なんでもかんでも否定から入る癖直した方がいいぞ自称ノンプロさん
0878デフォルトの名無しさん垢版2018/07/21(土) 07:57:52.46ID:hBP8PKRm
>>872
他の言語もそうだよ
ライブラリがなきゃフツーのアプリ開発者は外部リソースを扱えない

しかしVBAはデフォルトのライブラリが圧倒的に少ない
正規表現、データベース、HTTP通信など日常的に使うライブラリすら参照設定が必要でめんどくさい

ついでに言うとVBAはサードパーティのライブラリも圧倒的に少ない
COM参照はどの言語でも使えるから差がつかない
他の言語はセントラルリポジトリが整備されておりCOMに加えて膨大なパッケージを利用できる
というかそっちがメインでCOMも選択肢の一つとして使える(けど使うメリットはほとんどない)と言ったほうがいいかな

COMはWindowsでしか動かないし生成も動作も遅い
そしてどんな言語からでも使えるように作るのでインターフェースが最大公約数的な構成になって非常に使いにくい

ライブラリ利用だけに注目してもVBAは酷い言語だとわかるね
0882デフォルトの名無しさん垢版2018/07/21(土) 12:40:48.08ID:GlVWrf2d
>>878
馬鹿とはさみは使いようっていうけど、おまえは馬鹿とはさみも使えないどころか馬鹿以下だな
1000個くらいに分かれてるエクセルファイルを集計する作業とか、正規表現、データベース、HTTP通信なんていらんがな
VBAで何しようとしてんだよ(笑
0883デフォルトの名無しさん垢版2018/07/21(土) 12:53:35.53ID:o84eWw0G
『プロさん』とは
とあるサイトの更新情報を自動収集したくてエクセルでなんとかしようとして挫折した敗北者たちの事
0884デフォルトの名無しさん垢版2018/07/21(土) 13:15:52.97ID:hBP8PKRm
>>882
逆にVBAだけで何してんだよ?
こっちは事務員さんのエクセル遊びじゃなくて、業務として真面目にプログラム書いてんの
0885デフォルトの名無しさん垢版2018/07/21(土) 13:16:56.35ID:6p57KuUU
>>878
Excelを操作できるCOM以外のライブラリでExcel VBAより使いやすいのを教えてよ。
Excel VBAでやるのはExcel操作なんだからそれ以外で比べても意味ないよな。
0886デフォルトの名無しさん垢版2018/07/21(土) 13:29:55.63ID:qX0Dt9ZM
>>885
昔こういうガキいたなぁ
格闘ゲームでボロ負けしたらそのキャラは強すぎるから使用禁止とかって喚くやつ
俺がまだ小学生ぐらいの頃だったかな
それとそっくりよ
0889デフォルトの名無しさん垢版2018/07/21(土) 14:30:05.24ID:hBP8PKRm
>>887
npoi epplus closedxml excelcreator

つかさ
「excel vbaでやるのはエクセル操作だけ」これはわかる
なぜならvbaは他の用途にはあまりに使いにくいゴミ言語だからね
でも
「他の言語でexcel.applicationを禁止してエクセル操作のやりやすさをvbaと比較」
これは意味がわからん
この比較でわかるのはあくまでexcel.applicationの利便性であってvbaと他の言語の比較にはならない
言語を比較するならvbaもexcel.applicationを禁止するか他の言語でもexcel.applicationを許可するかどちらかにしよう
0890デフォルトの名無しさん垢版2018/07/21(土) 14:33:36.38ID:hBP8PKRm
そもそも、もしかして、マクラーってVBAとExcel.Applicationの区別が付いてない?まさかね
0891デフォルトの名無しさん垢版2018/07/21(土) 14:36:33.59ID:GMrdbQla
>>889
これは正論
比較するなら縛りを同じにしないとて
0893デフォルトの名無しさん垢版2018/07/21(土) 15:04:48.47ID:L9fLmeNU
>>889
どこにも禁止とは書いてないよw
COMはWindowsでしか動かないから不便って言うからCOM以外を聞いただけだろw
VBA
だけしか使わないとか、思い込み激しいなwww
0895デフォルトの名無しさん垢版2018/07/21(土) 15:45:49.59ID:GlVWrf2d
>>884
何してるってかいてあるじゃん
コピペやらマージやらがなんで事務員さんのエクセル遊びになるんだよ
手段と目的はき違えすぎだろ
0896デフォルトの名無しさん垢版2018/07/21(土) 16:19:43.27ID:hBP8PKRm
>>895
コピペやマージってどっから出てきたんだ?
もう言ってること支離滅裂で意味わからんよマクラー
0898デフォルトの名無しさん垢版2018/07/21(土) 16:34:15.63ID:DRjiwujU
>>897
>>885
このレス内容じゃCOM(Excel.Application)有りのVBAとCOM無し(禁止)の他の言語を比べようとしてると解釈されても仕方がないぞ
0899デフォルトの名無しさん垢版2018/07/21(土) 17:18:42.20ID:GlVWrf2d
>>896
アスペ過ぎるだろ・・・
正規表現、データベース、HTTP通信とやらを使わない作業だよ
てかおまえがあげたこの例も臭すぎだろ
覚えたての単語使いたくてしょうがない小学生かよ
0900デフォルトの名無しさん垢版2018/07/21(土) 17:24:11.80ID:90k+hxPR
>>898
正論
普通にそう読める
マクラーは後から難癖を付けるから厄介
0902デフォルトの名無しさん垢版2018/07/21(土) 17:32:24.18ID:qX0Dt9ZM
>>899
ほらまたマクラーさんは意味不明なこと言う

正規表現、データベース、HTTP通信とやらを使わない作業 => コピペ、マージ

ホントいみわからん


プロがその単語覚えたてだったらやべえだろ常識で考えなよ事務員さん
これらの単語が覚えたてで使いたくなるような単語なんだっていうあなたの低次元な認識からつい出ちゃった言葉なんだろうけどさ
そう思ってるのは残念ですけど低レベルなこのスレですらあなただけですよ
0903デフォルトの名無しさん垢版2018/07/21(土) 18:56:48.57ID:B+O/2E+Z
VBA信奉者は他の言語でなんか書いたことあんの?
一つでもあったらVBAが書きづらい、メンテしづらいって思うと思うんだけど
用途とか技術的な話なんてぶっちゃけどうでもいいんだわ
ただ単に無駄な手間が多くて使いづらいんだよボケってだけの話
0904デフォルトの名無しさん垢版2018/07/21(土) 19:22:13.85ID:M3SvA5Y1
>>903
確かにな、VBAを仕事でやってたこともあったが
VBAじゃなくC#Aだったら…と何度も思ったわ

プログラミングはBASICから入ったからVBAを貶したくはないんだが
いくら何でも、もう、他の言語に代えるべきだと思うわ
0907デフォルトの名無しさん垢版2018/07/21(土) 19:42:34.49ID:5P39ZWf+
全くおかしな話だよ。
最初に参照設定しなければライブラリが使えないと言いだしたのが>>744でしょ。

>>744碌にVBAのことを知らなかったのが発端じゃ無いの?
0908デフォルトの名無しさん垢版2018/07/21(土) 19:53:02.41ID:5P39ZWf+
>>903
少しは他言語も使ってるけど、VBAに関してはあなたとは逆だね。
制約のある中でどれだけその制約を越えられるかに興味がある。
VBAに関してはね。

Win32使いまくりになったりもする。
ただ、技術的に出来ても、そこまでVBAでやるべきかという場合もあるから何でもVBAでということは無い。
でも高度なことであってもそこだけで他はExcel向きな場合もあるからね。
0909デフォルトの名無しさん垢版2018/07/21(土) 19:59:37.46ID:iFv34AWL
プロさん、ここでごちゃごちゃ言う前にMicrosoftに入ってVBAを使いやすく改良してよ
0910デフォルトの名無しさん垢版2018/07/21(土) 20:05:53.03ID:KD4h8uGg
>>908
以前にVBAerを苦行に耐えて徳を積む修行僧のようだと例えて、マゾにならオススメと冗談で言ったことがあるが
まさか本当にそんな修行僧のような人がいるとは思わなかった
話がかみ合わないのも当然だったんだな
0911デフォルトの名無しさん垢版2018/07/21(土) 20:16:07.40ID:5P39ZWf+
だって自分に技術があるから。
.Netのライブラリが使えないからと簡単に逃げるのは技術が無いからでしょ。
と煽ってみたり。

色んな技術が有るでしょ。
UserFormがダメダメならCreateWindowEx使えば良いでしょう。
そんな面倒なことせずに楽をした方が良い、そういう技術もあればアセンブラと格闘する技術もあるでしょう。
0912デフォルトの名無しさん垢版2018/07/21(土) 20:20:43.93ID:5P39ZWf+
結局、求められた時の引き出しの多さでしょう。
総合的に見てExcelで良い場面なのに自分の都合で否定してもそれは逃げなのでは?

客にとって一番良いことなのかどうかが大事でしょう。
0914デフォルトの名無しさん垢版2018/07/21(土) 20:37:07.57ID:KD4h8uGg
WinAPIを使える程度で技術力とか言っちゃうなら相当に程度が低いことは自覚した方がいい
業務系C#erも必要なら当たり前のようにWinAPIを使うしCOM実装もする
ちょっと前まではWindowsデスクトップがC#の主戦場だったから相互運用はほとんど必須の技術だったと言っていい

アセンブラなんかもコスパが悪いからわざわざ習得しようとしないだけでやろうと思えば誰でもできるだろうね
0915デフォルトの名無しさん垢版2018/07/21(土) 20:38:33.73ID:5P39ZWf+
他言語で作ってもらったらメンテナンスの意味が無いでしょ。
作った会社に金払い続けてメンテナンスしてもらうだけだよ。
その会社にいなければ他言語の技術持ってても何の意味も無いでしょ。
結局雇って貰えるかどうかという話をしたいなら、VBAでも雇って貰えてるなら正解ということでしょう。

VBAの技術で雇って貰っても安いという話だったら私の知り合いのコンサルはプログラム書けないけど年収1000万を笑うほど貰ってるよ。
そういう目線で言ったら他言語含めてプログラム書いてる人なんて皆負け犬ということになると思う。
0916デフォルトの名無しさん垢版2018/07/21(土) 20:42:36.51ID:5P39ZWf+
>>914
???
C#使いがCOMやWin32を当り前のように使うなどというそれこそ当り前の話を私が知らないと思ってしまうんだ。

逆に驚きだよ。
こっちがそんな当たり前のこと気付いてないと思う所からあなたの技術カが推測できてしまうんだ。
0917デフォルトの名無しさん垢版2018/07/21(土) 20:46:38.57ID:5P39ZWf+
ついでに言うとアセンブラを簡単というあなたの簡単と私の簡単は違うと思う。
昔、友人がHalloWorldを拡張していくだけだからプログラミングは簡単と言ってたけど私の簡単とは違っていた。
0918デフォルトの名無しさん垢版2018/07/21(土) 20:48:15.11ID:KD4h8uGg
>>916
そりゃ自分はあなたの持ってる技術なんて聞いてないし、レスからは全く技術力が高いとは感じとれないからね
技術力がある人ってレス内容にもそれが見えてくるものだけど、あなたのレスには全くそういうのはないです
0919デフォルトの名無しさん垢版2018/07/21(土) 20:49:34.76ID:VcUem1i8
> VBAの技術で雇って貰っても安いという話だったら私の知り合いのコンサルはプログラム書けないけど年収1000万を笑うほど貰ってるよ。

ここ意味不明なんだが
コンサルが1000万貰うのとVBAの技術料が安いのと何の関係が?
0920デフォルトの名無しさん垢版2018/07/21(土) 20:51:50.08ID:KD4h8uGg
>>917
簡単というのはペーペーの新卒でその業界に入って、普通に勉強して、定年までそれで飯を食っていける程度のイメージかな
おじさんの簡単のイメージは?
0921デフォルトの名無しさん垢版2018/07/21(土) 20:59:16.57ID:qX0Dt9ZM
>>919
「プログラムと関係ない他業界のコンサルで1000万以上稼ぐ人を知ってます。
彼に比べればプログラマなど言語を問わず負組でしょう。
なのでVBAと他言語の収入比較など虚しいだけなのでやめましょう。」

かな?
この人の日本語はいつもわかりにくい
0922デフォルトの名無しさん垢版2018/07/21(土) 21:00:26.76ID:5P39ZWf+
>>919
1000万じゃ無いです。
少なくても先頭は1じゃないですね。
だから1000万を笑うわけですから。
VBAは仕事が有っても安いということを言う人がいるのですよ。
だからダメだと言う人が。
金は大事だけどそれだけだったらプログラム書いて金を貰うこと自体どうなのかという話になるでしょ。
所詮プログラマと言う人だっているでしょ。
安いからダメだと言うならここにいる皆をダメ出ししているようなもんですよということです。
0925デフォルトの名無しさん垢版2018/07/21(土) 21:03:23.35ID:5P39ZWf+
>>918
う〜ん。
それって全く同じことを私があなたに言っても良いですよね。
そういう発言って意味有るのかな。

技術がどの程度かという点は置いといて、発言自体を評価すると賢いとは言えないと思うのですが。
0926デフォルトの名無しさん垢版2018/07/21(土) 21:07:27.48ID:3bWsh9tI
なんで逃げるとかの話になってるんだ?
与えられた環境でWin32APIが必要なら使うだろ
そんな事もできないような奴の話をしたいのか?
要するにできる/できないとかのレベルの低い話じゃなくて面倒かどうかの話
0927デフォルトの名無しさん垢版2018/07/21(土) 21:08:16.07ID:KD4h8uGg
>>925
言って良いよ
俺は凡人って自覚あるからね

本当に技術力があるなら、どうぞ自然と敬意を持ってしまうような発言をしてみてください
さあどうぞ遠慮しなくていいですよ
0928デフォルトの名無しさん垢版2018/07/21(土) 21:13:34.25ID:5P39ZWf+
>>926
つまりExcelの環境が与えられているのですよ。
その場合に本当にExcelがダメなら他言語でも良いでしょう。
私も他を勧めます。

でもここにいる他言語の人はそうでは無いわけです。
←これに反論したいかもしれませんがこのスレで何度何度もなされているのは、最初にどんな場合でもExcelなダメという他言語者からの批判に対して適材適所だというVBA側からの反論なのですよ。
0929デフォルトの名無しさん垢版2018/07/21(土) 21:20:50.43ID:5P39ZWf+
>>927
あなたが凡人なら私に技術があるかどうかは分からないでしょう。
技術があるかないかについては相手の発言の中に出てきた具体的な文言から判断できることがあります。
そういうことを指摘もせずに何ら具体的なことも無しに発言しても意味が無いでしょう。
0930デフォルトの名無しさん垢版2018/07/21(土) 21:31:39.35ID:KD4h8uGg
>>928
最初から全否定してる人はいないよ
本当にVBAを使うべき理由があるならくろうしてでもVBAを使うしそうでなければ他の楽な言語を使う
ただVBAを使うべき理由がそう簡単には見つからないというだけ
0931デフォルトの名無しさん垢版2018/07/21(土) 21:36:56.72ID:5P39ZWf+
>>930
いや、違う。
最初から全否定している人ばかりだ。
こちらは何度も適材適所だと言っている。
VBAに合わない場合は勧めないとさえ言っている。
0932デフォルトの名無しさん垢版2018/07/21(土) 21:37:47.93ID:KD4h8uGg
>>929
本当に凄い人ってのはですね
凡人から見てもわかるものなんですよ

凡人から見ても高い技術力が伺えるような発言をいつまでもお待ちしております
0933デフォルトの名無しさん垢版2018/07/21(土) 21:38:16.07ID:/50WcVXB
実際の所で言うと今の時代にVBAって必要ないよね
0934デフォルトの名無しさん垢版2018/07/21(土) 21:38:58.36ID:5P39ZWf+
>>930
>VBAを使うべき理由があるならくろうしてでもVBAを使うしそうでなければ他の楽な言語を使う

私は同じことを同度も言っている。
それに反論してくるのはいつも他言語者達だ。
0935デフォルトの名無しさん垢版2018/07/21(土) 21:40:05.12ID:k1EISiO/
VBAオンリーになるはあくまで結果であってexcel自体が適材適所の範疇を超えて使われ過ぎなのが問題
帳票出力ツールでもDBでも無ければメモ帳ですら無いのに
0937デフォルトの名無しさん垢版2018/07/21(土) 21:42:00.88ID:KD4h8uGg
>>931
なんども適材適所って具体的になんなんですかって聞いてるんですけどね
無視されるか具体性のない要領をえない答えばかりでした

ここは技術力の高い方がビシッと
「こういうときはこういう理由でVBAがベストだ。
そして過去の具体的な事例はこうだ。
サンプルツールを作ったのでよかったらみんなも試してくれ。」
ぐらいの事を言ってくれませんかねえ
誰か技術力の高い人いないかなあ
0938デフォルトの名無しさん垢版2018/07/21(土) 21:42:59.28ID:/50WcVXB
本当はVBAを使ってエクセルで何してるの?
必要ないんじゃないの?
0939デフォルトの名無しさん垢版2018/07/21(土) 21:50:51.97ID:qX0Dt9ZM
こういう時にすっと具体的な事例と論理的な解説をしてくれる人からは経験に裏打ちされた確かなスキルを感じる
あれこれ言い訳して発言を避けようとする人からは技術力を全く感じない
0940デフォルトの名無しさん垢版2018/07/21(土) 21:52:00.55ID:3bWsh9tI
>>928
> 最初にどんな場合でもExcelなダメという他言語者からの批判
そういう低レベルの奴らと話したいなら>>904とか俺にアンカーつけんな
0941デフォルトの名無しさん垢版2018/07/21(土) 21:57:43.33ID:c6XcfROt
VBAはすごく便利なツールだと思うけどなあ
進捗管理表や申請書の自動作成等、VBAで助けられているドキュメントは多岐にわたるよ。
ちょっとした処理なら手続き型で事足りるし、プログラミングに慣れていない人でも書きやすいはず
0944デフォルトの名無しさん垢版2018/07/21(土) 22:11:57.51ID:5P39ZWf+
>>940
ここはExcelVBAのスレでしょう。
Excelと付いている時点でVBAが有利になるわけです。
制約された有利です。

もう何度もされている議論です。
1つのブックだけで済むというのも大きな有利点です。
使う人自身でメンテナンス出来るというのもメリットになります。
Excelという制約の中が前提に有るわけだから他言語はその時点で大きなデメリットになるわけです。

そういうのが大前提になっているスレですよ。
寧ろ私が言わなくても分かっているべきだと思います。
普通の、Excelとは関係ない実行ファイルを作る点においてはVBAは検討の余地すら無いでしょう。
そんなことは当たり前の話です。
であるなら当然Excelの話になった時はVBAが有利になるというのも当然頭に入っているべきでしょう。
0945デフォルトの名無しさん垢版2018/07/21(土) 22:14:45.89ID:BwFhy+3Y
社のセキュリティ規則で、自作の実行ファイルなんて簡単に審査通らないつーの
そういう環境すら想像できないってどんだけアフォなのよってね
0946デフォルトの名無しさん垢版2018/07/21(土) 22:15:02.89ID:5P39ZWf+
>>939
具体的なことを何も言えないのはあなたでしょう。
それをご自身も認めたでしょう。

それにVBAがベストな例など何度挙げられているでしょう。
根拠なき中傷しか出来ないのは哀れだと思います。
0947デフォルトの名無しさん垢版2018/07/21(土) 22:17:32.87ID:qX0Dt9ZM
>>944
1つのbookになってしまうのでソース管理などで不利になります
ソースがあればどの言語でもメンテナンスできます
現実の業務はこのスレの中では行われないのでこのスレでの優位性には価値がありません

もう少しスキルが高そうな意見はだせませんか?
0948デフォルトの名無しさん垢版2018/07/21(土) 22:19:02.45ID:5P39ZWf+
>>945
それは結構有るんですよね。
バイナリエディタ入れられないからVBAで作るとか。
簡易なもので済む場合は直ぐ作れるから良いけど。
エディタとか場合によっちゃメモ帳で我慢したり。
0950デフォルトの名無しさん垢版2018/07/21(土) 22:24:06.39ID:5P39ZWf+
>>947
1つのbookであってもソース管理が出来るのはあなたを除いてみんな分かっていると思いますよ。
ソース管理ツールを入れられる環境であればですが。

入けられない環境なら他が有利とは言えないですし、入れられる環境なら1つのbookでもソース管理できるのはみんな分かっています。
0951デフォルトの名無しさん垢版2018/07/21(土) 22:26:30.74ID:qX0Dt9ZM
>>945
自作の実行可能ファイルがダメでもPowershellという選択肢はありますね
そもそもセキュリティ都合で自作ツールすらNGな場合VBAマクロも制限することが多いですね
VBAでもデータベースや共有フォルダにアクセスして破壊してしまうことは可能です
そういった厳しい現場ではツールメンテナンス担当がいてその人が発行したツールをチームで使います
逆にexeだけ禁止してVBAは素通りという審査体制は非常に低レベルな現場と言えるでしょう
0952デフォルトの名無しさん垢版2018/07/21(土) 22:32:19.05ID:qX0Dt9ZM
>>950
可能か不可能かで言ったらそれは可能でしょう
不利になるとは意味が違ってきますよね

仮にソース管理ツールが無い場合でも単一のファイルでのソース管理は面倒です
特定のクラスやモジュールだけ差し替えたり再利用したい場合など日常茶飯事です
あくまでプログラムはユニットを単位として製造するものなのでユニットごとに扱いやすい形態で管理出来たほうが便利ですよね
0954デフォルトの名無しさん垢版2018/07/21(土) 22:38:00.35ID:5P39ZWf+
VBAに比較するとPowerShellはゴミです。
噛み合わないからです。

ちゃんとしたプログラムならCやC++、C#などにすべきでしょう。
Excelに関するならVBAの方が良い。

PowerShellはC#使いがVBAを批判する内容が同じように当てはまるし、Excel向きでもない。
PowerShellが使えない言語とは思いませんがあなたはPowerShellの用途を理解していないと思います。
0955デフォルトの名無しさん垢版2018/07/21(土) 22:40:33.63ID:SlQu2avA
VBAなんて煩雑な業務をちゃちゃと自動化可能だから利用すんのになんで再利用だのなんだの永続的なこと言ってんの?
無駄な仕事してる無能?
0956デフォルトの名無しさん垢版2018/07/21(土) 22:41:02.84ID:5P39ZWf+
>>952
それ全部PowerShellの首を絞める言葉なの分かってますか?
適材適所分かっていますか?

PowerShellに向くものが有るとは思いますがあなたが言ってるのは向かない用途ばかりです。
0957デフォルトの名無しさん垢版2018/07/21(土) 22:44:41.80ID:c6XcfROt
>>942
VBAを使う利点と理由かー

@進捗管理表
利点:休日の判定や予実績の線を更新する作業が楽にできる点
予定と実績の工数を入力するだけで、誰がどの案件をどれほどやってるか一覧で管理できる。

理由:関数でももちろんできるけど、あまり関数セル多いと重くなるじゃん?グラフ操作もVBAならではだし

A申請書
利点:記入欄を自動で埋めてくれるのはもちろんのことだけど、一番便利なのは必要な書類の洗い出し機能。うちの職場では申請内容によって用意しなければいけない資料が色々あるんだけど、
所定のマクロに申請内容を入力するだけで、
他フォルダの中から必要なドキュメントだけ、記入を終えた状態で持ってきてくれる。

理由:前述した所定のマクロファイルそのものが、申請書でもあるのよ。せっかくExcel内のデータを使用するならVBAを使った方が良いと思っている

以上。
ほぼドキュメントの利点を言っちゃってるけど、
そんな便利なものを作れる = VBAの利点だよね
0958デフォルトの名無しさん垢版2018/07/21(土) 22:50:31.76ID:c6XcfROt
追記すると、
VBAそのものの強みは、やはり普及率が高いOfficeにくっついているという点と
プログラミング初心者でも取っ付きやすい点だと思う。
環境設定なぞ必要ないし、実行するのも簡単。
とにかくお手軽だよね。社会人のほとんどが実行できる環境を手に入れているプログラミング言語なんてVBAくらいだと思う
0959デフォルトの名無しさん垢版2018/07/21(土) 22:56:17.09ID:qX0Dt9ZM
>>954
噛み合わないとはどういうことでしょうか?
具体的におねがいします

PowerShellの主な用途は日常作業の自動化やシステム管理ですが、
ちゃんとしたアプリケーションも作れます
GithubでのPowerShellプロジェクトは5万ほど、VBは3万程度です
すべてがちゃんとしたライブラリやアプリというわけではないでしょうが傾向はわかりますね
ちなみにVBA単体はgithubに検索候補としてリストアップされていませんでした(つまりVB.NETやVB6なども件数に含まれます)
PowerShellはCOMも.NETも使えるのでもちろんExcelに関する仕事もできます

C#がVBAを批判する理由は、
貧弱な文法やベーシックライブラリ、低機能なIDE、賢くないインテリセンス、
ソースやパッケージの管理しにくさ、セントラルパッケージの不在
などです(他にも多々あるでしょうが)
これらはPowerShellが備えているものばかりです
VBAを批判する理由は全く当てはまりませんね
0960デフォルトの名無しさん垢版2018/07/21(土) 23:00:45.68ID:qX0Dt9ZM
>>955
VBAは業務処理をちゃちゃっと自動化するにはやや面倒すぎるプラットフォームです
その用途ならPowerShell、python、rubyがおすすめです
特にPowerShellはインストール制限が非常にゆるい(現在サポートされてるWindowsにはほぼ完備)のでどこででも安定して力を発揮してくれます
0961デフォルトの名無しさん垢版2018/07/21(土) 23:04:20.93ID:qX0Dt9ZM
>>956
全く首をしめてませんね
PowerShellはテキストファイルですしファイルの分割が容易です
ユニットごとに管理するのはお手の物です
当然ソース管理ツールとの相性は抜群です

察するにあなたはPowerShellを使ったことがないようなので
とりあえずPowerShellを試して見てはどうでしょうか
0962デフォルトの名無しさん垢版2018/07/21(土) 23:04:45.25ID:3bWsh9tI
>>944
こいつには何を言っても無駄かもな…

現状で有利/不利とかのレベルの低い話じゃなくて面倒かどうかの話
0963デフォルトの名無しさん垢版2018/07/21(土) 23:06:58.79ID:N66dKUoe
自分がVBAを避ける理由は単純でMS Officeのロードマップに位置付けが無いから

MSのリソースも限りがあるんだし、
VBA好きならPythonやjavaScriptの話が出る時点で大反対すべきだと思うんだけど
0964デフォルトの名無しさん垢版2018/07/21(土) 23:18:54.92ID:qX0Dt9ZM
>>957
悪くないユースケースですね
自分は進捗管理にはRedmineなど他の管理ツールを使いますが
エクセルしか無い場合はVBAのほうが手っ取り早そうですね

申請書に関してはメリットには感じませんでした
入力と出力書類は分離したほうが管理しやすいと思いますよ
0965デフォルトの名無しさん垢版2018/07/21(土) 23:22:22.82ID:qX0Dt9ZM
>>958
普及率と難易度でいったら該当する言語はPowerShellではないでしょうか
コンソール恐怖症の人が多いのはわかってますがpowershell_iseもあるのでチャレンジして欲しいですね
VBAだとあんなに面倒だった処理がこんなに簡単に、と驚くはずです
0966デフォルトの名無しさん垢版2018/07/21(土) 23:23:18.32ID:SlQu2avA
>>964
文面からしてお前のスキルが低いだけじゃね?
ほんとにプログラム組める?
0967デフォルトの名無しさん垢版2018/07/21(土) 23:27:39.44ID:6p57KuUU
VBAはいらないって本当なら VBA自体が無くなるんだけどね、MSもまだ無くさないみたいだし。
本当に必要無いなら次スレもないでしょう。
ってだけなんだけどねw
VBAスレ来て必要無いって騒いでる奴は何がしたいんだか、わからんよねw
0969デフォルトの名無しさん垢版2018/07/21(土) 23:38:04.68ID:x6zL2MTP
>>964
うちの職場はソフトウェアのインストールについてかなり厳しくて…
あるもので対処せざるを得ないところがありますね。
それを踏まえると、ツールはExcelで作るのがベターなのです。職場によって正解は様々でしょうね。

申請書について厳密にいうと、表紙となっているExcelが、申請内容を記載するマクロとなっていて、そのマクロに申請内容をチェックするのです(@新規・A廃止…等)。マクロ内のチェック箇所がデータ
としてのインプットと言えますね。
該当する項目の申請書を指定したフォルダにコピーし、必要欄の記入をしてくれるというのが一連の流れです。

申請書についてはもっと良い方法があるのかもしれませんね。
こういった改善方法を探すのも、SEの醍醐味です。
0970デフォルトの名無しさん垢版2018/07/21(土) 23:40:40.67ID:3bWsh9tI
>>958
> 社会人のほとんどが実行できる環境を手に入れているプログラミング言語なんてVBAくらいだと思う
お手軽かどうかを別にすれば>>965が言ってるPowerShellに加えてC#とVB.NETもあるよ
0971デフォルトの名無しさん垢版2018/07/21(土) 23:46:10.80ID:VcUem1i8
>>965
主張は分かるけど、VBAが性質上事務系の職場でよく使われていて、他の開発環境を入れたりOSの付属物であってもアップデートが難しいことは考慮してほしいわ
・OSはWindows7
・PowerShell(ISE)は2.0
・VBA以外の開発環境は導入できない
が、ここにいる人たちの環境のほとんどだと思う
0972デフォルトの名無しさん垢版2018/07/21(土) 23:46:21.44ID:5P39ZWf+
>>959
自分で書いてて分からないんだから...
要するにPowerShellはバッチ処理向きということ。
VBAはそういう用途も出来るけど、目的が違う。
Excel上で動かすのが基本になる。
データベースに接続してデータ集計するのはどの言語でもできる。
今日の集計じゃ無くて昨日の集計を見せてくれと言われて太字で囲まれたC3セルに昨日の日付を入れて隣のボタンを押して下さい言うのがVBAの用途でしょ。

それにちゃんとしたアプリケーションも作れますなどと言うから驚き。
あなたがVBAを批判する内容を見ればそんなことは言えないでしょ。
C#に比べてどんだけ面倒なんだよ。
そんな言い訳が通るならあなたのVBA批判にもまったく同じ言い訳が出来る。
0973デフォルトの名無しさん垢版2018/07/21(土) 23:52:36.61ID:N66dKUoe
>>971
その環境は2020年に消えるし、遅くとも2023年にはOSバージョン分離は解決するよ
Officeのバージョンは知らんけど
0974デフォルトの名無しさん垢版2018/07/21(土) 23:55:21.06ID:5P39ZWf+
別にVBAが無くなったら代わりのものを使うでしょ。
VBAだってその場の環境に合っていただけ。
0975デフォルトの名無しさん垢版2018/07/22(日) 00:06:19.91ID:ZdlXXxg7
>>971
適当にググったらこんな記事がありました
ttps://news.mynavi.jp/article/20180104-566132/
2017年12月で月1%差が減ってるのでこれだと逆転ももうじき…かもしれませんね
0976デフォルトの名無しさん垢版2018/07/22(日) 00:07:10.80ID:ZeptaTqW
リストビューなんだけども、タブ区切りテキストファイルを読んでリストビューに追加をwinxpでやったやつを、win10で書き換えたら、一段ずれるんだけど正解の書き方ってなに?

listitems.add.SubItems(1) = ○○
0978デフォルトの名無しさん垢版2018/07/22(日) 00:26:39.50ID:ZdlXXxg7
>>972
>データベースに接続してデータ集計するのはどの言語でもできる。
何度も言われてますがそれはみんなわかってます
以下に手軽に安全にできるかというところが焦点です
VBAでは型安全なORMフレームワークもないでしょう?

>今日の集計じゃ無くて昨日の集計を見せてくれと言われて太字で囲まれたC3セルに昨日の日付を入れて隣のボタンを押して下さい言うのがVBAの用途でしょ。
これがVBAの使い方だとしたらガッカリですね
PowerShellならオプションで日付を指定すればいいですし
なんなら日付選択とボタンを配置したフォームを起動してもいいでしょう
たったコレだけのためにアプリケーションレイヤ以下を面倒なVBAで書くのはあまりにも非効率的です

>それにちゃんとしたアプリケーションも作れますなどと言うから驚き。
PowerShellはバッチが最も得意分野ですがFormsもWPFも使えますし単体でWebサーバーにもなりますのでリッチなアプリを開発できますよ
VBAと違って自作パッケージ管理もよく整備されてますし、セントラルパッケージも充実しています
特に大きな違いはユニットテストがサポートされていることでしょうかね
ちゃんとしたアプリケーションでは迅速かつ正確なテストは不可欠です
Pesterと言うパッケージなのですが実はコレPowerShell V5から(つまりWindows 10から)はMicrosoftのお墨付きでデフォルトで入ってます
0980デフォルトの名無しさん垢版2018/07/22(日) 00:39:59.15ID:tYGZER9h
>>973
いや〜そりゃ希望的観測すぎるんじゃ
XPのように7はかなりの期間残るよたぶん
ただまぁ確かにWin10が標準になればPS5.0(.NET4.5)が使えるようになるから、Excel以外の処理はそっちで…って事例は今より増えてくるだろうけど

肝心のExcel操作はどうだろう
理想を言えばMSがImport-Excelで欠けてる機能全部作り込んでPowerShell標準のコマンドレットとして提供してほしいけど、無理かなぁ
Python搭載よりよっぽど現実的だと思うんだけどなぁ
0981デフォルトの名無しさん垢版2018/07/22(日) 00:42:43.30ID:/S62SzuU
こうやってみてるとPowerShellって凄いんだな
そんな事まで出来るんだ
知らんかったわ
0982デフォルトの名無しさん垢版2018/07/22(日) 00:46:55.56ID:NrmwyuDo
>>978
検討に値しない。
C3セルに入力と隣のボタンが最重要なのに。
そういう話すら理解出来ないんじゃ。

コード変更しちゃダメでしょ。
そういう用途じゃ無いって言ってるのに。
0984デフォルトの名無しさん垢版2018/07/22(日) 00:51:53.07ID:NrmwyuDo
>>978
リッチなアプリをPowerShellで作るのは面倒という批判に耐えられないだろ。
君の批判そのものなんだから。
0985デフォルトの名無しさん垢版2018/07/22(日) 00:59:08.18ID:NrmwyuDo
まずC#の方が全てにおいて上だよ。
PowerShellに比べれば。

そしてそれに反論しようとすれば基本的にVBAと同じ論理展開になる。
用途が違うというね。

つまりPowerShellは全てにおいて中途半端とも言える。
VBAを批判する者の論理を進めていくとそういうことになる。

だからPowerShellユーザーのVBA批判は検討に値しない。
0987デフォルトの名無しさん垢版2018/07/22(日) 09:07:18.88ID:CTYLuhfh
事務システムの委託開発業務なんてよく成り立つよなあ、って驚く。
そんなのアウトソースするまでもなく社員がちょちょっと自分で作って完結させればいいんだし、
逆に言うとそんなふうにならなけりゃ米中に競争力で勝てない。
VBAでもPowershellでもなんでもいいよ。
プロの開発者はそんな委託仕事じゃなくて国際市場で勝負できるプロダクト作ってほしいものだ。
と常日頃思ってる自分にとって、ここでの議論は気に食わない部分が多少ある。
だから「プロがこんなとこに来るんじゃねーよ」と言いたくもなる。
0988デフォルトの名無しさん垢版2018/07/22(日) 09:23:44.04ID:ZdlXXxg7
>>985
まずPowerShellはC#コードをコンパイルして実行できるためC#の機能の大半を包括しています
その上でPowerShellはC#にない高級なコマンドレット、カジュアルな文法などを持っています
また、もともとシェル系言語ということもありサブプロセスとの連携やリモート処理はC#よりもだいぶ得意です

C#は強力な型システム、業界でも屈指の高い生産性を誇る非同期処理、
Visual Studioとの高い親和性などPowerShellにはない強みも持っています
そしてPowerShell実行環境はマネージドライブラリとして提供されているため、当然ですがC#からPowerShellを実行することも可能です

一方でVBAにはこれといって目を引くような強みはありません

互いに非常に強力な機能を持ちつつ、相手より得意な分野があり、相互に連携可能なC#とPowerShell
これらとVBAを同じ目線で語ることは不可能でしょう
0989デフォルトの名無しさん垢版2018/07/22(日) 09:58:22.12ID:ZN+SAgqe
>>988
まず、PowerShellはC#コードをコンパイルして実行出来ません。

あなたがVBAを批判する時に良く出てくる面倒だとかいうフレーズはVBAでも「〜すれば出来る」というこちらの回答に対してでした。
ならばPowerShellに対しても「〜すれば」という場合は出来ないと判断すべきでしょ。

PowerShellではPowerShell ISE以外で開発することは出来ません。
VisualStudioとの親和性?
そんなものは全く有りません。

あなたのVBA批判を元にすればそういうことになります。
VBAに対しては全ての条件を厳しく、PowerShellに対しては全ての条件を優しくでは困りますね。

VBAでも制約がある中で工夫でそれを乗りきっているわけです。
そういう工夫を否定するならPowerShellにおける工夫も否定して発言してもらわないと困りますね。
0990デフォルトの名無しさん垢版2018/07/22(日) 10:02:18.60ID:ZN+SAgqe
>>986
私はPowerShellの適材適所を認めています。
しかしVBE批判者の論理に則ればそういうことになるということです。
0991デフォルトの名無しさん垢版2018/07/22(日) 10:35:19.44ID:NHUbC5Q3
VBA は、Excel とか、人間が見て、表に書き込む用途には良い

でも、ボタンを押して、DB・ファイルI/O・テキスト処理などをする場合、
PowerShell, Ruby が適している

これらを、VBA で書くのは地獄だろ。
数行のコードが、数百行になる。
百倍!

Excel エンジニアは、プログラマーじゃないけど、
これらの処理は、プログラマーが求められている業務だから

仕様書・テスト・保守とか、ソフトウェア開発の領域だから、
Excel の領域をはるかに超えている

普通は、目標からツールを選択するけど、
先にツールを決めた場合は、やれる事を限定しないといけない

どこかに、そのツールを使っていくと、非常に不利になってくる分岐点がある。
そこがそのツール・技術・技術者の限界で、
新技術へ以降しなければならないというサイン!
0992デフォルトの名無しさん垢版2018/07/22(日) 10:55:23.83ID:CTYLuhfh
>>991
>DB・ファイルI/O・テキスト処理

ユーザーが手元で作ってきた経緯が長い(下手すると10年以上)から、そういうのはオレオレ便利ツールが揃っているんだよ。
オレオレであったとしても大抵のことがPowerShellやRubyより少ない行数で書けて、品質が問題なければ十分。
十分てのは「わざわざプロに委託するまでもない」ていう意味。

大企業で異動が頻繁ではないユーザー部門だったら多くはその程度のレベルには行ってる。
もちろんExcel、VBAオンリーじゃないけどね。
逆にIT部門の方が全然ダメだったりする。
0994デフォルトの名無しさん垢版2018/07/22(日) 11:02:15.87ID:y2C4tyZ9
いい加減うぜーからどっかいけよクソアスペ
VBAに文句言ってる人がどこに文句つけてるのかまったく理解できてないから話も通じないしかみ合わない
0995デフォルトの名無しさん垢版2018/07/22(日) 11:07:52.11ID:JYBVTbEC
一見マウント取ってボコボコに叩いているように見えるも彼が何と戦っているかは誰も知らない
0997デフォルトの名無しさん垢版2018/07/22(日) 11:25:39.83ID:ZdlXXxg7
>>989
PowerShellはC#コードをコンパイルして実行出来ます。
あなたの知っているPowerShell?と本物のPowerShellは別もののようです。
あなたは違う製品をPowerShellと誤認識している可能性があるので、まずは確認をおねがいします。

ただの言葉遊びですね
「〜すれば出来る」という抽象的な文にしてしまえば、まるでVBAもPowerShellも同じであるかのように錯覚させることができます
実際には「〜」のボリュームにて果てしないほどに差がつきます

PowerShellはISEのほかVisualStudioCodeでの開発がMicrosoftによってサポートされてます
VisualStudioにもPowerShell MVPの方が作成したPowerShell Tools for Visual Studioという拡張があります

結果的にVBAに厳しくPowerShellに優しく見えてしまったのかも知れません
ですが評価とは本来そういうものです
成績が悪いのはいじわるされているからだ、などと大人気ないことを言われては困ります

欠陥を補うための工夫と、より良い結果を導き出すための工夫を混同してはいけません
PowerShellはVBAのように足りないものを補うために頭を悩ませることはそう多くはありません
頭を使うなら、どんなものを作ればより高い価値を提供できるのか、について考えるべきです
人間の脳は有限なので、開発基盤由来の困難解決に脳のリソースを使うほど、品質向上のための脳のリソースが減っていきます
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 56日 14時間 55分 20秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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