25/04/27 10:57:39.63 bnOAlujA.net
>>479
運転とプログラマーじゃ、代わりを探す労力に差がありすぎる
免許持ちもVBAが書けるやつもいくらでもいるが、他人の書いたプログラムを解読して修正できるやつってのはちょっとレア
しかも、多くの経営者はこれが特殊スキルと思ってないからそんなとこにコストをかけたくないってのが本音
だから問題になる
490:デフォルトの名無しさん
25/04/27 11:08:15.27 aTGSLIj0.net
NGワードに属人化を入れることでスッキリさせることに成功
491:デフォルトの名無しさん
25/04/27 11:08:56.65 RSOujG5D.net
いやいや、スキル的にできる奴は山ほどいる
問題は、やりたい奴が極めて少ないという点だ
まともなプログラミングスキルがあるならもっと面白くてスキルアップできる仕事が山ほどあるのに、安い賃金で誰にも評価されずスキルアップにも繋がらない便所掃除をやりたがる奴はいない
492:デフォルトの名無しさん
25/04/27 11:27:31.76 aTGSLIj0.net
ちなみに個人事業主やってて、
どこぞのVBAで抜き差しならなくなったものを書き直して仕様書と併せて納品
あるいはPythonに移植して仕様書と併せて納品してるけど、
おまいらの想像以上に良い金になる
濡れ手に粟
493:デフォルトの名無しさん
25/04/27 11:43:54.54 PEcsUA/t.net
会社側もよほど切羽詰まっていたんだろうねえ。
大局的に見れば抑えられたはずのコストだろうけど、484みたいにそれで儲かっている人が居るならそれはそれで良い話だ。
494:デフォルトの名無しさん
25/04/27 14:49:25.30 rRExk4WB.net
運転でもうまいやつとへたなやつがいるだろう
VBA使いにはプログラミングやシステム設計がへたなやつが多いということ
495:デフォルトの名無しさん
25/04/27 15:15:18.84 0hsNeEWH.net
適当にかじって自分用に作ってるからな
496:デフォルトの名無しさん
25/04/27 16:07:51.42 SWrT9XSV.net
逆引き大全買っちゃった
497:デフォルトの名無しさん
25/04/27 16:31:38.91 HBc7xJ0o.net
君が挙げた例は「属人化(の弊害)」ではない。 だから、定義しろっつってんの
じゃあ、どういうのがVBAの弊害と世間一般では言われてんだよ?って聞いてんの
コッチが例え話すりゃあ「それはちがう」 単なる例え話だぞ? 免許が特殊な技術的国家資格とかでもいい
ウエが阿呆だから現場でそんなてんやわんやが発生すると書いた人が居るけど、その通りの事を言ってるんだ
上長がしっかりして、そういった個人技術を全体に普及・波及する努力をしてりゃあ、誰が抜けたところで
即座に困る事なんかほぼほぼ無いんだ 鼻くそ丸めながら「なんか知らんが勝手な事してる奴が居るなあ」
でのほほんとしてるから、いざ退職されてから困り果てる
そんな会社は潰れたって構いやしないだろうに
それが例えば従業員数百人規模の会社だろうとだ ま、数千人規模でもおんなじだけど
ご利益にも繋がらないような「VBAは属人的」なんてぇお題目唱えてるだけで、何らの解決策も講じないような
スカポンタンな集団が蔓延るのが鬱陶しいんだ 六根清浄と唱えてる方がまだご利益ありそうだろ 違うか?
なんか知らんがその辺に転がってる耳触りだけはいいビジネスワードを、これ見よがしに口真似して
その本質を見ようともしないで得意満面な奴は、ぶっ飛�
498:ホしたくなるってだけ ひと頃流行った「悩ましいですねえ」とかと一緒 (一生悩んでろ、ボケ)と罵ってるようなもの 「一旦社内で揉んでみます」とかなら、まぁまだ分かるが
499:デフォルトの名無しさん
25/04/27 16:39:50.30 HBc7xJ0o.net
VBAは属人的 とはつまり、事務業務に根本的な問題がある企業のくせに
責任を末端に押し付けるブラック体質だと、自ら公言してるに等しい阿呆責任者の言い逃れに過ぎない
500:デフォルトの名無しさん
25/04/27 17:10:22.95 9974j3MB.net
属人化って要するに担当者が意地悪してるだけやん?
使い方をちゃんと教えてくれて、ソースもパスワードかけずに公開してたら読めるヤツは読むぞ
コピペしか能のない奴には他人のソースが読解できないってだけの話やら?
501:デフォルトの名無しさん
25/04/27 17:19:04.92 oHyIRNV3.net
多くの場合、VBAは大したことやってないのに担当者のスプログラミングスキルの低さ故に無駄に複雑かつ保守性の低いものになっており、
後から他人が読み解いてメンテを継続するのは非常にコスパが悪いケースが多い
コスパ的には多くの場合において棄てて仕切り直した方がマシなのだが、とはいえ中途半端に自動化されているため、いざ棄てると一時的にそれなりの業務効率の低下が生じる
その業務効率の低下量をVBAにおける「属人性」と定義するのがよろしい
502:デフォルトの名無しさん
25/04/27 17:39:11.20 PEcsUA/t.net
>>489-490
VBAは属人性の問題を指摘されることが多いというのをどうしても否定したいんだね。「VBAに強い拘りを持つ人って、やっぱりそういうレベルなんだな」という印象は強まるばかりだけど。
会社側がきちんと管理できる体制なら属人化の問題は生じないというのは最初から書いているでしょ。だからこそ、VBAの属人化リスクが広く認識されるようになった今では、多くの会社が、VBAを全面的に禁止するなり、個人の裁量の範囲内でのみ許可したりという形で対応しているんだよ。
会社の多くはVBAの属人化リスクを認識して既にその対応をとっているわけで、属人化リスクが高いということ自体を否定したがる君のような議論ははっきり言って周回遅れなんだよ。
君は、「個人技術を全体に普及・波及する努力」というのを唯一のあるべき管理体制として捉えているみたいだけど、残念ながら多くの会社は、素人の書いたVBAコードに対して管理コストを投下するほどの価値を認めていない。だから、「使うな」とか「使ってもいいけど個人で責任のとれる範囲内で」という方針にしているわけ。
ついでにいえば、属人化という言葉には、会社が社員に責任を押し付けるというニュアンスも特にない。VBA はExcel内で書いて実行できるので、質の低いコードがいつの間にか業務に使われているという好ましくない事態が生じる可能性が他の言語と比べて顕著に高い。それで痛い目を見た会社が少なからずあったのでリスクとして認識されるようになったに過ぎない。
503:デフォルトの名無しさん
25/04/27 19:30:20.87 22nZEpjv.net
Power Automateで思ったんだけど
一つ一つごとのループブロックごとにそれぞれ別の変数(カウンタやカレントなど)を設定する事によって、変数のスコープを極小にする、
むしろカプセル化の様にループブロックやコードブロックの外からアクセスを受け付けない、という事がこれからの当たり前になるのだろうか。
もはや一つ一つのコードブロックが別々のプロシージャなんだと
人智を超えていても、ソフトウェアがそれを補えるし
504:デフォルトの名無しさん
25/04/27 19:33:19.45 22nZEpjv.net
VBAはVBAでも、APIの様な高度な知識が必要なやつはさすがに属人化だと思う(APIはまだやってないだけ、かも知らないけど)
基本的なメソッド、オブジェクトだけだよね
505:デフォルトの名無しさん
25/04/27 19:46:24.57 bnOAlujA.net
一定のスキルがあれば、APIの意味や使い方なんてぐぐればわかる
ドキュメントはみんなネットに公開されてるんだから
506:デフォルトの名無しさん
25/04/27 20:34:34.42 RSOujG5D.net
>>494
そんなもんVBA以外のプログラミング言語は20年以上前から当然にみんな
507:そうなってる
508:デフォルトの名無しさん
25/04/27 21:56:06.79 22nZEpjv.net
>>497
じゃあC言語とかでもそうなのですか?
509:デフォルトの名無しさん
25/04/27 22:00:02.07 22nZEpjv.net
>>497
いやいや、パッと調べただけでも他言語でも変数の使い回しできてるじゃん
私が言いたいのは一つのループブロックごとに、他の箇所では再利用できない変数一つという事
510:デフォルトの名無しさん
25/04/27 22:56:41.73 RSOujG5D.net
例えばC#のforやforeach文のループ変数はそのループの中だけで有効だが、そういう話か?
C++も大昔のバージョンを除けば同様
511:デフォルトの名無しさん
25/04/28 01:52:20.30 hDmEwqG0.net
>>481
>他人の書いたプログラムを解読して修正できるやつ
自分で描いたものでさえろくに保守出来ない香具師の方が大半な現実
512:デフォルトの名無しさん
25/04/28 10:21:58.00 AuNLagCl.net
ダイクストラが言う構造化プログラミングはモジュールとか抽象データ型とかも含む広範で抽象的な概念として説明されている。
連接・分岐・反復で構成しようという話はそれより前に発表されたものだが、この時代は構造化もクソもないプログラムがまかり通っていたという前提がある。
まずはその三要素を基礎に据えて構成したらわかりやすくね? という提案 (というか感想?) に過ぎず、それで全て事足りるみたいな主張ではない。
(理論上は連接・分岐・反復で全て表現可能であるという証明はされている。)
構造化プログラミングの考え方のキモは構造は人間の認知の中にあるということ。
人間が思考しているときの構造を書き表すためにどんな言語機能 (またはデザインパターン) があればよいの? ってのが構造化プログラミングの議論なんだよ。
書いた人が思ってる構造が表現されているなら構造化プログラミングだし、構造化プログラミングのために用意された機能を使っていても構造が表れていなければ構造化プログラミングではない。
まあついでに言えば書き表されたものについて (コンパイラも人間も) 検証しやすいことも大事だ。
機械的に goto を除去したらむしろ構造が失われるという例をクヌースが出したりもしていて、結局のところはどんな機能も正しく使えば正しいし、悪い使い方をすれば駄目になるというシンプルな話。
そんなわけで break が構造化を崩すか崩さないかは使い方による。
ただ、常識的に考えて break は goto より構造を破綻させにくいだろうってだけ。
513:デフォルトの名無しさん
25/04/28 11:10:41.08 6D3yvt7l.net
どこのスレの誤爆かな?
514:デフォルトの名無しさん
25/04/28 16:28:52.13 5fRt9Dct.net
SQLiteのデータベースをODBC経由ADODBで引っ張ってきてるけど、
CopyFromRecordSet で一発で貼るのと 1行1カラムずつ地道に貼るのとで
267件中1件1カラムだけ違う これは何なんだろう
515:デフォルトの名無しさん
25/04/28 17:32:10.75 L3M/APjY.net
知らんがな
違うと思ったならチェックしたんだろ?どう違うかを知っているのはお前だけ
516:デフォルトの名無しさん
25/04/28 19:04:28.97 opVSzI03.net
>>504
自分で作ったコードを調べて原因を見つける能力がない無能っぷりを白状しているようにしか見えない
517:デフォルトの名無しさん
25/04/28 19:12:48.88 77Ku1S4P.net
質問スレなんだし、そんなにきつく当たらなくてもいいんじゃない? もう少しゆるい感じでやっていこうよ。
518:デフォルトの名無しさん
25/04/28 19:29:47.71 5fRt9Dct.net
辛辣だなぁw CopyFromRecordSetで貼ったやつの方だけ1箇所違うんだよ
1行、1カラムずつ貼った方は正しい 元データももちろん正しい
lobjが対象テーブルのListObject dbrsがADODBで引いたRecordSet
データが違うパターン
lobj.InsertRowRange.CopyFromRecordset dbrs
正しいパターン
rc = 1
Do Until dbrs.EOF
For co = 1 To lobj.ListColumns.Count
lobj.ListRows(rc).Range(co).Value = dbrs.Fields(co - 1).Value
Next
rc = rc + 1
dbrs.MoveNext
Loop
これでどう検証したらいいのよ
519:デフォルトの名無しさん
25/04/28 19:34:46.10 aApiL0z1.net
どう違うのかも書かない無能だから
520:デフォルトの名無しさん
25/04/28 20:16:18.13 Fc2g4rbd.net
PowerQueryの方がVBA よりも処理が高速なはずだ
と思っていたけど、配列を使えばVBAの方が処理が高速だったよ
521:デフォルトの名無しさん
25/04/28 22:36:06.18 opVSzI03.net
>>508
一カ所違うというのは実データがおかしな変換をされているのか?
それとも一方のデータが 多い/少ない と言っているのかな?
522:デフォルトの名無しさん
25/04/29 00:38:17.02 Cio0Z7DT.net
>>511
ざっくり例えると、1件ずつ処理すると元データどおり
みかん 150円
バナナ 200円
りんご 250円
となるところがCopyFromRecordSetだと
みかん 150円
みかん 200円
りんご 250円
になる感じかな もちろん今回が初めてのケース
523:デフォルトの名無しさん
25/04/29 03:39:13.13 uCA5xnZY.net
>>512
再現性があるか
何番目がおかしいか
一度にコピーする件数を少しずつ減らしたらどうなるか
そういう地道な作業を繰り返して、条件を絞り込み、原因を突き止めていくんだ
524:デフォルトの名無しさん
25/04/29 05:46:13.95 DUP3Wr3v.net
重複したデータでなければプログラムに問題がありそうだけどなぁ
ザックリすぎてわっかんねぇなぁ
525:デフォルトの名無しさん
25/04/29 05:58:53.59 NELjOoG5.net
質問の間抜けな感じからして凡ミスやな
526:デフォルトの名無しさん
25/04/29 06:09:56.99 DUP3Wr3v.net
スゲー適当なんだけど違いが1件ってことはEOFが入ってるとかそんな感じかな?
527:デフォルトの名無しさん
25/04/29 09:40:01.77 Cio0Z7DT.net
>>513
同じデータをAccessにインポートして実行→再現せず
SQLiteで検索するデータ量を減らす→再現せず
で、よく見たら256レコード目で検索条件(SQL文)変えても必ず発生することがわかった
SQLite3 ODBC DriverからADODBでデータ取得してCopyFromRecordSetでデータ貼付けすると起こる
データ取得方法は同じでも1レコード1カラムずつデータ貼っていくと起こらない
ダミーデータ作って色々試してみるかな
528:デフォルトの名無しさん
25/04/29 09:48:33.61 cxg+2T2y.net
>>517
元データの中に制御文字のようなゴミがあるとか、取得したものを表示する過程でミスっている可能性もある
ダミーで試すか、文字コードをバイナリ値でチェックするとかだな
あと256番目って数値がbyte扱いで0になってないかとか
529:デフォルトの名無しさん
25/04/29 09:57:59.04 LEbvev28.net
昔Oracleのバグで1件くらい少ないレコードセット返ってくるバグ思い出した
530:デフォルトの名無しさん
25/04/29 11:15:10.56 Cio0Z7DT.net
ダミーでも再現した
SQLite側のフィールドがTEXT型の場合のみ、256レコード目の内容が255レコード目と同じになる
INTEGER方だと起らない
531:デフォルトの名無しさん
25/04/29 11:17:05.94 Cio0Z7DT.net
こんな感じ SQLiteに日付型は無いのでTEXT扱い
254 test254 2025/06/11 1253
255 test255 2025/06/12 1254
256 test255 2025/06/12 1255
257 test257 2025/06/14 1256
532:デフォルトの名無しさん
25/04/29 12:21:37.37 TmvDscRd.net
属人的と言うなら車間距離だな
ExcelやVBA利用者には車間距離詰める馬鹿が多過ぎる
総じて「だろう運転」ばかりしていて「かもしれない運転」なんて眼中に無い
そもそもMicrosoft開発陣が「だろう運転」を推奨してる節がある
533:デフォルトの名無しさん
25/04/29 12:25:39.07 Cio0Z7DT.net
連投失礼、256だけじゃなく512,768,1024も同じ現象だった
534:デフォルトの名無しさん
25/04/29 13:23:59.14 lJszgH0z.net
ODBCのバージョンと定義がわかる画面貼っとけ
535:デフォルトの名無しさん
25/04/29 14:30:57.99 AuvQCcIn.net
久しぶりに面白そうな話題じゃん
自己解決しちゃっても是非原因教えてね
536:デフォルトの名無しさん
25/04/29 16:26:16.90 Cio0Z7DT.net
スクショは貼らないw 64bit
SQLite3 ODBC Driver 1.34455.00.00 Christian Werner Software & Consulting SQLITE3ODBC.DLL 2023/10/23
データ取得と貼り付けは至ってシンプル
Set dbcn = New ADODB.Connection
dbcn.ConnectionString = "DRIVER=SQLite3 ODBC Driver;Database=E:\Temp\testdb.db"
dbcn.Open
Set dbrs = New ADODB.Recordset
dbrs.Open "select * from testtbl", dbcn, adOpenStatic, adLockReadOnly
ThisWorkbook.Sheets("Sheet1").Range("A1").CopyFromRecordset dbrs
537:デフォルトの名無しさん
25/04/29 16:31:39.01 Mpe85ZPY.net
>>526
やっと全部情報を出してきた
だから馬鹿とか罵られていたんだよ
ドライバのバージョンを替えてみ
538:デフォルトの名無しさん
25/04/29 16:37:30.76 Cio0Z7DT.net
>>525
早速自決w
Set dbrs = New ADODB.Recordset
dbrs.CursorLocation = adUseClient
dbrs.Open "select * from testtbl", dbcn, adOpenStatic, adLockReadOnly
で正常になった お騒がせしました
539:デフォルトの名無しさん
25/04/29 16:47:03.16 EclpVRbh.net
ちょうど総合相談スレでも
3時間くらい前に発生した本日の事案への弔辞
> 介錯人は頼んだのかな
> 成仏しろよ
540:デフォルトの名無しさん
25/04/29 16:58:21.16 EclpVRbh.net
「自決」の辞書上のもう一つの意味、民族自決主義の「自決」は
「自分の意志で自分のことを決めること」だけど、
くだんの「自決する」の文脈は、意志うんぬんや決めるとかの流れはない。
なので、「問題を自分で解決した」という意味はならなさそう・・・
とマジレスしてみる
541:デフォルトの名無しさん
25/04/29 20:39:35.35 la4ZcTxc.net
自分のケツのことかと思った
542:デフォルトの名無しさん
25/04/29 21:12:16.89 hhMpSOWT.net
痔になったケツかと思った
543:デフォルトの名無しさん
25/04/29 22:00:44.14 V3jk1q3e.net
WinAPIでvisual styleを適用させたい
office2021だとCreateWindowEXで作ればvisual styleになるのにoffice2019だとならない
544:デフォルトの名無しさん
25/04/29 23:44:21.62 jEUD8QFb.net
今頃になって列の行ごとの文字列のReplaceは、まず文字列をカンマでもなんでもいいから全部くっつけてひとまとめにして変数に代入して、Replace(文字列,検索文字,"")すれば一括で置き換えられるって理解したよ
そしてSplitで配列に戻して元通り
545:デフォルトの名無しさん
25/04/30 01:17:17.74 0P1GE/1d.net
>>533
ComCtl32.DLLにリンクしてないからだと思う
546:デフォルトの名無しさん
25/04/30 03:14:35.45 IvfkHP7P.net
>>534
たまたまデリミタと同じ文字(列)がデータにも含まれててExcelのバグだと騒ぐまでがセット
547:デフォルトの名無しさん
25/04/30 06:29:26.31 7AsrwtYN.net
>>536
わかるわかる
548:デフォルトの名無しさん
25/04/30 06:54:36.59 TQaKmIw3.net
>>534
初級を脱したい奴が考えそうな無駄な技
経験積めば自然に書くのが一番て解るよ
549:デフォルトの名無しさん
25/04/30 18:11:25.83 /xZzLlpB.net
Range("A1:C10").Replace What:="置換前の文字", Replacement:="置換後の文字", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
ってchatgptさんが言ってます
550:デフォルトの名無しさん
25/04/30 18:39:00.27 3/ALrefg.net
Replaceメソッドはシートの検索/置換オプションも変更されるから嫌い
551:デフォルトの名無しさん
25/04/30 19:34:30.68 Ypkgz0ac.net
>>528
さんきゅ
552:デフォルトの名無しさん
25/05/01 10:16:05.61 NoOjVvyj.net
開発では作るだけでなく動作確認、評価、検証をきちんとやるのも大事なのじゃ
わざと異常を出して正しく異常が出るか、桁数やデータが大量だとどうなるかとか、日本語以外の環境でも動くとか
実際に動かして確認すると気づかなかった問題が見えてくるものだ
553:デフォルトの名無しさん
25/05/01 10:51:14.04 /KCrsMZn.net
テストが重要なのはもちろんだが、VBAerレベルではそもそもバグが出にくくテストケースを闇雲に増やさなくていい書き方というものも多少は勉強した方がよい
似た処理をいちいちコピペすればその分ミスは増えるし、プログラムに直行性がないとテストケースは無限に増える
554:デフォルトの名無しさん
25/05/01 11:52:17.40 nTiKCI2R.net
>プログラムに直行性がないとテストケースは無限に増える
ほんそれ
直交性が無いのは言語の欠陥だと思う
555:デフォルトの名無しさん
25/05/01 13:39:51.25 yf6hHvtn.net
x ほんそれ
o 本当にそれ
556:デフォルトの名無しさん
25/05/01 14:02:16.67 NoOjVvyj.net
問題ないですとか言ってたのに後になって実は確認してませんでした とか言う新人たまにいる
557:デフォルトの名無しさん
25/05/01 15:05:48.78 my1nUwSm.net
VBAで単体テスト、カバレージ100とか聞いたことないわ
あれ?ACCESSの納品物の評価ってどうやってたっけ……(もう忘れた)
558:デフォルトの名無しさん
25/05/01 23:23:13.02 15supz3z.net
スレチだけど
やっとPowerQueryの変数宣言、代入、for each、無名(名前付き)関数がわかった。
.Buffer早すぎ
559:デフォルトの名無しさん
25/05/02 00:25:17.81 +dCfSpYU.net
Dim wb As Workbook
Dim pq As WorkbookQuery
Dim ws As Worksheet
Dim i As Long
とか宣言して、wb、wsの変数代入して、
For Each pq In wb.Queries
ws.Cells(i, 1).Value = pq.Name
ws.Cells(i, 2).Value = pq.Formula
i = i + 1
Next pq
とかやると、VBAで各クエリーの名前とM式の中身をワークシートに書き出せるのね
560:デフォルトの名無しさん
25/05/02 01:50:51.67 TLbUOI0p.net
>>549
いやん見ないで照
561:デフォルトの名無しさん
25/05/02 06:41:36.56 TLbUOI0p.net
前に言っていた、Power Automateみたいにコードブロックを入れたら、作成したコードブロックだけで有効な変数が自動的に作成されて、コードブロックを抜けたら変数が削除される、コードブロックごとに変数が一意、コードブロックがカプセル化、秘匿化されている、もはやコードブロックがサブプロシージャ、ファンクション関数っていうの、関数型プログラミングの事だったんだな
562:549
25/05/02 06:43:09.29 +dCfSpYU.net
そんな、他人を痴漢扱いすなw
いやこれ、一昨日ChatGPTに
「クエリーの依存関係がもっと見やすいツール、何かない?」
って聞いた中で、教わったばかりの一部なんだけど。
需要があるなら、フルでプロシージャを晒すよ?
おのおのChatGPTに聞けばいいんだろうけれど。
ここから親子関係の一覧表を作る、次のプロシージャは
正規表現検出をどう扱うか、相談しながらチューニング中なんだけど。
563:デフォルトの名無しさん
25/05/02 07:20:32.31 TLbUOI0p.net
ワイはCopilotにsheet.copyで作成した新規ブックのクエリを削除するにはどうしたらいいですか?
のコードでマクロ実行ブック(コピー元)のクエリも削除された泣
プログラマが型がわからないってマジ?
VBAでtypeっていうともっぱらそのモジュールのみで有効なプロパティ?の事を指すと思うけど
TypeScriptでは静的型付けの様に、バグの無いコードというのは、できる事、やれる事、受け付ける操作を限定する事だと思う。
何でもかんでもできる、受け付けるというのはバグの元だよ。
564:デフォルトの名無しさん
25/05/02 07:59:38.75 TLbUOI0p.net
VBAは変数を宣言しなくても変数が使用できるし、Variantは中のデータの型を判断するし、動的型付けだった😫
宣言を強制しているし、型指定もしているからすっかり忘れていた
565:デフォルトの名無しさん
25/05/02 08:41:13.69 IByDjNOR.net
>>549
WorkbookQuery初めて知った
面白そうだな
566:デフォルトの名無しさん
25/05/02 09:45:33.14 G++s7sQD.net
>>551
Power Automateって使ったことないので分からないんだが、多くの言語で一般的ないわゆるブロックスコープとは別物なの?
567:デフォルトの名無しさん
25/05/02 12:34:26.30 FVfG1Al+.net
>>556
同じなんだけど、
Power Automateはループ処理のアクションを追加すると自動的にvbaでいう for i の i とか for each 変数 の 変数が自動的に宣言される
vbaで同じ事をしようとするといちいち宣言しなくちゃいけないし、命名のレパートリーも尽きるからやらないし、流用になる
個別に変数を自動的に宣言してしかも管理も把握も一目瞭然だと、これからの時代はそれぞれのアクション、ブロックが一つのオブジェクト、関数みたいになるのがスタンダードで、しかもさらに進化するのかなと思う
568:デフォルトの名無しさん
25/05/02 13:08:27.70 i8P7c2SF.net
だからそんなもん20年前から他の言語では一般的だし、
PowerAutomateって複雑なことやろうとすると共通の変数を複数ステップに渡って弄り回すことになって簡単にVBAの糞コードみたいになるよ
変数のスコープに関する君の考えは一般的には正しいが、残念ながらPower Automateは君が期待しているようなものではない
569:デフォルトの名無しさん
25/05/02 13:46:02.65 G++s7sQD.net
スコープが別なことが分かっていれば、ループ変数は同じ名前の流用でも特に問題は起きないような気もするけれど。まぁでも便利なんだろうね。
ブロックスコープがない言語もそこそこあるような……。Pythonとか昔のJavaScriptとかは、関数スコープはあるけれどブロックスコープはないよね。
570:デフォルトの名無しさん
25/05/02 16:53:20.86 nKjy1k/M.net
ブロックがあればええ
571:デフォルトの名無しさん
25/05/02 19:06:46.82 ngu+xaVd.net
全てグローバル
変数名も文字数制限あり
BASICとはそういうものだ
572:デフォルトの名無しさん
25/05/02 20:16:54.76 KF55o+fS.net
変数名といえばおまえら Option Explicitしてるの?
俺はうっかりさんでスペルミスしがちだから外せないけど
573:デフォルトの名無しさん
25/05/02 20:38:35.86 sdnBjLxl.net
しない理由がない
574:デフォルトの名無しさん
25/05/02 20:55:10.60 1BRp4bnH.net
あれ消えないようにして欲しい
575:デフォルトの名無しさん
25/05/03 05:59:05.73 2+JR0EAo.net
今更ながらブックオープン 読み取り専用のコードだけを書いたfunction関数を作れば短い文字数でブックを開いて変数に代入できるって気づいたんだけど
もっと有用なコードはありますか?
さらにテーブルをセットするfunctionとか、ディクショナリーの作成、登録するfunctionとかもいいな
576:デフォルトの名無しさん
25/05/03 07:20:36.45 0JGyO
577:YLe.net
578:デフォルトの名無しさん
25/05/03 09:23:52.05 Hazt22aJ.net
>>565
短い文字数が有用ならコメント付けないで変数名とか全部1文字にしたらいいんじゃね
579:デフォルトの名無しさん
25/05/03 10:20:15.15 VRj6VpYS.net
使用回数によるよね
同じ操作が何回も出てくるなら適当なラッパー書いてあげると見通し良くて親切かなと
もちろんコメント付きでね
580:デフォルトの名無しさん
25/05/03 11:20:28.73 F8pywi6k.net
そのプロジェクト内では1回しか使わなくても、よくある定形処理は関数にまとめた方がいい
文字数を減らす必要はないけど、行数は少ない方がデバッグがしやすくなる
581:デフォルトの名無しさん
25/05/03 16:42:04.86 h9Jrb8E+.net
1ファイルに全部書く
582:デフォルトの名無しさん
25/05/03 17:16:40.74 2+JR0EAo.net
ラッパーというのですね
ありがとうございます
function関数やサブプロシージャは短い方がいい(一つの処理しか行わなくてもいい、行わない方がいい)
一回しか使用しない処理でも、メインプロシージャから切り分けた方がいい
と聞いていましたが、これはラッパーというのですね
583:デフォルトの名無しさん
25/05/03 18:50:44.41 ocHu15P2.net
ぱっぱらぱー
584:デフォルトの名無しさん
25/05/03 21:38:51.92 Hazt22aJ.net
お鍋の中からインチキおじさんが登場しますた
585:デフォルトの名無しさん
25/05/03 22:43:16.33 aLoX39eB.net
ぴーひゃらぴーひゃら
586:デフォルトの名無しさん
25/05/04 07:28:49.39 ajXSlqYh.net
ラッパーというのは、元の関数とかにガワを被せた(つまり、その中で元の関数を呼び出している)関数とかのことね。包装するとかの意味のラップ。念のため。
587:デフォルトの名無しさん
25/05/04 08:17:46.31 kPdoN8ak.net
ラッパーとインターフェースはどう違うのっと
588:デフォルトの名無しさん
25/05/04 09:35:43.88 VN1fyBP0.net
インターフェースは、抽象的にいえばひとまとまりと観念されるコードの塊(クラスとかモジュールとか)同士の間の境界、その境界に接するコード部分かな。インターフェースを介して情報のやり取りを行うに際して互いの前提が異なる場合には、そのままでは情報のやり取りができないので前提を合わせる必要がある。ラッパーはそのために使われることもあるけれど、基本的には全然別の概念。
589:デフォルトの名無しさん
25/05/04 16:30:55.85 IQyuDcpS.net
>>571
それはモジュール分割
ラッパーはすでにあるものを呼び出すファンクションやサブプロシージャ
ラッパーはラッピングだから、モジュールを包むモジュールというイメージ
590:デフォルトの名無しさん
25/05/04 16:35:24.36 IQyuDcpS.net
>>577
質問者じゃないけど、あなたの説明は入出力のインターフェース
質問者はオブジェクト思考のインターフェースのことを聞いているとおもわれる
インターフェースはモジュールに決まったメソッド、プロパティを持たせるための骨格となる設計の定義
特定のインターフェースを継承させることで、そのクラスにはどういうメソッド、どういうプロパティがあるのか調べなくてもわかるようにできる
591:デフォルトの名無しさん
25/05/04 21:24:05.55 NkPvwNmC.net
具象クラスの(>>577の意味での)インターフェイスを規定する抽象クラス(抽象基底クラス)それ自体のことをインターフェイスと呼ぶのは、オブジェクト指向というよりもJavaとかから広まった用語法なのでは。
個人的には、インターフェイスという語の本来の意味はあくまでも577のようなものであって、Javaとかでいうインターフェイスはそこからの派生とか転用として位置付けられるべき用語法だと思うかな。
ただたしかに、Javaみたいな意味でインターフェイスという語を用いることの方が(プログラミング関係の文脈では)もはや多いのかもしれないし、質問した576の意図もそちらにあったのかもしれないね。
592:デフォルトの名無しさん
25/05/04 21:50:46.14 6QG7+rqM.net
PowerQueryでの動的な繰り返し処理を理解したら、VBAにもList.Select関数とかText.PositionOfのOccurrence.Allとか欲しい
593:デフォルトの名無しさん
25/05/05 01:42:23.95 6skGH2rL.net
自分で実装すればいいじゃん
594:デフォルトの名無しさん
25/05/05 09:14:01.67 8n1c0Fvg.net
実装は難しくはないだろうけど、汎用的に使える便利な関数はできれば組み込みで持っていて欲しいという感覚は分かる。
595:デフォルトの名無しさん
25/05/05 10:45:35.51 NKQxWENO.net
配列の中に、対象に含まれているものがあれば、配列から取り出す、
っていう処理だから、内部処理的には、結局配列を全てチェックしていて意味がないのかな
596:デフォルトの名無しさん
25/05/05 10:46:27.32 Q8K4+hk+.net
自分が欲しいと思ったものは誰かがすでに作ってる
作るよりAIに聞いた方が早い
597:デフォルトの名無しさん
25/05/05 11:03:49.52 20YqVkB+.net
>>579
InterfaceはJava用語
TraitはRust用語
Excelでは何と言うのか?概念がそもそも無いのか?
598:デフォルトの名無しさん
25/05/05 11:43:00.38 EffckoF6.net
VBAにもInterfaceという機能があり見た目はJavaに似ている
しかし実質的にはCOM相互運用専用の機能であり、JavaのようなInterfaceは無いと考えて差し支えない
そもそもクラスメンバへのアクセスは常にダックタイピングなのでInterfaceはあってもなくても何の影響もなく、特に意味はない
599:デフォルトの名無しさん
25/05/05 13:17:06.42 bvP/AgOh.net
今時のプログラミングの考え方とか、関数型プログラミングというのは、ワークシート関数でいうindex関数とmatch関数の組み合わせの検索関数や、
マッチ関数とoffset関数とcount if関数の組み合わせによるプルダウンリストの絞り込みの様な、
一つのセルに対して関数のネストはやめましょう、
一つの関数は一つの答えを返しましょう、という認識なのですがどうなのでしょうか?
600:デフォルトの名無しさん
25/05/05 13:26:58.67 qohU83nC.net
入門書読んだこと無いの?
601:デフォルトの名無しさん
25/05/05 13:37:24.10 EffckoF6.net
違う
関数型プログラミングってのは、VBAなんか使わずにワークシートの式と関数だけで作りましょう、というものだと考えるとイメージしやすい
正確には、副作用のない式や関数だけを組み合わせてプログラムを作るのが関数型プログラミングで、Excelのワークシートはその一例
VBAでも注意深くやれば副作用のない関数だけで作ることは可能だが、それができるスキルの奴はVBAなんか使わないだろうね
602:デフォルトの名無しさん
25/05/05 17:39:10.53 ueUnqmHR.net
関数型プログラミングは入門記事でちょっと齧ったくらいだけど自分にはムリそうだなーと思った。
VBAとかPythonとかの手続型言語で書く分には、①決定性や副作用を意識する、②言語に取り入れられた関数型言語由来の構文(Pythonでいえば、イテレーター、内包表記、構造的パターンマッチとか?)を使うというくらいで十分じゃんじゃないかなぁ。
本格的に関数型でやるぞっていう人なら関数型言語(HaskellとかOCamlとか?)を使うんだろうし、そこまでは頑張れないけど手続型言語を書く際に関数型言語の考え方を参考にしたいという程度なら、上記①②くらいでお茶を濁しておく感じになるのではないかと。
603:デフォルトの名無しさん
25/05/05 22:54:48.45 bvP/AgOh.net
オブジェクト指向でカプセル化とか言っていたけど、結局はその理想通りにはならなかった。
その反省で生まれたのが関数型プログラミングという理解です。
関数には引数を引き渡す事と戻り値を受け取る事しか絶対にできない。
横槍も茶々入れも鶴の一声もない。
関数は一つのだけの事しかできない。
だからバグらない、誰がやっても結果は同じ。
604:デフォルトの名無しさん
25/05/05 23:40:24.40 fQ8xBj6s.net
関数型プログラミングはオブジェクト指向よりも圧倒的に古い
605:デフォルトの名無しさん
25/05/06 01:25:53.28 AZSw2w0R.net
関数型において関数は引数を受けることと戻り値を返すことしかできないというのは正しいのだけど、
鬼門なのは関数そのものを引数として渡したり関数の戻り値として関数を返したりできるところ
それにより関数型プログラミングは飛躍的に自由度と難易度が上がり、>>592の頭だとたぶんそこで挫折する
606:デフォルトの名無しさん
25/05/06 06:45:59.65 j1SFEq5D.net
>>594
まさに今それをやろうとしていますね
引数に関数を渡そうとしているの
値を引数にしたいけど、関数をネストせざるを得ない
607:デフォルトの名無しさん
25/05/06 07:24:57.73 Gnnon1y6.net
引数として関数そのものを渡したり、戻り値として関数そのものを返したりできるかは言語仕様の問題だから、言語によってできるかできないかは決まっている。VBAではできない。
608:デフォルトの名無しさん
25/05/06 08:15:59.98 Gnnon1y6.net
念のためだけど、
①ある関数(関数A)の引数の一つとして、他の関数(関数B)からの戻り値を渡すこと(大袈裟に言えば、関数呼び出し式のネスト?)と
②ある関数(関数A)の引数の一つとして、他の関数(関数B)そのものを渡すこととは、違うことだよ。
C言語もVBAと同じく、関数そのものを他の関数の引数として渡したりすること(上記②)はできないが(もっとも、関数へのポインタを渡すことによって同等のことは実現できる)、上記①はできる。
さらにいえば、関数を引数として渡せたり、戻り値として返したりできる(関数が第1級の値である等と表現されることも多い)というのは、関数型プログラミングのおそらく必要条件にはなるのだと思うけど、だからといってこれらの性質があれば関数型言語というわけでもない。JavaScriptとかPythonとかは関数が第1級の値である言語だけと、いわゆる関数型言語とは言われていないと思うし。
VBAは、構文的にはJavaScript、Pytnon、C辺りと比べても関数型プログラミングからより遠い位置にいる言語だと思うので、あまり関数型にこだわる必要はないのでは? 実践的には、関数の決定性と副作用の有無に意識的になるだけでも、それなりのメリットはあると思う。
609:デフォルトの名無しさん
25/05/06 09:32:02.27 ePr8aXMn.net
あとこれは割とどうでもいいことだけど、関数の戻り値を他の関数の引数にすることを「関数のネスト」ということは、普通はあまりないのではないかなぁ(関数呼び出し式のネストという趣旨だとすれば意図は通じるけれども)。
普通は「関数のネスト」といわれれば、関数定義のネスト(関数内で定義された関数)の方を想起すると思う。
610:デフォルトの名無しさん
25/05/06 09:47:26.27 K1Pjz07i.net
pythonの凸レータは関数型らしいし関数のネストっぽく観える
611:デフォルトの名無しさん
25/05/07 23:18:41.10 5rQjCI4p.net
関数型プログラミングは手続きという処理を見せないだけで、ロジックを隠すことでシンプルな見た目にするもの。
歴史上、常にこういう発想が何度も出てきているが、見た目をきれいにしたいだけで仕様の変更に耐えられない構文であることから、一度も主流になったことがない。
612:デフォルトの名無しさん
25/05/07 23:48:45.09 8NEt0qiL.net
>>600
全然違うと思いますけど?
結局大勢の人で手続き型プログラミングを作ったところでバカだらけ
613:デフォルトの名無しさん
25/05/08 01:43:07.29 eAkjlYW3.net
VBA使ってる人間が他言語批判は草
614:デフォルトの名無しさん
25/05/08 01:56:21.88 hlDlUBWZ.net
VBAは俗人化するのでは?なんて質問を会議でこのご時世に言われるとは思わなんだ
優しく答えて大恥かかせてしまったけど少し悪かったかも
615:デフォルトの名無しさん
25/05/08 03:20:26.19 Mm7IQCJP.net
設計と管理がちゃんとしてれば関数型だろうがプログラムは作れる
だいたいは見積もりが甘いかドキュメントの整備がおろそかになってるだけ
616:デフォルトの名無しさん
25/05/08 06:36:17.83 rpgtocHg.net
VBAの何が属人化するの?
他の本格言語、例えばC++と何が違うの?
617:デフォルトの名無しさん
25/05/08 07:04:16.42 KsTAlec+.net
単純に用途が限定的なのでわざわざ覚える人が少ないのよ
618:デフォルトの名無しさん
25/05/08 07:25:23.15 jLg0E+bB.net
関数型言語が主流になったことがないというのは事実だろうけど、関数型言語による宣言的なプログラミングスタイルに何かしら限界とか制約があるからなのか、それとも単に難しいからなのかはわからないな。関数型言語をある程度使いこなした経験がある人には分かるのかもしれないが。
619:デフォルトの名無しさん
25/05/08 07:39:13.07 jLg0E+bB.net
状態を数多く管理しなければならないようなプログラム(GUIとか?)はちょっと苦手と聞いたことごあるような気もするが、今はどうなんだろう。
620:デフォルトの名無しさん
25/05/08 08:15:37.11 Im8CJRBo.net
VBAに限らず、属人化のリスクは「協業の仕事」共通やな
当たり前っちゃ、当たり前だが
なんつうか、丁寧さというか共同作業のセンスというか・・・
621:デフォルトの名無しさん
25/05/08 09:23:26.41 v93ye6LH.net
どだい、現場の最前線で使われる省力化目的の小アプリ(業務の簡素化含め)なんか
その寿命は3~5年使えれば御の字
その間にもいろいろ業務形態も変化するし欲しい成果物もその都度変わったりする
その変化に逐次対応できるものなら属人化してようとも目的は果たしてる
その期間内に制作者が辞めたところでそれが何だってんだ 属人化させたのは上の責任
属人化がいけないなんてのは、上の方の言い訳に過ぎない 何故一人に任せた
10年も使い続けられるような制作物ならとっくに償却できてるし、その会社の立派な資産
622:デフォルトの名無しさん
25/05/08 10:03:03.06 a9PTljx+.net
話がループしてるな
623:デフォルトの名無しさん
25/05/08 10:09:29.45 D3KgMrbS.net
Exit vba
624:デフォルトの名無しさん
25/05/08 10:11:28.02 RKaJBu95.net
属人化の話題はVBAスレの華だからね。VBAがアイデンティティになっているタイプの人には譲れない話題なんでしょ。
今は、昔と比べて他の言語に触れてからVBAもやるという人が増えているのかな。VBAが最初に触れた言語ですという人の割合ってどれくらいなんだろう。
625:デフォルトの名無しさん
25/05/08 10:29:57.11 a9PTljx+.net
モジュール分ける意味と基準が判らない
全部のプロシージャを一つのモジュールに詰め込むのは何が悪いの?
626:デフォルトの名無しさん
25/05/08 10:32:44.22 G5GTs1je.net
Exile VIVA!
627:デフォルトの名無しさん
25/05/08 10:41:00.38 719LxqHN.net
>>614
VBAレベルなら全部一つでいいよ
分割したくなるほど大きくなるようなら全体の業務フローを見直すべき
628:デフォルトの名無しさん
25/05/08 10:54:42.11 RKaJBu95.net
一般的な言語だと、機能分割や名前空間の分割のためにモジュールを分けるのでは。
モジュール分割の基準については、凝集度(高い方が良い)とか、結合度(低い方が良い)とかの概念でいろいろ議論されているみたい。
ただ、正直、VBAのモジュールっていろいろと特徴的なので(クラス定義はクラスモジュールで行う必要があるとか)、モジュール分割が必要な規模ならVBAではあんまり書きたくないかな。
629:デフォルトの名無しさん
25/05/08 12:10:22.44 8ptxnmrn.net
今は改善されてるのかも知れないが
名前ちょっと変えただけで行方不明になることは良くあった
630:デフォルトの名無しさん
25/05/08 18:48:55.03 rpgtocHg.net
私はモジュールをコードの使用目的で分けているな
ブックマークみたいな感じ
あと特定のアプリケーションを操作する時は、関係する変数、オブジェクトをひとまとめにしたりとか
もっと何も気にせず使えるのなら、アドインにコードをまとめて共有したりもするんだろうな
631:デフォルトの名無しさん
25/05/08 20:28:48.50 Qp1M/T2r.net
皆さんVBAでどのくらいコードを書きます?
1000行くらい?
632:デフォルトの名無しさん
25/05/08 21:11:25.68 kNzCbrU5.net
シートごとにモジュール分けてる...
633:デフォルトの名無しさん
25/05/08 21:26:36.63 ownVsw/K.net
>>620
必要に合わせてかなり書くよ
1000は小規模
634:デフォルトの名無しさん
25/05/08 21:34:26.78 hlDlUBWZ.net
そういうところがセンスないんだよな
僕は詳しい僕は長くかける
で自己満足して社内の評価も年収も低いっしょ
火の玉ストレートでごめん
635:デフォルトの名無しさん
25/05/08 21:49:23.37 rpgtocHg.net
可読性の高いコードは、処理を一つ一つ、行を書く事だと思います
あと、エクセルだとRangeだのCellsだの、英語や数字になるから、それぞれ変数で名前をつけて変数に代入して可読性を上げるとか
636:デフォルトの名無しさん
25/05/09 07:31:44.14 Y+GhIEwV.net
うちの職場だけ特殊なので
全体のシステムが大きいからコードも必然的に大きくなるだけ
その中の個々の機能では1000行以下の機能もたくさんあるよ
637:デフォルトの名無しさん
25/05/09 08:00:17.09 zNQNct04.net
RPA!RPA!って少し前もてはやされてたけど、
速度的にも手順的にもVBAでよくねって案件多かったよね
638:デフォルトの名無しさん
25/05/09 12:28:57.25 piOnFv34.net
そうなか、自分のとこだけで精一杯で世間知らずになってるかも
639:デフォルトの名無しさん
25/05/09 18:28:31.58 HJ6RQEwc.net
VBAで済むならVBA
RPAの方が楽ならRPAってだけ
RPAの方が楽なのにVBAで書くのはバカ
640:デフォルトの名無しさん
25/05/09 18:30:10.14 HJ6RQEwc.net
>>628
ちょっと一行目が合わんな(寝起き)
641:デフォルトの名無しさん
25/05/09 18:41:10.42 zNQNct04.net
何が楽かって視点がないからRPAが廃れたってことをわかってなさそうなレス
642:デフォルトの名無しさん
25/05/09 22:10:08.68 p2pcYwx2.net
そもそも論として、使い方を学ぼうとしない人が大勢なのに使いこなせるわけがない
kintoneだろうがなんだろうが
銀の弾などない
643:デフォルトの名無しさん
25/05/09 22:37:09.74 p2pcYwx2.net
文系管理職なのに業務アプリをシュシュっと作れちゃう俺
あるわけないだろバーカ
絶対スカラ値の原則を無視したり、列を繰り返したりしてるわボケ
644:デフォルトの名無しさん
25/05/10 02:15:51.46 2PI0HY+M.net
豊川悦司「俺ー♪」
645:デフォルトの名無しさん
25/05/10 13:05:37.78 IWhliTad.net
無から有は難しいよね、環境や周囲の協力がないと
646:デフォルトの名無しさん
25/05/10 13:13:10.16 APagMvUq.net
業務効率化程度の仕事なら、無から有は勝手にやりゃいいだけだから難しくない
周囲を巻き込んだとしてもどのみち最終的には言い出しっぺが責任持ってやれよという感じにしかならん
有から別の有の方が遥かに難しい
647:デフォルトの名無しさん
25/05/10 13:23:47.83 TkZSyEZj.net
誰かがVBAなんかで半端に作っちゃったものを、こんなもんSaaSでいいだろと移行させるみたいなのは難しい
必ず、決まった業務を回すしか能のない人達が重箱の隅をつついたり牛歩戦術をしてみたりと必死に抵抗してくる
648:デフォルトの名無しさん
25/05/10 13:31:42.36 HZyfRGTg.net
金がかかるとなるとそりゃそうでしょ。
649:デフォルトの名無しさん
25/05/10 13:49:08.55 tG+fugNq.net
いや、経験上、金を問題にするのはある程度上の立場の人間なので、本質的でないしょーもない業務影響はあまり問題にしない。
〇業務を〇時間削減できるから人件費換算で導入コストと利用料を上回る効果が見込めますと説明できればよい。
くだらないことで難癖を付けてくるのは現場の人間。
650:デフォルトの名無しさん
25/05/10 14:05:58.61 3Mk2sCKg.net
>>630
何が楽かさえわかってないのかよw
651:デフォルトの名無しさん
25/05/10 14:09:45.85 644AQTJb.net
無から有ってのは、何であれ産みの苦しみって奴で、社会でも人生でもあらゆる場面で起こり得る
有から別の有ってのは例えが判らんが、αというシステム化された処理が有って、その結果を元に
別のβを作ろうとしているのか、或いはαの改善品αⅡを作ろうとしているのか
前者なら無から有と一緒だし、後者なら元と成ってる最初のαを精査すればいいだけ
こんなもんSaaSでいいだろと思い込んでしまった原因を自省してみて、うかうか宣伝文句に釣られてただけと
理解出来たら儲けもの じぶんで実際にSaaSに移行してみて一年位稼働させてそれでも一切問題が発生しない
事を確認してから提案するぐらいの努力は発言する前に済ませておくべき
やってみましたできませんでしたは、殊営利を目的とする企業では落第の烙印を押されるだけ
プロトタイプ・試作品も無いまま実務で運用することほど無謀な試みは無い 旧日本軍大本営方式でしか無い
652:デフォルトの名無しさん
25/05/10 14:31:05.56 HZyfRGTg.net
>>638
利用者が習得するまでの学習コスト考えてる?
習得するのに時間がかかるとか操作が複雑になり過ぎたら反発すると思うけど。
今よりこれだけ簡単になりますって話なら反発も少ないのでは?
653:デフォルトの名無しさん
25/05/10 14:39:47.45 tG+fugNq.net
>>641
だからそれを含めて難しいって話でしょ
654:デフォルトの名無しさん
25/05/10 16:34:23.69 ngauQQ8E.net
話の逸れ方が大きくなってきたな
655:デフォルトの名無しさん
25/05/10 16:38:29.08 iGSB8dlv.net
前から先人達がこのスレで、Arrayを使って云々・・・と議論しているの見かけて、
「どこで活かせるんだろう?」と思っていたけど、
今日初めて使ってみた。
もともとは、Power Queryで複数のクエリーとピボットを順番に更新させるのをVBAでやっていたのだけれど、
「クエリと接続」とタスクマネージャーをずっと監視しているのもしんどいので、
ChatGPTに、
「クエリーやピボットテーブルのそれぞれを1つのステップとして、
WMIの "SWbemLocatorオブジェクトのConnectServerメソッド" とやらを使って、
各ステップの開始/終了時刻とCPU最大使用率のテーブルをワークシートに出力できないか?」
と相談したら、その中に、出てきましたよ、
' ステップ一覧
Dim steps As Variant
' 更新ステップのリスト(ステップ名, 実行内容)
steps = Array( _
Array("Q_1", "クエリ - Q_1"), _
Array("Q_2", "Query", "クエリ - Q_2"), _
Array("Q_3", "Query", "クエリ - Q_3"), _
Array("Q_4", "Query", "クエリ - Q_4"), _
Array("Q_5", "Query", "クエリ - Q_5"), _
Array("Q_6", "Query", "クエリ - Q_6"), _
Array("Q_7", "Query", "クエリ - Q_7"), _
Array("Q_8", "Query", "クエリ - Q_8"), _
Array("PVT_1", "Pivot", "PVT_1") _
)
と。
で、何度かやり取りした結果、うまく出来まスた。
656:デフォルトの名無しさん
25/05/10 18:59:33.45 Pq21kD+5.net
しねごみかす
657:デフォルトの名無しさん
25/05/10 19:48:45.71 pekHwIHV.net
>>644
どれくらい処理の重い作業か、帰りの組み方をしているのか私には分かりませんが、
テーブルデータの整形が終わった後、一区切りついた後、テーブル関数やリスト関数などで繰り返し作業保護(一般的なeach?)
658:デフォルトの名無しさん
25/05/10 19:52:02.31 pekHwIHV.net
>>646
を行う前に
必ず
List.Buffer Table.buffer を行うと(VBAの配列並にとは言いませんが)処理が劇的に早くなると思います。
私は2000行に6000行のTaxt.Containsをして結果をList.SelectやAnyTrueなどをしていますが、劇的に早くなりました。
659:デフォルトの名無しさん
25/05/10 20:41:13.86 pekHwIHV.net
VBAでセルの中の改行のある大量の文字列の中から目的の�
660:﨣鰹oするという試みをやっていたのですが、最近になってやっと改行で区切って、1行にバラすという事に気がつきました。 これで無関係な文字列の行はフィルターできるし、視認性が劇的に改善したしで本当に楽になった。 データは必ず一行づつという当たり前を改めて知らされた。
661:デフォルトの名無しさん
25/05/10 21:53:08.57 iGSB8dlv.net
今回Arrayを使って、各クエリー/ピボットテーブル更新中のCPU使用率を調べようとしたのは、
・複数の前処理ブックの共通テーブルを参照して、項目ごと時間軸串刺し合計や最大/最小値とその時間なんかを求めるブック
・仕上がり52,560行
・これでもまだ中間集計ブック
・将来的には104万行を超えるので、ベース集計クエリーにはデータ モデルを使用
・今の第8世代Core i7と32GBメモリーで、このブックの更新には20分超
・当初は、List.Buffer、Table.bufferをクエリーで使って高速化を試したが、これだけ行が多かったりクエリー依存が多いと、シーケンシャルにしてBufferしたつもりが前クエリーの再計算が入ってExcelが固まったので断念。
・逆に、104万行以内に収まる途中のクエリーは、ワークシートに書き出してこれを参照するようにしたら、最後まで計算できるようになった。
662:デフォルトの名無しさん
25/05/10 23:00:42.57 pekHwIHV.net
>>649
クエリを分割したらいいって事でしょうか
中間テーブル?の様な
663:デフォルトの名無しさん
25/05/10 23:08:41.01 pekHwIHV.net
>>649
明らかに不要なデータを元ファイルから削除するとか、グループバイがしたいのならワークシートで
664:デフォルトの名無しさん
25/05/10 23:10:16.50 pekHwIHV.net
行の並び変えをするとか
不要な列は削除しておくとか
集計はパワーピボットを使用するとか、テーブルのjoinではなく、リレーションシップにするとか
できそうではないですか?
665:デフォルトの名無しさん
25/05/10 23:17:35.27 iGSB8dlv.net
>>650
別スレで
666:デフォルトの名無しさん
25/05/11 02:32:23.22 orNzllBw.net
属人化言い出したらExcelシートそのものも属人化だろな
667:デフォルトの名無しさん
25/05/11 06:38:44.59 dESx0WKG.net
>>654
これは正にだな
人によって非表示行(列)や非表示シート、
定義された名前を非表示にするやつすらいる
668:デフォルトの名無しさん
25/05/11 09:33:21.32 xj1UIMtq.net
他人のVBAより数式のほうが見たくなくなる
669:デフォルトの名無しさん
25/05/11 12:52:43.82 orNzllBw.net
世の中、属人化シートだらけ
670:デフォルトの名無しさん
25/05/11 13:42:45.69 oI5baM/t.net
逆に、「他人に見てもらう」ことを意識してExcel作っていたら、
独りよがりでない、少しはわかりやすいもの作るのかと。
「お天道様が見ている」
「第二の視座」
とか言うヤツ
671:デフォルトの名無しさん
25/05/11 13:57:41.75 UTf8BgbA.net
大さんという上司に観てもらってた良い思い出
672:デフォルトの名無しさん
25/05/12 19:52:24.55 /MqwmjFI.net
Excel大好き人間としてはHaskellを推したい
673:デフォルトの名無しさん
25/05/13 20:06:46.42 IQbEImBo.net
正規表現で漢字全てにマッチさせるにはユニコードの最後の漢字までを範囲にしたらいいのだすか?
674:デフォルトの名無しさん
25/05/13 20:43:44.18 UxpIpbA1.net
[\u4E00-\u9FFF]
675:デフォルトの名無しさん
25/05/13 22:37:17.01 IQbEImBo.net
urlに恐らく改行が含まれているのですが、改行もマッチさせるとなるともはやなんでもマッチしてしまいますか?
676:デフォルトの名無しさん
25/05/14 00:23:46.12 TPeqytUP.net
漢字で始まり、ひらがなで終わる
ひらがなのみ
カタカナのみ
マッチした結果を全てディクショナリーに登録して、アイテムは1+1を繰り返してカウントする
これだけでも頻度分析ができるんだね
677:デフォルトの名無しさん
25/05/14 00:57:58.82 WcLab/oc.net
>>664
678: それ単語の区切りはどうするの?
679:デフォルトの名無しさん
25/05/14 01:04:11.54 KAgWD1+F.net
仕事の管理でVBA使ってポツポツやってたけど違う業務管理が追加になってもうすっかりコードなんか忘れてるので面倒だなと思ってたけどChatGPTちゃんに聞いたら楽に組めた
Aのシートをコピーしてシート名はCにしてとかでもすぐに教えてくれるし
こんなのでもすっかり忘れてるから助かった
680:デフォルトの名無しさん
25/05/14 01:12:17.68 TPeqytUP.net
>>665
漢字とひらがな
ひらがなのみ
カタカナだけ
意味のある言葉になっているよ
むしろ本当の本当に単語にまで分解しても意味がわからないよ
情報を細分化してもしょうがない
681:デフォルトの名無しさん
25/05/14 01:49:41.56 TPeqytUP.net
例えば
お 世話 に なり ます(あるいは なります)
まで分解しても意味を持たないでしょう?
お 世話になります
で十分でしょう
東京タワー みたいに
漢字カタカナパターンもある事に気がついた
682:デフォルトの名無しさん
25/05/14 09:24:40.17 mIHvW3MM.net
それで分析できるのはその定義における節の頻度であり、一般的な単語とは異なる
それがお前の目的に合っているのであれば好きにしたらいい
ついでに言えばそんなもんMeCabに突っ込めばいいだけだからお前独自の方式なんて誰も必要とはしない
683:デフォルトの名無しさん
25/05/14 09:51:03.61 mHOx/gQ0.net
おー、MeCabってのがあるのね。めかぶって読めるなと書こうとしたら、本当にめかぶから名前を取っているのね。
684:デフォルトの名無しさん
25/05/15 22:57:08.75 vsR8tMHm.net
めかぶというやつの公式ページ?の
一行一分
は誤字ですか?
それだったらテキストマイニングを極めていてもやっぱりこの程度なんだなと
あと何を言っているのかを判断するには前後の脈略が必要だし、日本語はひらがなに特に意味がある訳でもないから
そこまで単語に固執する必要もない気がする
685:デフォルトの名無しさん
25/05/16 09:43:09.58 IgvVjYfn.net
make a boo
686:デフォルトの名無しさん
25/05/16 10:48:47.56 em0azm75.net
manko
687:デフォルトの名無しさん
25/05/16 13:02:22.31 TOZOy2SA.net
印刷範囲外のセルが
なぜか印刷範囲中央付近に
プレビューされ、実際にも印刷されます
改ページプレビューも利用して
グレーゾーンに押しやっている
テキストボックスなんですが
元の配置よりさらに外側に動かすと
印刷範囲から消えはします
そのため支障をきたしている
訳ではないのですが
なぜこうなってしまうのでしょうか?
688:デフォルトの名無しさん
25/05/16 13:04:09.96 TOZOy2SA.net
↑スレ違いでした、すみません
取り消します
689:デフォルトの名無しさん
25/05/17 09:02:45.85 ztNWa+hU.net
ラベルのAcceleratorって何に使うの?
690:デフォルトの名無しさん
25/05/17 10:17:32.20 BnclY/n2.net
マジレスすると
ボタンのタイトルを E&xcel とかにすると
Ctrl+x でボタンを押せるのが Accellerator じゃないかな
691:デフォルトの名無しさん
25/05/17 10:20:42.98 ztNWa+hU.net
でもラベル押せないじゃん
692:デフォルトの名無しさん
25/05/17 12:01:06.66 vJvypOU0.net
ボタンの上とかにラベルを貼り付けることで
マウスクリックした時、キーボード操作した時で同じ操作をさせられる
Accessなら、ラベル単体でもつついてあれこれできるけど、Excelではそんな機能は無い
SpecialEffectと併用して見た目押したようにできるかも知らんが
そんな無駄を付け加えてまでやりたいことなのかどうか
693:デフォルトの名無しさん
25/05/17 12:11:18.06 ztNWa+hU.net
回答?
独り言?
結局、何に使うの?
694:デフォルトの名無しさん
25/05/17 12:32:35.29 FyrcyVVg.net
一応、フォーカス移動には使えるんじゃない? それがどの程度嬉しいことかは微妙なところかもしれないが。
695:デフォルトの名無しさん
25/05/17 12:42:35.66 ztNWa+hU.net
テキストボックスの前に置いといて、ラベルにフォーカスさせると
テキストボックスにフォーカスされる
テキストボックスが複数あっても一発で選べる
なるほど、こうやって使うのか
696:デフォルトの名無しさん
25/05/17 12:48:29.09 AUJKaPS/.net
それは可能かもしれないけど、テキストボックスにフォーカスを移動するためにアクセラレータを使うのはどうかなぁ
697:デフォルトの名無しさん
25/05/17 12:49:47.54 AUJKaPS/.net
>>661が指摘してましたね
スレ汚しでごめんなさい
698:デフォルトの名無しさん
25/05/17 12:58:22.21 ztNWa+hU.net
よく出来たアプリはみんなできるようになってるよ
S)検索
みたいな感じ
マウスしか使わない人はそんなこと考えないし、
タブオーダーも無茶苦茶で、どこに飛ぶか判らない
699:デフォルトの名無しさん
25/05/17 14:53:18.10 Mou0F5/k.net
フォントサイズをセルの横幅にジャストサイズで合わせたいのですがどの様にすればいいでしょうか?
縮小して全体を表示するは試していますが、念のために列幅と文字数を割って1文字あたりの大きさをまとめるとか、そう言った確実な方法を探しています。
700:デフォルトの名無しさん
25/05/17 18:12:34.03 VJRyFCkb.net
そんな方法はない
701:デフォルトの名無しさん
25/05/17 18:32:10.79 Vu4+Tz9e.net
仕方が無い
702:デフォルトの名無しさん
25/05/17 18:34:04.52 Mou0F5/k.net
やっぱりセルに実際の文字列を入れて
治ったセルの高さ/行数 = 1行あたりの行の高さ
で割り出すしか無さそうですね
703:デフォルトの名無しさん
25/05/17 18:37:59.26 rdyb/DPe.net
画像で保存してセルに合わせて画像を拡大縮小したらどうかな
704:デフォルトの名無しさん
25/05/17 18:49:20.89 B7xQsXDd.net
一つのセルにそんなに長い文字列を入れてしまうデザインを見直したほうが早いかも
705:デフォルトの名無しさん
25/05/17 18:50:45.81 Mou0F5/k.net
やっとdictionaryのネスト、親ディクショナリー、子ディクショナリーが理解できました。
よくdictionaryのitemに配列を入れたら値が複数登録できると言うコードが詳細されていて、私も四苦八苦しながら覚えました。
だけどこれって本当は親ディクショナリー、子ディクショナリーが正しい答えですよね
ディクショナリーだとそれぞれの項目が文字列で指定でますが、配列だとインデックスでしか登録できない
706:デフォルトの名無しさん
25/05/17 19:22:23.61 hPL9irHC.net
>>686
うちは24や48から2ポイントずつ減らしならが総当りしてる
707:デフォルトの名無しさん
25/05/17 20:04:52.16 Mou0F5/k.net
>>691
1行なら 縮小したら全体を表示する が使えるから、、、?
そして多めに行数を作成して、行数が少ないのなら削除するか、非表示にすればいいと?
なるほど
708:デフォルトの名無しさん
25/05/17 20:06:06.97 Mou0F5/k.net
>>693
私も12の倍数で作成しています。
709:デフォルトの名無しさん
25/05/17 20:19:45.31 Mou0F5/k.net
印刷周りの仕様、挙動をよく理解していなくて申し訳ないですが、
改ページで1ページの範囲を設定していれば、どれだけ行が大きいか、行数が多いかしても、
必ず1ページになる様にExcel側が自動調整されるのでしょうか?
優先度は改ページ、全ての行、列を〜ページに合わせる、zoomの順番でしょうか?
710:デフォルトの名無しさん
25/05/17 21:01:27.82 HReuuPkT.net
>>696
それはVBAの問題なのか?
ここは何のスレかわかってるか?
711:デフォルトの名無しさん
25/05/17 21:14:59.94 Mou0F5/k.net
>>697
VBAで書類の作成、印刷の自動化を申しつけられて、全自動化時代は余裕なのですが、印刷周りの設定はよく知らなくて、しかも実際に印刷作業をする人は別の場所の人だから、1ミリでも小さければ気に食わないんでクレームを入れてくるんです。
712:デフォルトの名無しさん
25/05/17 21:18:54.18 Mou0F5/k.net
.PageBreak
.Zoom
.FitToPagesWide
.FitToPagesTall
font-size
セルの縦横
これら全てVBAではないのですか?
713:デフォルトの名無しさん
25/05/17 21:29:04.01 HReuuPkT.net
>>699
VBA以前にそもそもExcelの印刷自体を知らない人なんだと�
714:「うことはよくわかった 1ミリも狂わないように印刷するにはWindows APIを呼び出して使うかExcelで印刷するな
715:デフォルトの名無しさん
25/05/17 21:36:27.58 Mou0F5/k.net
>>700
どのAPIがよろしいのでしょうか?
PDFには常に出力しています
716:デフォルトの名無しさん
25/05/17 21:39:10.06 HReuuPkT.net
>>701
Canvas API
教えたからそろそろ消えろ
717:デフォルトの名無しさん
25/05/17 21:56:35.49 Mou0F5/k.net
>>702
それはWindows APIなのでしょうか?
718:デフォルトの名無しさん
25/05/17 22:02:21.39 HReuuPkT.net
>>703
いい加減にしろ
後は自分でPostScriptを書いてPDFファイルを作れ
719:デフォルトの名無しさん
25/05/17 22:20:55.25 Mou0F5/k.net
>>704
Canvas APIはWindows APIなのでしょうか?
私はVBA以外はほぼ無知なのですみません
720:デフォルトの名無しさん
25/05/17 22:21:25.66 c0BqlY74.net
ぐぐれ
721:デフォルトの名無しさん
25/05/17 22:28:10.07 Mou0F5/k.net
本当にAIのコミュ力につくづく人間は敵わないなと思う
722:デフォルトの名無しさん
25/05/17 22:40:26.23 HReuuPkT.net
>>707
とことん馬鹿だな
教えてもらってそれかよ
消えろや
723:デフォルトの名無しさん
25/05/17 22:48:37.53 Mou0F5/k.net
>>708
それがコミュニケーション能力が高い事なんですか?
724:デフォルトの名無しさん
25/05/17 22:54:54.99 2QmOCSUM.net
煽り耐性ないやつが次々と引っかかっててウケるー
725:デフォルトの名無しさん
25/05/17 22:58:48.79 HReuuPkT.net
馬鹿はこうやって本性を曝け出す
726:デフォルトの名無しさん
25/05/17 23:31:01.83 QeS8RaKg.net
エクセル(VBA)で印刷の精度を求めるのは徒労だと思う
727:デフォルトの名無しさん
25/05/18 08:45:52.75 cP1cyZx+.net
いまだに位置合わせがどうこうやってる
生産性激低日本さん
728:デフォルトの名無しさん
25/05/18 09:28:02.03 NiGvaOOd.net
>>692
配列がいい場合もある
使い分け
729:デフォルトの名無しさん
25/05/18 10:05:14.14 v1lfaeE4.net
>>696
相談の核は、構文の式の優先度を知りたいのか
成果物を要求する人の要望に応じるには、どこを直せばいいのかを知りたいのか
それらの式をあれこれ工夫して組み込んでもどうしてもズレてしまう だの
今のところ問題無いが先々を考慮して問題に成りそうなヶ所を潰しておきたい だの
こちら側では相談の意図がいまひとつ掴みきれない
具体的にサンプル上げるなり事例を書き込むなり
1mmズレるケースとズレないケース両方があれば、より判断しやすい
おれのはズレないよ アー〇ネイ〇ャーだもの
730:デフォルトの名無しさん
25/05/18 11:39:33.78 /BWwyZ2v.net
Dictionaryのkeyに複数値を入れれば2次元で格納できる
731:デフォルトの名無しさん
25/05/18 11:50:29.67 Mk3OrkwO.net
>>715
改ページと全ての行、列を1ページに合わせると、Zoomのこの3つの依存関係、絡み合いが知りたいですね。
AIのご説明では、
まず改ページが最優先され、
次に全ての行、列を1ページに合わせるの設定が優先さる?
全ての行、列を1ページに収めるが設定されているとZoomの設定は無視される
そうです
あとあと行数が今より増えた時に、「フォントサイズが小さくなりすぎる」かもしれないので、今一度、Excelのページレイアウトの設定、仕様、挙動を完璧に把握したいなと思いました。
ありがとうございます。
732:デフォルトの名無しさん
25/05/18 11:53:43.56 JTwWUl1C.net
ところがね・・・
Windowsの場合は、パソコン側の液晶モニターの設定も印刷に影響するんだよ
プリンターもすべて同じLANにつながってるのを共有してるのに、別のPCから印刷するとズレるんだ・・・
733:デフォルトの名無しさん
25/05/18 11:59:28.20 Mk3OrkwO.net
AIにお伺いして、より沢山の案や方法の回答を得たい時はどの様にご質問していますでしょうか?
私は具体的に〜をするにはどの様な方法がありますか?
と聞いていますが、質問があまりにも具体的すぎるのか、限定的すぎるのか、聞かれた事に対してしか答えてくれません(質問に対して抽象化して幅広く回答したら今度はAIは嘘をつくと言われると思いますが。)
734:デフォルトの名無しさん
25/05/18 12:05:26.30 9lhlIUdU.net
左右に並んだセルを連結すると文字の上下位置がずれて発狂するよね
735:デフォルトの名無しさん
25/05/18 12:07:00.00 Mk3OrkwO.net
>>718
それもAIに言われました
スケーリングも影響しますと言われました。
高解像度のモニターで、アイコンのサイズを大きくするために使うあのスケーリングです。
プリンターのフォントや最小の余白サイズなどのプリンターの仕様
プリンターに実は縮尺の設定がかかっている事に気づいていない
などなど
736:デフォルトの名無しさん
25/05/18 12:20:35.59 Yd8pXRNj.net
スレチの話題ほど長く続くんだよな
Excelスレでやってくれよ
737:デフォルトの名無しさん
25/05/18 12:24:15.85 Mk3OrkwO.net
公式ページに書いてありましたね。
Zoom プロパティが True の場合、FitToPagesWide プロパティは無視されます。
Zoomプロパティが False の場合、 FitToPagesWide プロパティと FitToPagesTall プロパティは、ワークシートのスケーリング方法を制御します。
(Zoomは)拡大または縮小する方法にかかわらず、元の文書の縦横比は保持されます。
738:デフォルトの名無しさん
25/05/18 13:41:54.68 v1lfaeE4.net
スレチとは言えないだろうけど、今のところ個人の感想を書いてるだけに近しいな
仕様に関しては、その書類を共有するグループ内で諮って今後の方針を決めればいいだろうし
環境の違いで発生するトラブルに関しては、最大公約数だっけ?なんかそういう系の
どんな環境でもほぼ同一の結果を出せますゾーンを決めて、それに沿った設計制作に
改めるべきだろうし
PDFに出せば問題軽減するってんならそれもひとつの解決策だし
掛けるコストに見合う結果が出ないなら意義は低い(少ない)
これが、個人研究ってんならより深く追及して解に近いものが得られたら発表してもらいたいが
739:デフォルトの名無しさん
25/05/18 13:47:30.17 iKxgrlxH.net
longとstrの変数定義10個やって、ループ5万回回して中で変数に値を出し入れする
まとめてループ外で変数定義するのと、ループ内で適宜定義するのとどっちがよいので??
740:デフォルトの名無しさん
25/05/18 14:08:00.75 JTwWUl1C.net
>>723
保持されないんだな、これが
罫線の太さが一部だけ違ってるシートだと拡大率が縦と横で違ってくる
741:デフォルトの名無しさん
25/05/18 14:10:27.89 JTwWUl1C.net
>>725
MSの推奨は最初にまとめて宣言
チームでやるならみんなに合わせる
個人的な作業ならどっちでもいいけど、途中で方針を変えるとあとで混乱するからどっちかに決めて一生変えないこと
742:デフォルトの名無しさん
25/05/18 14:47:49.53 qr58bPvk.net
>>723
この馬鹿、答えを教えてもらってもネチネチやってるのか
馬鹿はこれだから
消えろや
743:デフォルトの名無しさん
25/05/18 17:14:14.05 9lhlIUdU.net
>>725
VBAにブロックレベルのスコープはないからどっちも同じ
オレの好みは読みやすさ重視でループ内に書く方だが
プロシージャ内の2つのループで同じ変数名を使いたい時
ループ外で宣言しないといけなくなって打ちひしがれる
744:デフォルトの名無しさん
25/05/18 19:26:33.94 NiGvaOOd.net
真円を印刷したら楕円になって発狂したの思い出したわ
どうやって解決したかは昔すぎて覚えていない
745:デフォルトの名無しさん
25/05/18 21:45:07.54 JeO/PtYk.net
>>727
>>729
参考になります…!
ループ内の宣言コストとかはあんま気にしなくてもよさそうな感じなんですね(オブジェクト除く)
746:デフォルトの名無しさん
25/05/19 00:29:53.41 aSNuw95p.net
変数3、4個のプロシージャだったら変数の宣言しなくていいよね?
プロシージャが動いてる時だけメモリ消費するってことでいい?
747:デフォルトの名無しさん
25/05/19 00:49:32.05 nyMkteHn.net
>>732
Option Explicit しなさい
しないと、変数のタイプミスで簡単にバグる
748:デフォルトの名無しさん
25/05/19 03:01:33.66 xZYpAeMM.net
>>732
たとえ宣言してあっても、メモリ上に変数領域が確保されるのは実行中だけだよ
ただし宣言しないと全部Variant型にされるからメモリ効率も実行効率も悪くなる、と言っても体感はできないけど
749:デフォルトの名無しさん
25/05/19 06:06:52.71 WEB+3jSu.net
>>730
図形の事に全く詳しくないから間違っているかもしれませんが、セルに合わせて伸縮したり、移動したりするのを無効にするのでしょうね
750:デフォルトの名無しさん
25/05/20 02:20:44.35 vmioRAc9.net
ListView,TreeView入れて作ったら、大半の人がOffice2013 64bit使ってて動かないことが判明したんだけど、どうしよう
751:デフォルトの名無しさん
25/05/20 06:15:30.63 J92IpVQ8.net
作りなおす
752:デフォルトの名無しさん
25/05/20 07:27:24.89 QvUhVdYo.net
ん? 2013にはそのview無いってこと?
753:デフォルトの名無しさん
25/05/20 07:40:50.77 QuREz4IK.net
32bitと64bitの互換性が無い Verが違う 今時2013つこてる方がキケンがあぶない
相手の環境を再現できるマシンを入手してそれで作り直す
がんばって自作する URLリンク(qiita.com)
754:デフォルトの名無しさん
25/05/20 08:58:00.71 QvUhVdYo.net
あぁ、なる
昔大量にフォーム移行する時に、定義を一覧に出して、それを元に再構築するの作ったような記憶…
おそらくサイズ変更に合わせてフォントとかも変えたのかな…
755:デフォルトの名無しさん
25/05/20 10:20:21.64 4cRKMiEn.net
きちんと動作環境を明確にする
クライアントと打ち合わせる
上司や営業に相談する
756:デフォルトの名無しさん
25/05/20 14:46:51.76 E4QmPhp5.net
2019ですら化石レベル化してるのに2013とはな
757:デフォルトの名無しさん
25/05/20 16:17:35.03 0n1WQM2u.net
2013がどうってんじゃなく使うDLLが違う
使用するべきDLLが32bit版か64bit版か判断するコードが要る
758:デフォルトの名無しさん
25/05/21 10:53:43.66 va6/rMba.net
Excel2013が危険なのには同意だけど
Excel2013/64からListView,TreeView/32を呼ぶのは無理ってだけで
Excel2013/64からListView,TreeView/64を呼べたら使えるんじゃね
759:デフォルトの名無しさん
25/05/21 11:32:04.49 gg1Rd+aD.net
所詮、ActiveXコントロール(ocx)だから
カレンダーコントロールと同じ運命を辿るような気がするけどね
必死に工夫して汗水流して作り上げても、寿命が風前の灯火で数ヶ月後には利用不可とか
760:デフォルトの名無しさん
25/05/21 12:10:27.12 ZnDW2hJE.net
使用者、要望者のオーダーメイドでマクロを作成しても、これは嫌だ、あれも嫌だ、と言われるならなにも作る事は出来ない
脱Excelといって、既製品の業務ソフトを導入しても絶対不満しか出てこない
脱Excelの現実を知った気がする
そして全ての要望を取り込んで作成したマクロが属人化した闇Excelファイルなのだろう
761:デフォルトの名無しさん
25/05/21 12:16:44.55 np4mB3oN.net
嫌かどうかで仕様を決めていると大変だろうな
762:デフォルトの名無しさん
25/05/21 13:16:57.81 gg1Rd+aD.net
>>746
そういう、いかがわしい新興宗教にのめり込んだ人のような発言はそろそろ控えたら?
書いてることが支離滅裂だよ?
>オーダーメイドでマクロを作成しても
要望通りでダメなら、どこをどう改善すればいいかじっくり話し合いの機会を持てばいいだけ
作成したと言い切れるのは、試作品を改良改善した末に仕上がったものに対して使う言葉
>これは嫌だ、あれも嫌だ、と言われるなら
事前の要件や仕様を満たして無いんだろ? 打ち合わせの時に聞くだけの態度で居たとかで
その制作物が仕上がった時の概要がじぶんのアタマの中にできていないからそういう事態に陥る
経験不足もあるだろうし打ち合わせが打ち合わせの体を為していなかった、てだけ
>絶対不満しか出てこない
その業務アプリに移行しましょうと先導した人間の責任 流行りの言葉なら任命責任
>全ての要望を取り込んで作成したマクロが属人化した闇Excelファイル
これがまったく理解不能 属人とか闇とか言いたいだけちゃうんか、と
そんな発言に賛同してくれるのは、あんたがた宗教の身内だけ
763:デフォルトの名無しさん
25/05/21 13:20:09.77 a2F5EjYc.net
TreeViewなどにはライセンスの問題もあったような
764:デフォルトの名無しさん
25/05/21 13:24:41.83 4tKBDgn4.net
顧客も打ち合わせしても話し通じないならAIと打ち合わせしてコード出してもらった方がいいってなるよな
765:デフォルトの名無しさん
25/05/21 13:28:08.25 RMq3dtvy.net
ぶっちゃけシステムなんてそんなもんだよ
コンサルや名の知れたSIerに頼んだって必ず不満は出るし、結局使い物になりませんでした、なんてことも珍しくない
ただし、VBAはユーザー側の人間が作ることが多いので、SIerみたいに「要件定義で決まった通りです」で逃げるわけにもいかないんだよね
766:デフォルトの名無しさん
25/05/21 15:22:55.64 r/haQ8U2.net
仕様変更に合わせて納期も延長でいいんじゃね
767:デフォルトの名無しさん
25/05/21 17:20:56.31 RhMOdQAE.net
だいたい配布前提で整備したコード書けば属人化なんてほぼしないわけで
取り込む要望も無理にまとめず適度に分割してやればいいし
敵に抵抗できないコミュ障コーダーが悪いまである
768:デフォルトの名無しさん
25/05/21 17:33:31.94 7nPavp7R.net
>>753
属人化の根源はコードそのものじゃなく脳内にしかない仕様だよ
コードからwhatを読み取れないから属人化する
769:デフォルトの名無しさん
25/05/21 17:33:52.05 7nPavp7R.net
whatじゃない、whyだな
770:デフォルトの名無しさん
25/05/21 17:42:23.76 RhMOdQAE.net
根源とかどうでもいいんよ
VBA少しできますくらいの他人が
適当にメンテしながら使っていけるコード書けって話でしかない
771:デフォルトの名無しさん
25/05/21 18:08:10.91 7nPavp7R.net
>>756
配布前提で書いたコードだろうと属人化するって話だから、
メンテしながら使おうが属人化はするよ
772:デフォルトの名無しさん
25/05/21 18:16:53.95 HDnlDCyv.net
こんげんかせんといかん
773:デフォルトの名無しさん
25/05/22 07:49:16.16 ZB7yrtfi.net
Excel属人化教の方々は、その属人の定義をして欲しい
属人の何がいけないのか? 全員が同じレベルに成れと言い募ってるのか?
フルオープンにしてコード見れば説明書に成ってる程の成果物を作れと言ってるのか?
それとも、いけない事は無いがただ単に属人って言葉に魅了されて使ってるだけなのか?
774:デフォルトの名無しさん
25/05/22 07:59:10.35 ZB7yrtfi.net
WhyやWhatが読み取れないからメンテ出来ない ってんなら、じぶんのWhyやWhatで作り直せばいい
それを持ってた奴が前作を作ったんだしそれが使えてきてたって事実は変わらん
おれにはできねえってんなら、前任者より能力が劣ってるということになるし、才能ある奴を
新たに採用するように働きかけする必要がある
シン成果物を作れる能力あるなら、前任者をつべこべこき下ろしてる時間はムダでしかない 成果物-1.0でもいいけど
775:デフォルトの名無しさん
25/05/22 08:28:50.00 cWZ2SmFA.net
>>760
書き間違えたのは申し訳ないが
776:、whatはコードから読み取れるんよ whyは何故その処理をしているか?何故その方法を選んだか?何故そのアルゴリズムなのか? それら意図を完全に示す術はない コメントを残せって言われるのはつまりwhyを残せってこと whyを知らなければVBAに限らず、言語にも依らず、 あらゆるものごとは属人化する 属人化は必ずしも悪ではないけれど、 昨日の自分は別人ってことを鑑みれば効率が悪いことは明らか
777:デフォルトの名無しさん
25/05/22 08:29:26.28 uEqc52DQ.net
数年後の自分がメンテできるように作ればOK
人の能力はマチマチ、まだいない後任者のことを考えてもしゃーない
778:デフォルトの名無しさん
25/05/22 08:42:19.33 cWZ2SmFA.net
属人化はリスク要因となりえ、VBAは属人化する蓋然性が高いってことをわかった上で許容するのと、
わからず使う・属人化しないと信じて使うのとは大違いって話をしているに過ぎない
能力だの才能だの、シン成果物だの成果物-1.0だの、
手も頭も動かさない奴の言葉遊びほど虚しいものはないな
779:デフォルトの名無しさん
25/05/22 08:49:14.19 iwrIvlAH.net
属人化教なんて言葉を使っている時点で、もう何を言われても属人化の弊害なんて絶対認めないぞっていう雰囲気をぷんぷんさせているじゃない。このスレだけで何回この話題やるの?
一般に言われる業務の属人化というのは、特定の人がいなければ業務が回らない状態のことで、当該特定の人が休んだり退職したりしたときに業務が止まってしまうリスクがあることから好ましい状態ではないとみなされている。会社側としては業務内容を把握する従業員を複数人にしたり(1人に依存しない)、マニュアル化したりすることでリスクを低減化するのが通常の対応。
VBAはコード作成も実行もExcelだけでできるという特徴があり、このVBA固有の事情により、?専門のプログラマーが作成するコードに比べて一般にコードの質が低い、?会社側が把握しないうちに業務にコードが使われるという事態が生じがち。属人化の弊害が、特にVBAについて言われることが多いのはこれらの事情によるところが大きい。
要するに会社側から見て、属人化リスクを低減化する機会自体がなかったり(上記?)、コストを掛けて属人化リスクを低減化するほどの価値が見出せなかったり(上記?)というケースがVBAの場合には少なくない。
VBAがアイデンティティになっちゃっている人にはどう説明しても理解しないだろうなと思いつつ、一応説明するとこういうことね。しかし、属人化の弊害を否定したがる人って、見事なまでに会社側の視点が抜け落ちているのね。担当者個人の視点で、業務が多少効率化できるのならそれはいいことだという発想から出発してそこから一歩も抜け出ないのならそりゃ議論も噛み合わんわな。
780:デフォルトの名無しさん
25/05/22 08:52:23.13 cWZ2SmFA.net
>>760
才能ある奴wがマニュアルをじぶんのWhyやWhatで作り直して大惨事になった、
東海村JCO臨界事故ってのもあったな
781:デフォルトの名無しさん
25/05/22 09:12:43.00 ZB7yrtfi.net
Excelは属人化しやすい だからExcelで効率化を図る場合には、それに関わる部署・チーム・グループが
一丸と成ってそうならないような対策を施さなければならない 今後、対策されていない自動化は禁止する
とかならまだわかる
Excelは属人化ガー VBAは尚更ー を連呼してるだけで、何の生産性向上に繋がるんだ?
アタマがひどく悪い一族に至っては「だからVBA禁止」のお触れまで出す始末
問題発生しないよう努力する必要もあるし、問題発生したらすぐさま対策を講じなきゃならないのは
何もExcelに限らんだろうに
とりわけここ20数年で急に変遷進歩し続けてきてしまったPC作業に取り残された奴らの繰り言に近い
そんなだから失われた40年とか揶揄されちまう 先を見て向上心持ってもっととんがらないと
VBAに問題あるなら、それを解消することに全身全霊で打ち込みゃあいいだけ
何の解説者だか評論家気取りだか知らんが、悪いものを悪いと言う事なんか阿呆でもできる 悪い処は直し続けるてだけ
782:デフォルトの名無しさん
25/05/22 09:31:16.38 cWZ2SmFA.net
>>766
属人化を悪いって言ってるのはあなた自身だろ
俺は属人化を悪いなんて言ってない
属人化を問題だと思うなら解決すべきなのはそりゃそうだし、
解決策の一つとしての全面禁止だって、俺なら選ばないけど理解はできる
属人化が何故生じるのかを議論することは、それを解消することにも繋がる
属人化する/しないの幼稚な二元論でまとめようとするのは、
頭を使ってない・使えないことをひけらかしてるに過ぎないよ
783:デフォルトの名無しさん
25/05/22 09:35:02.46 mUoHJ/op.net
従業員目線なら、属人化はイコール自分への依存度で価値だから、そりゃ手放さないわな
784:デフォルトの名無しさん
25/05/22 09:40:52.16 cWZ2SmFA.net
会社をプロフェッショナルの集まりだとすれば、
結局のところ仕事自体がどこまで属人化を突き詰められるかだから、
しょーもないことを属人化すんなって話なだけ
785:デフォルトの名無しさん
25/05/22 09:46:17.63 ZB7yrtfi.net
念仏唱えてるだけで、一向に前向きに対処しない・対策しようともしないバカ共を嘲って「教」を付けてる
属人の意味を、じぶんの中で咀嚼・消化してない/しようともしないで、ヨソで聞き齧った言葉をなぞってるだけ
「前にならえ・右にならえ」がDNAに刻み込まれてるこの国の人間にゃあ、それが心地いいのかも知らんが
誰がやらなくともおれはやる ぐらいの気概が欲しいところ
と書くと、内容読まずに言葉尻だけ捉えて「それが属人化に繋がる要因だろ!」とか言い募る奴が居そうだが
オープンな属人化なら大いに結構だろ ←これも語弊がある物言いだがw
オープンにする努力を怠るな、と言ってる 制作する側もそれを使って効率を上げようとする集団も 共有ってそういうもんだろ
そのグループ・集団は同じ目的(収益の向上)を持った集団のハズなんだ その目的達成の方にこそ目を向けろ
足引っ張って他人の粗探ししてつべこべ文句言ってるだけじゃあ、そのうち滅びる
786:デフォルトの名無しさん
25/05/22 10:05:21.01 cejl8MgF.net
>>760
時間が無限にあるのが前提ならそうだね
787:デフォルトの名無しさん
25/05/22 10:07:32.69 cejl8MgF.net
>>765
あれ実はノーベル賞もらえるレベルの改良だよな
788:デフォルトの名無しさん
25/05/22 10:23:06.55 bEEUFRBb.net
>>765
裏マニュアルとは別の?
ググっても分からなかった。
789:デフォルトの名無しさん
25/05/22 11:03:11.01 j+nxGcrc.net
質の低いコードを公開されたって迷惑なだけなんだって。VBA命の人は、まさに収益向上の観点からVBAはメリットより害の方が大きいと判断する会社が少なくないってことをどうしても受け入れられないみたいね。
VBA = 生産性向上・業務効率化という無邪気な信念を持っているみたいだけど、多くの会社はVBAをそのようには
790:評価していない。会社が本気でコードによる生産性向上・業務効率化をするつもりなら、どのような言語を選定するにせよ継続的な管理コストは必要になるわけだけど、それならVBAではなく、もっとちゃんとした言語でやりたいというのが普通なわけ。非プログラマ社員の内製VBAの改変履歴を管理したり、マニュアル作ったりなんてしたくないのよ。
791:デフォルトの名無しさん
25/05/22 16:37:21.75 ZB7yrtfi.net
さすが >>774を取るだけの素質を持ち合わせた人間の発言だなw
ExcelVBAスレでExcelVBA不要論を、あまり意味の無い言葉を並べ立てて講釈するとは
内製であれ外注であれ、その業務を賄うにはExcelで充分という案件は想定して無いだろ?
そういう案件に限ってという前提ならExcelVBAでいいじゃないか
ダメな理由を語りたいがためだけに持ち出した事例が、一向にその役目を果たしてない
どんなコードだろうと「質が低い」と判断できる能力を持ち合わせてるんなら、それを
ブラッシュアップするなり作り変えるなり その方が百万倍コストの面でメリットだろうに
どんな大袈裟なプロジェクトと比較してンの? んで、それ比較する意味あンの?
あんたの中ではあるのかも知らんけど、世間一般では無意味だ とおれは思うよ
792:デフォルトの名無しさん
25/05/22 17:36:10.44 cWZ2SmFA.net
>>775
少なくないってのを100%と解釈してるのか?
ダメだと判断する会社が多いってだけで、
良いと判断する会社が無いなんて書かれてないぞ
変なバイアスかけてレス読んでる様に思える
んで、ブラッシュアップなり作り変える(替える?)ことのどこにコストの優位性があるんだよ
無駄なコストを支払ってることに気づけないような奴が、
他人の発言の意味の多寡の判断なんてできないだろ
可か不可か、良いか悪いかみたいな単純な話にしないと理解できないポンコツ自慢はもうやめてくれよ
793:デフォルトの名無しさん
25/05/22 17:36:37.38 Fv3bLhDj.net
Excelで十分かどうかというのはあまり意味のない尺度だと思うけどね。
Excel VBAの案件って既存物のメンテを除けば基本的に現状ワークシート等での手作業を省力化したいというものだから、
そりゃExcelで十分に決まってる。元々人力でできる程度に細分化された業務なんだから。
VBAが批判されるのは、まさにそういう個別最適化の積み重ねによって細切れ(≒属人的)で非効率な業務プロセスが保存される傾向があるため。
794:デフォルトの名無しさん
25/05/22 19:51:20.63 RAnqaH1V.net
多くの会社から見て業務でVBAを使ってもトラブルが起きにくいパターンというのは主に2パターンあって、①重要なコードだが、何らかの理由で他の言語が使いにくい事情があるため、専門のプログラマに頼んできちんとしたVBAコードを書いてもらう場合。この場合、当然、VBA社員の出番はない。要するに、通常のシステム開発と同じだが、特定の事情により選定言語がVBAになるケース。もう一つは、②あまり重要な業務ではないので、質の低いコードでも構わない場合。個人の裁量の範囲内でVBAの使用を認める会社というのはこっち。要するに個人で責任を取れる範囲内なら、会社は管理コストを掛ける必要もないし、担当者の裁量でVBAを使うことを禁止するまでのことはしないくても良いのではないかいう発想。それなりに合理的ではある。
逆にいうと、上記①②いずれにも当てはまらないような使い方は、会社からするとリスク・コストを感じやすい。個人の裁量の範囲を超えて、非プログラマの書いたコードを業務に使用するような場合とかね。書いた本人はコードをオープンにしてブラッシュアップすれば良い、コストの面でも有利だなんて無邪気にのたまうけど、会社からすればそんな価値の低いものに管理コストを掛けたくない。仮に継続的な管理コストを掛けるならもっと価値のあるものに掛けたいわけ。はっきり言えば、新しく書き直すときでさえそういう既存のコードなんかない方が良い場合も多い。業務に使われている既存のコードがあるとなれば、どんなに酷いものであっても一応読まないわけにはいかないからね。
非プログラマの書くコードという括りで論じる限りは、Excelで十分な業務というより、低質なコードで十分な業務かというのが基準になるかな。それだって会社の方針次第だが。会社が全面的にVBAの使用を禁止しているような場合もあるからね。
795:デフォルトの名無しさん
25/05/22 21:02:03.17 aXwvtPcZ.net
VBA禁止な
reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f
796:デフォルトの名無しさん
25/05/22 22:58:58.92 zdx+eNOi.net
名前付き引数省略は害悪。全てキッチリ書け
797:デフォルトの名無しさん
25/05/23 08:26:51.53 oLOrCYhj.net
「多くの会社」を、それぞれが想定してる規模が違うような気がする
経産省のサイトを参考にすれば、商工業それぞれの規模から比較したら
小規模(社員数20人以下)のが俄然大半を占めてる(かつては零細と呼ばれてた)
製造業は九割に近付く勢いだし、小売業や飲食業も八割、卸売業は五割程度だが
「多くの会社」とひとまとめにする場合は、これらを指すのでは無いのか?
社員数2,000名以下の中規模とかをもって「多くの会社」と呼び為してる気がしてならない
小規模は、持ち合わせてる武器で戦うのがいちばん効率的なんだが
持ち合わせてるExcelだけで戦えるなら、それをフルに活用しない手は無いだろうに
その実態を知ったうえで「多くの会社」と書いてるんだろうか
798:デフォルトの名無しさん
25/05/23 09:06:27.49 RtFNfP1s.net
人手に余裕のない小さい会社こそ差別化要因にならない業務にはSaaS使うべきなんだよ
SaaSは企業規模に対する課金が多いため、むしろ小規模な企業の方がコスト効率も良くなる場合が多い
799:デフォルトの名無しさん
25/05/23 10:16:56.42 38AbBGg0.net
VBAの属人化リスクの議論って、むしろそういう小規模な会社こそが最も意識すべきことでしょ。中規模以上の会社なら、そもそも低質なVBAコードに業務を依存させるような間抜けなこと自体があまりないだろうし、仮にそういう事態を生じさせてしまっても、最悪追加コストで何とかできなくはない。
小規模会社には、VBAを「効率的」な「武器」だと思いこんで飛び付いて、必要な管理もしないまま「フルに活用」した挙句、にっちもさっちもいかない事態にしてしまったところが少なくなかった。その教訓としてVBAの属人化リスクが意識されるようになったんだよ。
「武器」にならないとまでは言わないが、そんなに大したものではないし、トータルで見れば「効率的」でもない。好んで「フルに活用」するようなものでもない。そういうVBAの等身大の実像が会社サイドに把握されるようになっただけの話。
「小規模は、持ち合わせてる武器で戦うのがいちばん効率的なんだが
持ち合わせてるExcelだけで戦えるなら、それをフルに活用しない手は無いだろうに」(>>781)
多くの会社はこの後半部分が幻想に過ぎないことに既に気付いているが、VBAerには未だにこの幻想にしがみついている人が居るということ。
800:デフォルトの名無しさん
25/05/23 13:22:41.57 oLOrCYhj.net
>必要な管理もしないまま「フルに活用」した挙句、にっちもさっちもいかない事態にしてしまったところが少なくなかった
ここの事例を具体的に読ませてくれるサイトとかあるん? 統計とか?
文末を「・・してしまったところはほぼ無い」と書き換えてどっかで紹介して、それを鵜呑みにした読者がヨソでお披露目しても
気付かれないでしょ? おソースプリーズな言説
判り易く例として社員20人だとして、事務要員4人は
801:規模に対して多い 大抵は現場と掛け持ちで4~5人ならまだ普通 事務専任で1~2人なのが一般的な見立てだろうと思う そのうち一人が丹精込めてVBA育ててたけどあいにく辞めた 他の人間は便利に使わせてもらってたけど、いざ辞められたらVBAだれもチンプンカンプン ならまだ有り得る だからって、それが直接「だからVBA禁止!SaaSに移行!」って成ると頑なに信じてる?それ薦める? 小規模なら小規模なほど環境の変化を嫌うんだ あるものを何とかして使い続けられるならそうしたいってのが人の世の常 多少の手直し必要に成って助力が必要な状況なら、コネ使うなりしてでもそのものを使い続ける工夫に走る タイミング良く同質のものを安価で提供できる業者とかが出てきて、それのサポートも請け負ってくれたりしたなら ソッチに移行していくことはあったとしても、未知のサービスに賭けて投資してそれが自社の実態に即さなかったら 目も当てられない そっちのがリスキーだしその費用は丸々損害に等しい(授業料てか どこの会社も業種が一緒なら業務も一緒だと思ってたら大間違いで、その会社独自の仕組みを持っていたりする それに即して自在に加工できる道具として見ればExcelほど便利なものは無いのも事実 上では商工業を書いたけど、他にも建設、運輸・運送、士業えtc あらゆる業界で現実にExcel VBAが幅広く活用されてる 現実を鑑みても「ExcelのVBAは属人化しやすいから禁止」を言い張って止まないンなら、言い続けてりゃいいけどさ 書かれるたびにおれがしゃしゃり出てつべこべ反論してりゃいいんだろうし
802:デフォルトの名無しさん
25/05/23 13:35:20.91 +XeHUCKJ.net
どのように属人化するか・どの様に防ぐかの話題から、
属人化対策として禁止するか否かの話に
803:デフォルトの名無しさん
25/05/23 15:19:50.38 eOaMEV2I.net
最後に 知らんけど ってつけた方がいいんじゃんね
知らんけど
804:デフォルトの名無しさん
25/05/23 15:21:21.07 mEX1XvmT.net
>>784
他の手段と比較してどうかはともかく、事実としてVBAが問題を起こすことが多いからあんたに仕事があるんだろ?
だったら属人化万歳くらいで流しときゃいいのに、いちいち突っ掛かってたら余計なストレスを作るだけだぞ
心配しなくても、あんたが顧客としているような会社は、全体最適云々を語るコンサルやシステム屋は相手にしない
まあSaaSについては結構小さいところもわりと積極的に営業するから敵になるかもね
805:デフォルトの名無しさん
25/05/23 15:53:12.83 dHvUhuhP.net
長くてわかりにくい
スパゲッティ文章はやめろ
806:デフォルトの名無しさん
25/05/23 16:24:52.89 oLOrCYhj.net
うん、途中からどうも話が噛みあわないな、とかは思っていた
ひと頃「ExcelのVBAは属人化しやすいから禁止する企業が増えてる」とかのたまう輩が徘徊してて
おま、それ、何もExcelに限らんだろ っつー意味で反抗してたし、そんなアホ論をこのスレで
平気で吹聴してる奴に向けて言葉のげんこつしてたんだけど どっか行っちゃったんか?
所詮、世間は、世の中は属人三昧だろ? それで右往左往世界が悪い方向に向かってる実例を
まざまざと目の当たりにしてる真っ最中だろ? で、それが悪かどうかなんか、もう少し様子を
見極めなきゃいけないまである
なんでわざわざこのスレをターゲットに、VBAは属人化!!!とか言い募らなきゃならん?
どこの回し者だ?、と
細かいこと言えば、じゃあってんでこれでもかっつー関数並べ立てて複雑怪奇な数式を組んだ
WorkSheetはどうなんだ? 属人化の極みだけどそれはいいのか? 見た目xlsxならおkなのか? と
至るスレで属人化!属人化!!属人化!!!と連呼してるならまだわかるが、なんでExcelスレ限定
で、こないだ別件で「Excel 売上管理」とかでネットをモゾモゾしてたら、そこら中の売上管理アプリの
宣伝サイトが、形ばかりのExcelのサンプル載せて「しかしExcelは属人化」っつー文言を決まり文句の
ように添えてたんだ ははぁ~ん、とね、ある意味腑に落ちたし別の意味でがっかりしてたんだ
言い募る連中が自分の言葉でその悪弊を語れなくて「ネット見ろ」とか返すしか能が無かった理由が判明
そんなサイトだけじゃ無いのは承知してても、結局自分の意見として主張してンじゃなくて、受け売り
余所で聞きかじったのをなぞってるだけのレベルなんだな、と
しかし、少なくともこのスレに居続ける人間なら、ExcelのVBAで効率を図ることに意欲的であって欲しい
他のがいいよ、って奴はその宣伝だけして書き逃げしてて欲しい
まだまだExcel もっともっとVBA であり続けることが、このスレの健全化に貢献するはずなんだから
すぱげってぃwww 読み飛ばせばいいじゃんか 読んでくれなんて頼んで無いぞ?