21/01/30 17:24:56.08 SAK/nUhP0.net
>>446
お前の知ってる会社が世の中のすべてじゃないってことだよ
452:デフォルトの名無しさん
21/01/30 17:24:58.39 Jfm3X56+M.net
上に相談するのに企業規模関係なくね?
453:デフォルトの名無しさん
21/01/30 17:30:12.43 Jfm3X56+M.net
まぁどうせ無理だろって思い込みでやってるから、
そういう状況なんだろうな
行動しないかやっても中途半端なくせに上司や会社への愚痴は一人前
454:デフォルトの名無しさん
21/01/30 17:43:22.21 SAK/nUhP0.net
そうやって思い込みで批判してるお前も思い込み仲間だな
455:デフォルトの名無しさん
21/01/30 17:47:12.97 6QDP6TPLH.net
相談するかどうかには規模は関係ない
許可されるかどうかも規模は関係ないかな
相談のしやすさだけは違うかも
456:デフォルトの名無しさん
21/01/30 18:58:14.37 vCh93ej0M.net
会社PCでPython+Excelなんて非現実的すぎるよな
相談しても「余計なことしなくていい」で終わり
でもExcelは最初から入ってるからVBAなら無問題
未だに使われてるのはそれが最大の理由
一時期「ExcelでPython使えるようになる」みたいな話があって期待してたけど立ち消えで残念
457:デフォルトの名無しさん
21/01/30 19:17:07.76 inFBwlEk0.net
そもそもExcel使いの中でのVB人口が少ないわな
職場によっては白い目で見られる事あるみたいだし。。。
458:デフォルトの名無しさん
21/01/30 19:23:25.71 rDRgl3OZ0.net
>>454
うちと同じ
厳格で神経質な大企業だわ
459:デフォルトの名無しさん
21/01/30 19:57:40.31 O0XirISQ0.net
python入ってたらpip installぐらいさせてくれるだろ
460:デフォルトの名無しさん
21/01/30 20:20:54.08 JU3c6HAP0.net
>>434
Excel関係ないならPowerShellでいいだろ
気合いるけどC#, VB.netだって使えるし
461:デフォルトの名無しさん
21/01/30 20:25:06.96 VxE/916e0.net
>>454
えっ、ExcelにPython搭載の話は無くなったの?
462:デフォルトの名無しさん
21/01/30 20:38:13.29 j+igCUSpM.net
>>459
ExcelにPythonが搭載?その後
URLリンク(qiita.com)
463:デフォルトの名無しさん
21/01/30 21:00:39.22 aByJMjeF0.net
>>458
PowerShellは軽く調べたことあるけどそんなに便利なの?
C#とかVB.netってのは追加インストールなしでできる?
今のところうちの会社で出来そうな言語は↓
・VBA(Office)
・VBS(WSH)
・Jscript(WSH)
・JavaScript(webブラウザ)
・PowerShell
464:デフォルトの名無しさん
21/01/30 21:22:07.64 xS3gwMFJ0.net
VBAで簡単なアプリ開発ってできるの?
tefuくんの体脂肪測定器みたいな
465:デフォルトの名無しさん
21/01/30 21:22:48.91 O0XirISQ0.net
いくら便利でも所詮はシェルだし
体系がわかりやすくなっても
いったん古い体系になじんでたら覚える手間増えるだけだし
劇的に安全になったり間違いが減ったり作業が減るわけじゃない
今から入る人以外やる人いるのか?
466:デフォルトの名無しさん
21/01/30 21:23:28.18 aByJMjeF0.net
VBAは極めれば当然事務系のシステムはもちろんアクションゲームやシューディングゲームも作れる
開発効率は知らん
467:デフォルトの名無しさん
21/01/30 21:35:23.25 xS3gwMFJ0.net
>>464
簡単なアプリ作るのに初心者から何年ぐらいかかるな
468:デフォルトの名無しさん
21/01/30 21:40:45.18 aByJMjeF0.net
>>465
ジャンルは?
469:デフォルトの名無しさん
21/01/30 21:41:39.22 aByJMjeF0.net
ああ、上に書いてあるようなやつか
人によるけど半年~1年くらいじゃね?
470:デフォルトの名無しさん
21/01/30 21:59:47.48 xS3gwMFJ0.net
>>467
tefu君たいしてすごくないな
ありがとう!
471:デフォルトの名無しさん
21/01/30 22:54:30.67 inFBwlEk0.net
昭和の頃からExcelできる=パソコンできる
パソコンできる=Excel Wordできる
この固定観念は不変だいまだに
何故なんだや?
472:デフォルトの名無しさん
21/01/30 23:08:10.45 O0XirISQ0.net
だれの概念だ
おれはしらんぞ
473:デフォルトの名無しさん
21/01/30 23:08:37.64 XeNTB87Q0.net
固定観念ではなく社会に出てPC使う上で一番必要になるから
474:デフォルトの名無しさん
21/01/30 23:14:56.21 xzjRtN8LM.net
昭和だと8bitパソコンの全盛期か?
475:デフォルトの名無しさん
21/01/31 01:25:22.99 SqzzHClod.net
>>460
えっ!Excelにjavascript搭載?!
476:デフォルトの名無しさん
21/01/31 03:01:40.77 Y3xOrDkq0.net
そもそもアプリがEXCEL何だから何が搭載されようがパフォは大差無いだろうな
それならブックが超軽いとかの方が恩恵あるわ
477:デフォルトの名無しさん
21/01/31 10:40:24.97 /4jghnKY0.net
昭和だからMS-DOSって奴か
定年して10年位の近所の爺がやたらExcelの話しだけは詳しかったわ
平成初期って今みたいにpcが普及していたイメージ無いのだがね
478:デフォルトの名無しさん
21/01/31 10:44:54.99 LH9Tecev0.net
平成初期は家庭の普及は少ないかもしれないが学校でPCの授業はある時代
479:デフォルトの名無しさん
21/01/31 11:12:38.97 eXchLs/k0.net
平成初期頃ならPC-9801+MS-DOS上で一太郎とロータス123の時代
480:デフォルトの名無しさん
21/01/31 12:51:12.93 LqdlwBTz0.net
FileSystemObjectのOpenTextFileで開いたファイルのポインタを最初の行に戻す方法ってありますか?
ADOのMoveFirstメソッドみたいな感じの。
481:デフォルトの名無しさん
21/01/31 13:05:56.87 tZ/FxqNKd.net
Windows版Excel(もちろん英語版)が最初に発売されたのは一応昭和時代の終わり頃だよ
日本で使ってた人はほぼいなかったと思うけど
使い物になる日本語版が登場したのは平成5年の秋
482:デフォルトの名無しさん
21/01/31 14:29:00.06 BqVAUrnsx.net
Excel 95か97は持ってたはずだが…どこいったかな
Excel2000は現役?で使ってたりするw
現代のPCで動かすと爆速だから
483:デフォルトの名無しさん
21/01/31 15:54:08.87 /4jghnKY0.net
2000て今のパソコンで動くのか知らんかった
サンクス!
484:デフォルトの名無しさん
21/01/31 15:56:11.00 1T3G+5lu0.net
3.1も動くんじゃね?
485:デフォルトの名無しさん
21/01/31 16:01:12.88 xa1uSfuZH.net
Excel2000とWindows2000を勘違い
486:デフォルトの名無しさん
21/01/31 19:37:03.65 U4PZxrG+d.net
>>435
色んな言語やって適材適所。
VBAの場合、特殊な環境なのでVBAが有利だけど出来ないことも結構ある。
487:デフォルトの名無しさん
21/01/31 19:38:49.07 U4PZxrG+d.net
>>451
足らないなら作れば良いってのもある。
バイナリエディタぐらいなら2時間もあれば作れるだろ。
488:デフォルトの名無しさん
21/01/31 19:41:00.82 MeuEia/rM.net
足らないなら
足りないなら
489:デフォルトの名無しさん
21/01/31 19:42:32.36 U4PZxrG+d.net
>>461
問題はさ、結局VBAから呼び出す形じゃピタゴラスイッチみたいになるし、外部からExcel操作するようなのは、元々VBAでやる必要のない処理なので競合にならないということ。
490:デフォルトの名無しさん
21/01/31 20:16:56.70 7WfxADLN0.net
ワード97のイースターエッグでピンボールが遊べた重いで
エクセルは迷路だっけか
491:デフォルトの名無しさん
21/01/31 21:05:00.18 zGey4MUp0.net
冴子先生
492:デフォルトの名無しさん
21/01/31 21:39:17.09 xa1uSfuZH.net
カイル
493:デフォルトの名無しさん
21/02/01 10:35:57.85 vqEWjed4a.net
64bit対応をしてるんですが、素人なのでポインタ/ハンドルとそれ以外の区別が難しいです
GetInputStateはlongptrではなくlongで良い(実際どちらでも動くことは動きました)と思うのですが、合ってるでしょうか?
Private Declare PtrSafe Function GetInputState Lib “USER32” () As Long
(そもそも、パラメータや引数がないのに、何故型宣言が必要なのかからしてよく分からないのですが…)
494:デフォルトの名無しさん
21/02/01 13:32:29.40 0pAIWcaIM.net
URLリンク(docs.microsoft.com)
検索しろよ
BOOLだからLONGでいいんじゃねえの?
495:デフォルトの名無しさん
21/02/01 15:05:09.75 cziAKMq/0.net
>>491
そんなことがわからない馬鹿はAPI使うなよ
496:デフォルトの名無しさん
21/02/01 16:35:31.74 4U/YDNuw0.net
ど素人の質問で大変申し訳ないのだけど、教えていただけないでしょうか。
Sub test()
Dim s As Worksheet
Set s = Worksheets.Add
Debug.Print "ActiveSheet.CodeName : " & ActiveSheet.CodeName
Debug.Print "s : " & s.CodeName
End Sub
というコードで、ワークシートを1枚追加してそのワークシートのコード名を取得しようとしたところ、
VBEを開いているときは問題なくコード名を取得できるのですが、
VBEを開かずに開発タブからマクロを実行させると、ActiveSheet.CodeName も s もブランクとなり、コード名を取得できません。
(VBEを開いた状態であれば、開発タブから実行させても取得できる)
何か追加で設定しなければならないことなどあるのでしょうか?
Excelのバージョンは 2019MSO(16.0.13530.20418)32ビット です。
497:デフォルトの名無しさん
21/02/01 17:21:35.68 90ziZ1xl0.net
Debug.PrintじゃなくMsgBoxにしても無理?
498:デフォルトの名無しさん
21/02/01 17:26:28.07 4U/YDNuw0.net
>>495
MsgBoxにしてみましたが、変わらずブランクのままでした…
499:デフォルトの名無しさん
21/02/01 17:33:05.91 90ziZ1xl0.net
CodeNameプロパティは
VBE閉じてると取得できないみたいね
URLリンク(social.msdn.microsoft.com)
500:デフォルトの名無しさん
21/02/01 17:40:51.41 vqEWjed4a.net
>>492
>>493
ありがとうございました
他人のコードを意味も分からず流用してました
戻り値なんですね
501:デフォルトの名無しさん
21/02/01 17:52:09.95 GaUVwnAZH.net
>>497
これまじかー
イベントを起動するシート判定に使おうと思ってたから痛いな
配布する前でよかったのが救いか
502:デフォルトの名無しさん
21/02/01 17:58:19.66 s7QwQuf00.net
Nameは使える
503:デフォルトの名無しさん
21/02/01 18:31:44.12 4U/YDNuw0.net
>>497
ありがとうございます!
おかげさまで解決しました!
ものによってはVBE閉じていると取得できないということもあるんですね…勉強になりました…
504:デフォルトの名無しさん
21/02/01 19:44:46.16 x4MWOITLH.net
497は既存のオブジェクトは大丈夫みたいだな
良かった
505:デフォルトの名無しさん
21/02/01 23:01:45.15 neAX3K2a0.net
VBAでIoT、たとえば防犯カメラを特定の時間稼働させることできる?
506:デフォルトの名無しさん
21/02/01 23:03:50.03 cgpbZmzy0.net
知らんけど何故VBAでやるの?
507:デフォルトの名無しさん
21/02/01 23:04:15.16 neAX3K2a0.net
もしくはラズベリーパイ動かせたりする?
508:デフォルトの名無しさん
21/02/01 23:04:51.14 neAX3K2a0.net
>>504
できるのかなと思て
ただの興味本位
509:デフォルトの名無しさん
21/02/01 23:11:41.22 KRwxYz520.net
できない
510:デフォルトの名無しさん
21/02/02 01:35:01.99 eRozloyAH.net
もちろんできるが
511:デフォルトの名無しさん
21/02/02 02:35:02.20 K9rz1pjI0.net
VBAなんか使わなくてもできるだろ
512:デフォルトの名無しさん
21/02/02 03:35:20.04 CQc47MX20.net
VBA以外のもんでも使ってりゃいいよね
513:デフォルトの名無しさん
21/02/02 05:46:24.43 rAxQwi5Z0.net
こんなこともわからない馬鹿には無理
514:デフォルトの名無しさん
21/02/02 07:45:22.80 k1bhpTE6x.net
複数のユーザーフォームをボタンと紐付された関数ごと
別のフォームのマルチページの一つのページとして統合したいんだけど
どうやったらいい?
コントロールのコピーしたら関数まっさらになってしまう
515:デフォルトの名無しさん
21/02/02 08:44:36.43 xrgeUBRvM.net
コードもコピペしてオブジェクト名整えれば?
516:デフォルトの名無しさん
21/02/02 09:39:10.72 k1bhpTE6x.net
すまん
問題はオブジェクト名にあった
コントロールをコピーして貼り付けるとコピー元とは無関係に
左上から連番でオブジェクト名が新規に付けられてしまう
それで元のコードとの相関性がグチャグチャに
他のフォームからコピーするとオブジェクト名の重複が発生するから
しょうがないとは思うが…
複数フォームを一つのフォーム内ページで管理出来たらコンパクトでいいと思ったが甘かったか
517:デフォルトの名無しさん
21/02/02 09:52:43.44 k1bhpTE6x.net
ボタンのオブジェクト名をマクロで変更するにはどうしたらよいかわかる?
518:デフォルトの名無しさん
21/02/02 12:07:20.51 K9rz1pjI0.net
素人が作るからそいういう糞システムになる
519:デフォルトの名無しさん
21/02/02 13:21:01.13 1bf+ts0k0.net
え?
まさかみんなプロなのここ??
520:デフォルトの名無しさん
21/02/02 13:30:17.30 k1bhpTE6x.net
仕事で使っちゃあいるが
ほぼ趣味だな
一度も仕事としてコーディングしたことはないな
521:デフォルトの名無しさん
21/02/02 14:20:46.66 CQc47MX20.net
言葉遊びどーでもいい
522:デフォルトの名無しさん
21/02/02 20:44:18.05 gUgxJ4hN0.net
VBAで何か生活の役にたつアイデアある?
家計簿しかり、体脂肪計しかり。他には?
523:デフォルトの名無しさん
21/02/02 20:55:15.73 9gegCBvb0.net
アンケートならもっと人のいるところでやりましょう
524:デフォルトの名無しさん
21/02/02 21:54:41.99 6HeFUyi4M.net
扱いたいデータ次第でしょ
スマートメーターとか
デジタル温湿度計とか
インプットのデータが多様であればあるほど
得られる成果の種類も増えるというもの
525:デフォルトの名無しさん
21/02/02 22:01:58.54 6HeFUyi4M.net
素人質問
VBSで正規表現の(肯|否)定(先|後)読みが出来ないっぽいんだけど
気のせい?
526:デフォルトの名無しさん
21/02/02 22:07:07.66 /jXNxNj70.net
VBAを生活に役立てるとかいう発想が的外れすぎる
Officeでやりたいことを実現する為のものってことすら理解してない
527:デフォルトの名無しさん
21/02/02 22:11:21.43 CQc47MX20.net
そんなの正規表現じゃないからできないよ
もちろん一番肝心なVBAにとってのね
528:デフォルトの名無しさん
21/02/02 22:11:57.41 CQc47MX20.net
>>524
いまいち理屈になってないな
529:デフォルトの名無しさん
21/02/02 22:26:20.10 aIKF9fP10.net
俺はVBAで彼女できたし宝くじも当たった
死んだばあちゃんまで生き返って超ハッピーだわ
530:デフォルトの名無しさん
21/02/02 22:27:38.52 CQc47MX20.net
で、オフィス365で結婚できたんだろ?w
531:デフォルトの名無しさん
21/02/02 22:46:41.30 gUgxJ4hN0.net
競馬当てるアプリ作れないかなあ
532:デフォルトの名無しさん
21/02/02 22:59:13.66 IsWRFffm0.net
まず、「当てるアルゴリズム」を考えなきゃだなw
533:デフォルトの名無しさん
21/02/02 23:44:33.28 gUgxJ4hN0.net
ExcelVbaでコロナ撲滅できないかなあ
534:デフォルトの名無しさん
21/02/03 00:08:17.17 Yvoh8zTm0.net
感染者の数字をいじればあら不思議
535:デフォルトの名無しさん
21/02/03 00:13:00.26 IsA8Nz810.net
>>532
最近、感染者数を少なく発表して緊急事態事態宣言の効果だと思わせてるように感じるわ
でもそれで皆が緊張感を持てば本当に少なくなるわ
536:デフォルトの名無しさん
21/02/03 00:22:42.50 IsA8Nz810.net
数字の操作ってゆうか
537:デフォルトの名無しさん
21/02/03 00:25:44.87 LtKIm7ALM.net
>>525
意味がわかりません
538:デフォルトの名無しさん
21/02/03 09:12:57.83 oZwwFQVT0.net
>>532
なんだEXCELのおかげで減ったのかw
539:デフォルトの名無しさん
21/02/03 15:27:10.82 +BSqfKukd.net
感染者数、重症者数、検査数の計算に100パーセントExcel使ってるだろう
540:デフォルトの名無しさん
21/02/03 15:33:21.67 OWg+mFa00.net
公務員はエクセル使えるほど有能じゃないよ
541:デフォルトの名無しさん
21/02/03 15:43:30.53 +BSqfKukd.net
じゃどうやって計算するんだ
542:デフォルトの名無しさん
21/02/03 15:43:54.79 OWg+mFa00.net
電卓
543:デフォルトの名無しさん
21/02/03 15:47:57.83 vHpfqXCDM.net
役所の資料落としたら実数入ってることあったけど
関数での計算結果を貼り付けた訳じゃなかったのか
まぁ役所なら只管電卓叩くのはありそうだけど
544:デフォルトの名無しさん
21/02/03 15:48:46.57 pCF2gtkpM.net
公務員は電卓使えるほど有能じゃないよ
545:デフォルトの名無しさん
21/02/03 17:11:17.18 NujmcxqJ0.net
計算できるとこに丸投げ
546:デフォルトの名無しさん
21/02/03 19:08:06.27 3ZiqWZ4T0.net
>>539
算盤
547:デフォルトの名無しさん
21/02/03 20:08:10.32 N+D/8PXWM.net
国家公務員ですがVBAとADO(+SQL)でAccessや業務システムからデータ引っこ抜いて統計資料作ったりしてます
前任者は紙に印刷して正の字書いたり交通調査で使うカウンターみたいので数えてました
他にも色々業務楽にしましたが報告すると人が減らされるので、
隠しておいて余った時間に資格試験の勉強とかしてます
548:デフォルトの名無しさん
21/02/03 20:31:35.92 OWg+mFa00.net
手作業が当たり前の公務員の職場環境で
マクロ使うとめっちゃ時間余るわな
549:デフォルトの名無しさん
21/02/03 20:32:39.17 OWg+mFa00.net
結局>>545もやってる仕事は
効率化なぞしてない無能公務員のままってことなんだから
550:デフォルトの名無しさん
21/02/03 21:04:10.99 8fFe9VfNM.net
VBAによる小手先の自動化により無駄な業務の整理や業務フローの見直し、システム改善などの本質的な業務改善のモチベーションが失われ、
結果的に業務効率を下げているというのはVBAあるある
551:デフォルトの名無しさん
21/02/03 21:24:07.09 pw5uMyFVM.net
dictionaryに一括代入ってできますか?
552:デフォルトの名無しさん
21/02/03 21:29:55.02 u9u/PMRw0.net
>>541
只管とかよくすらっと出てくるね。
553:デフォルトの名無しさん
21/02/03 21:31:21.01 u9u/PMRw0.net
>>545
待てこら、それ税金…
554:デフォルトの名無しさん
21/02/03 23:26:22.08 IsA8Nz810.net
>>545
周りのひとはvbaやマクロの存在を知らない
業務ではほぼエクセルを使用
そんな企業に転職したい
555:デフォルトの名無しさん
21/02/03 23:34:48.39 OWg+mFa00.net
一般事務になるね
マクロできて当然の職場よりは時給下がると思う
556:デフォルトの名無しさん
21/02/03 23:54:01.09 KaBI8RGU0.net
結局そういうアナログな企業は、効率化か進まないしそんな脳みそじゃ事業の収益性も低い。よって給料も少ない。
557:デフォルトの名無しさん
21/02/04 00:29:12.39 EDgIUA7r0.net
そりゃそうだ
VBA出来て作業効率高い方が給料も高いわな
ただ単純に考えればVBAを
生業にしている奴より
VBAを補佐的に使って実際にはJavaや
C++、C#、Ruby等で大きなシステムを
作れる奴の方が給料は高い
下を見てもきりがないが
上を見てもきりがないのだよ
558:デフォルトの名無しさん
21/02/04 05:41:02.93 k/pdvxcQM.net
>>547
抜本的な改革は現場じゃできないです
国家公務員なんで法律や規則、本省が定めた通達や事務連絡、業務システム等を使うことは義務付けられていて、
特段の定めのない部分を各自の裁量の範囲内で工夫するしかない
そしてその範疇ですらある程度の規模の改革をしようとすると根強いアナログ派に今の業務を変える必要がないと反対されます
559:デフォルトの名無しさん
21/02/04 08:45:54.79 EDgIUA7r0.net
>>556
全く
それで糞国家公務員の糞議員が
こんなこと言ってるんだから笑える
【科学】「技術先進国とは呼べなくなった日本…デジタル化は20年遅れ、未知数の研究への投資にも消極的」 元内閣府副大臣が警鐘 ★6 [ボラえもん★]
スレリンク(newsplus板)
560:デフォルトの名無しさん
21/02/04 12:43:48.65 HL3/AUUDa.net
システムは作るのが目的ではなく、運用してなんぼ
561:デフォルトの名無しさん
21/02/04 16:00:33.10 UCczH9pi0.net
政治家が無理矢理変えてあげないとダメなままってことだね。
しかもいい方向に変えようとすると文句を言うほどの無能の二乗。
政治家の改革に公務員は文句を言ってはならないという法律を作らないとな。
562:デフォルトの名無しさん
21/02/04 18:23:19.39 Si5WR9J9M.net
予算分捕るためのシステム構築だからいざ運用しようとすると結局人を介しての無駄な作業になってる
563:デフォルトの名無しさん
21/02/04 18:37:47.68 FKk50fHur.net
Open、put といったバイナリーファイル作成するコマンド類使ってファイル書き出したら、
破損しているとメッセージが出る。
それでも修復して開くと元ファイルと同じような感じなのですが、破損されないやり方ってありますか?ちなみにWordやエクセル形式でなってます。
564:デフォルトの名無しさん
21/02/04 19:17:39.93 4EyDekmA0.net
民営化勧めた結果だろ
国が技術に直接投資できる機会が減っただけ
565:デフォルトの名無しさん
21/02/04 19:49:33.76 oAeYA3FP0.net
誰かVBAでココア作ってやれよ
566:デフォルトの名無しさん
21/02/04 19:53:24.63 hiF+rUbe0.net
VBAでモバイル向けアプリは不可能
567:デフォルトの名無しさん
21/02/04 20:04:35.91 Gq769HFz0.net
スレチ
568:デフォルトの名無しさん
21/02/04 20:22:03.56 txoKZHIlx.net
>>553
東証一部上場のnot ITな技術職だけど
周りびっくりするほどマクロ使える人居ないよ
スクリプトの存在知ってる人で10人に一人くらい
年齢層高くてWindowsupdateも怖いってな感じな
アナログ昭和な雰囲気が色濃く残る
でも儲かってんだからあんまり気にしないって感じでな
569:デフォルトの名無しさん
21/02/04 21:59:36.09 SP6gWQY80.net
>>566
よその会社がどんなだろうとわしらに関係ないし
570:デフォルトの名無しさん
21/02/05 00:16:00.19 7kBPI4G70.net
HashiCorp の時価総額は5,000億円、GitHub は8,000億円で、
Shopify は15兆円で、
Airbnb は10兆円で、米ホテル大手3社の合計を超える
Ruby on Rails だと、社員1,000人で、1兆円ぐらい行く。
他の言語の10倍ぐらい高い感じ
571:デフォルトの名無しさん
21/02/05 01:22:13.93 iyRthznT0.net
だからなに
572:デフォルトの名無しさん
21/02/05 11:14:22.52 s99X7duh0.net
何かいているんだろうね
誤爆かな
573:デフォルトの名無しさん
21/02/05 19:34:57.84 6dLnjK/10.net
お前が死ぬ?
だからなに?
574:デフォルトの名無しさん
21/02/06 07:31:11.79 h7KDjzAUa.net
たらばがに?
575:デフォルトの名無しさん
21/02/06 10:04:32.10 vJxzd/Np0.net
タラバガニはカニとつくがヤドカリの仲間
576:デフォルトの名無しさん
21/02/06 10:30:51.90 V74K/t/p0.net
前レスにあったVBAでChromeのWEB操作って安定するの?
577:デフォルトの名無しさん
21/02/06 10:31:59.83 V74K/t/p0.net
今流行りのRPAってVBAのsendkeyみたいなもんなのかなー
578:デフォルトの名無しさん
21/02/06 16:20:00.03 Dqii0zXCd.net
>>575
全然違うw
VBAでも同じことが出来るがSendkeys使うのは、かなりレベルが低い。
普通はUIAutomationか古くからのウィンドウハンドルにコントロール毎の個別メッセージ投げる方法。
579:デフォルトの名無しさん
21/02/06 16:31:09.62 V74K/t/p0.net
UIAutomationはじめてきいたよ
検索したら結構すごいな
ありがとうだよ
580:デフォルトの名無しさん
21/02/06 19:33:52.07 fN47MGl7x.net
UIAutomation不安定で使いにくいよ
581:デフォルトの名無しさん
21/02/06 20:06:48.07 V74K/t/p0.net
あ、そうなの
安定は何?
582:デフォルトの名無しさん
21/02/06 20:46:25.88 Ye4r/rjw0.net
Hand
583:デフォルトの名無しさん
21/02/06 21:31:42.19 V74K/t/p0.net
Hand?
検索しても出てこない
584:デフォルトの名無しさん
21/02/06 21:32:07.41 UWEF+xf00.net
手作業って意味では?
585:デフォルトの名無しさん
21/02/06 21:37:41.59 V74K/t/p0.net
えっ!(>@<)
586:デフォルトの名無しさん
21/02/06 21:43:24.63 lh4GrNRq0.net
>>578
自分の技術が未熟なだけだろ。
587:デフォルトの名無しさん
21/02/08 08:31:47.69 3VxmPK6Z0.net
他の言語にはできてVBAにはできないことって何がある?
588:デフォルトの名無しさん
21/02/08 10:21:36.60 Scq1JBqB0.net
環境構築
589:デフォルトの名無しさん
21/02/08 10:40:50.82 +Mz9f4POH.net
>>585
言語も色々あるから、VBA「だけ」にできないことってのは思いつかない
VBA「にも」できない、ならexe化とか色々あるけど
590:デフォルトの名無しさん
21/02/08 11:53:50.27 i/vSXK/G0.net
>>585
Object指向言語で言うところの継承。
VBAにもインターフェース継承と言うものはあるが、
あれはObject指向言語の委譲に当たるので別物。
591:デフォルトの名無しさん
21/02/08 12:19:06.34 dnKpq+Faa.net
>>585
エクセルを使わないで何かする
592:デフォルトの名無しさん
21/02/08 12:48:06.83 qHUCVA4k0.net
>>585
全く出来ないわけじゃ無いけど、実質無理なのはマルチスレッド。
マルチプロセスなら出来るけど。
593:デフォルトの名無しさん
21/02/08 18:11:48.67 p8c3QmB90.net
ブックを閉じるときに、全部のシートでA4、A6、A18、A20、A22のいずれかのセルに値が入っていたら、
シート名の先頭に"済"をつけて、シートを最後尾に移動するマクロを作りたいのですが、Worksheets(ws).Name = "済" & Worksheets(ws).Nameの所で
「実行時エラー13・型が一致しません」になります
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
For Each ws In Worksheets
ws.Activate
If ws.Cells(4, 1) Like "" And _
ws.Cells(6, 1) Like "" And _
ws.Cells(18, 1) Like "" And _
ws.Cells(20, 1) Like "" And _
ws.Cells(30, 1) Like "" Then
Else
Worksheets(ws).Name = "済" & Worksheets(ws).Name
ws.Move After:=Sheets(Sheets.Count)
End If
Next ws
Application.Quit
ThisWorkbook.Close savechanges:=True
End Sub
594:デフォルトの名無しさん
21/02/08 18:14:26.48 NxJgvgy90.net
そりゃ一致しないw
Worksheets(ws).Nameじゃなくて、ws.nameでいけるよ
595:591
21/02/08 18:18:43.05 p8c3QmB90.net
>>592
ありがとうございますm(_ _)m
596:デフォルトの名無しさん
21/02/08 20:35:33.37 zFuXTVqB0.net
wsに何を入れてるか自分でわかってないのでは
597:デフォルトの名無しさん
21/02/08 22:23:33.63 PnrMZIJR0.net
>>594
エラーになってる行以外は正しいからちょっとした勘違いじゃね?
それよりFor Each ... In WorkSheets のループ中にシートの移動とかして大丈夫なんだっけ?
598:デフォルトの名無しさん
21/02/08 22:58:25.06 dqyQLjrK0.net
Like ""じゃなくて.Value <> ""にしてElse消した方が分かりやすいとは思う
まあその辺は好みか
599:デフォルトの名無しさん
21/02/08 23:02:43.36 PnrMZIJR0.net
>>596
> Like ""じゃなくて.Value <> ""にしてElse消した方が
And を Or にするのを忘れてるぞ…
600:デフォルトの名無しさん
21/02/08 23:11:37.90 dqyQLjrK0.net
そんな揚げ足取らんでも
601:デフォルトの名無しさん
21/02/08 23:37:22.94 +Mz9f4POH.net
可読性無視
For Each ws In Worksheets
with ws
.Activate
If .Cells(4, 1) & .Cells(6, 1) & .Cells(18, 1) & .Cells(20, 1) & .Cells(30, 1) <> "" then
.Name = "済" & .Name
.Move After:=Sheets(Sheets.Count)
End If
End with
Next
602:デフォルトの名無しさん
21/02/08 23:44:11.84 hflY2uffd.net
最近はexcel vbaを淘汰しようとkintoneとかゆうのが台頭してきたな
603:デフォルトの名無しさん
21/02/09 00:16:34.90 WNqxBDcE0.net
>>600
大体今までの経験則から言うと
ノンプログラミングというのは
ろくなことがない。
無理に纏めようとして
歪みが生じて
結局ぐちゃぐちゃになるのがオチ
604:デフォルトの名無しさん
21/02/09 00:29:46.89 eSMVOSkL0.net
>>600
結局、スクリプトとかが必要になる
605:デフォルトの名無しさん
21/02/09 00:46:13.94 zh7tau7O0.net
Select文で求めない条件を並べるのもおすすめ
Select Case Empty
Case ws.Cells(4, 1).Value
....
Case ws.Cells(30, 1).Value
Case Else
Worksheets(ws).Name = "済" & Worksheets(ws).Name
End Select
Case節で分けなくてもカンマで条件を繋げても問題ない
短絡評価にもなる
606:デフォルトの名無しさん
21/02/09 11:57:03.39 RXmZGByb0.net
sagasu= Dir(ThisWorkbook.Path & ”作業ファイル*20210209*”)
Worksbooks.Open(以下略)
みたいな感じで自動でファイルを探してきて開くマクロを作りたいのですが、20210209の部分が常に変わるので、
変数=hizuke(yymmdd、str)を定義したのでこれをDir関数にワイルドカードつきで組み込みたいのですができませんか?
初歩的かもしれませんが検索しても見つからなくて、、、
607:デフォルトの名無しさん
21/02/09 12:24:40.43 3oJYLekcH.net
>>604
sagasu= Dir(ThisWorkbook.Path & "作業ファイル*" & 変数 & "*")
あと、hizukeって関数は自作しなくてもFormatというのがある
608:デフォルトの名無しさん
21/02/09 16:16:16.99 RXmZGByb0.net
>>605
やってみたらできた
ありがとうございます!!
609:デフォルトの名無しさん
21/02/09 17:23:48.59 /LZ4DWEX0.net
いつものあれか
610:デフォルトの名無しさん
21/02/10 01:23:44.62 nFlUbaHj0.net
足し算のできないいつもの人か
611:デフォルトの名無しさん
21/02/10 21:21:46.44 LZ9Af/PB0.net
良かったよ
プロだらけだったらヤバいスレになるw
趣味と後学のために少しずつやっていたら好きになってきた。
仕事で使う機会あまりないわ
612:デフォルトの名無しさん
21/02/12 13:51:51.87 IzjdsqjHM.net
しじいの言う「後学」という単語に哀愁を感じる
613:デフォルトの名無しさん
21/02/12 15:55:10.24 /wh0XpHtM.net
Excelの新機能「Lambda関数」によって「Excelの数式がチューリング完全になった」とナデラCEO。プログラミング言語としてのExcel数式であらゆる計算が可能に
URLリンク(www.publickey1.jp)
614:デフォルトの名無しさん
21/02/12 16:16:26.53 IzjdsqjHM.net
チューリングウイルスに期待
615:デフォルトの名無しさん
21/02/12 17:41:16.52 o9EDytUaM.net
マクロを10個くらいリボンに登録したらVBEがアドインだらけになってワロタ
どうやらxmlを作って一つのアドインとしてまとめて登録するのがセオリーみたいだな
616:デフォルトの名無しさん
21/02/12 20:11:52.96 00Lfe/Nd0.net
>>611
ええええええええええええええええええええええええ
ちょっと驚愕のニュースだ
617:デフォルトの名無しさん
21/02/12 20:13:11.50 00Lfe/Nd0.net
つまりもうマクロを四苦八苦して作る必要はないんだな!?
618:デフォルトの名無しさん
21/02/12 20:18:24.17 00Lfe/Nd0.net
Excelだ
Excelの時代が来る
619:デフォルトの名無しさん
21/02/12 20:22:55.94 eP0byIu+0.net
重さが気になる
便利だけど重くて出来るだけ避けるような関数にならないか
620:デフォルトの名無しさん
21/02/12 20:59:52.79 jxDcSv/l0.net
>>611
よくわからんけどVBA使わなくてもユーザー定義関数が書けるようになったのか?
でもそれだけじゃチューリング完全じゃないよね?
誰が説明してくれ…
621:デフォルトの名無しさん
21/02/12 21:35:08.47 4lNcO7mK0.net
よくわからんがVBA使わないでってことなら
URLリンク(papasensei365.com)
622:デフォルトの名無しさん
21/02/12 22:07:36.71 aXSnuzkq0.net
LAMBDA の発表: Excel の数式をカスタム関数に変換する
URLリンク(techcommunity.microsoft.com)
623:デフォルトの名無しさん
21/02/12 22:29:40.24 aRG7/C7T0.net
よく分からんけどlet使えてことだろ
624:デフォルトの名無しさん
21/02/12 22:35:41.83 jxDcSv/l0.net
>>620
ああ、なるほど名前の一種として関数定義ができるのか
再起を使えばチューリング完全にもなりそうだし、これいいな
ただ、また「(俺が見て)わけのわからん機能は使うな」とか老害に言われるんだろうなw
625:デフォルトの名無しさん
21/02/12 23:02:00.32 82D6PoJM0.net
vbaにLinq付けてくれたほうが喜ばれるぞ
626:デフォルトの名無しさん
21/02/12 23:07:09.02 GpQsWoGq0.net
Lambdaがファーストクラスオブジェクトなら以下のようなscheme風の無限ループも書ける
((lambda (x) (x x)) (lambda (x) (x x)))
VBAの時代は終わるかも
627:デフォルトの名無しさん
21/02/12 23:12:05.58 82D6PoJM0.net
まともなセル内数式エディタは付きますか?
628:デフォルトの名無しさん
21/02/12 23:18:29.37 00Lfe/Nd0.net
恐ろしいことにつくらしい
動画紹介でついてた
629:
21/02/13 01:03:54.87 HkWfV2pEH.net
>>611
その lambda とやらは、不動点コンビネータを記述できるのですか?
630:デフォルトの名無しさん
21/02/13 04:07:19.47 yi//B+MQH.net
セキュリティでVBA禁止にしても、開いた瞬間に固まるブックが簡単に作れてしまうのかな
意図せず無限ループになったらデバッグが大変そう
631:デフォルトの名無しさん
21/02/13 06:10:57.87 qLIOxiK10.net
へー
EXCELでLinqやラムダ式が書けるようになるのか
Linqやラムダ式は.Netでも便利だけど
開発者をふるいに掛けているものの一つだから
理解出来ない脱落者はEXCELやVBAの
開発ですら役立たずの烙印を押される
そんなときが来るなんて夢にも思って無かったな
632:デフォルトの名無しさん
21/02/13 06:48:06.39 qLIOxiK10.net
あ、なんだ
VBAで使えたりLinqが使えるようになる訳では無いのか
あいつら基本レイトバインディングだからトレースするとき慣れてないと分かり辛いんだよな
良かったなお前ら
633:デフォルトの名無しさん
21/02/13 07:44:30.44 PYtZn7CJ0.net
>>628
> セキュリティでVBA禁止にしても、開いた瞬間に固まるブックが簡単に作れてしまうのかな
今でもあるけど計算回数の上限決めて打ち切るでしょ
634:デフォルトの名無しさん
21/02/13 07:56:56.81 IALcuoUI0.net
>>627
URLリンク(www.microsoft.com)
LAMBDA is the true lambda that we know and love
you can define a fixed-point combinator
dekiru
635:デフォルトの名無しさん
21/02/13 11:41:30.80 PelpVnvk0.net
>>611
どんだけ凄いの?
だれか40歳にもわかるように説明して
636:デフォルトの名無しさん
21/02/13 12:21:31.92 PYtZn7CJ0.net
>>633
例えば、A1, B1, C1セルの中身をカンマで繋いでD1に格納したい
その際セルが空なら"[空だよーん]"ってしたいとするでしょ
今までは
D1: =TEXTJOIN(", ", FALSE, IF(A1 = "", "[空だよーん]", A1), IF(B1 = "", "[空だよーん]", B1), IF(C1 = "", "[空だよーん]", C1))
って似たようなIF式を何度も書く必要があったけどLAMBDA使えたら
f: =LAMBDA(x, IF(x = "", "[空だよーん]", x))
って定義しておけば
D1: =TEXTJOIN(", ", FALSE, f(A1), f(B1), f(C1))
って書ける
さらに課長に"[空だよーん]"とかふざけんな、"[空でございます]"にしろって言われてもLAMBDAの1箇所を直すだけで済む
637:デフォルトの名無しさん
21/02/13 12:41:35.80 BN4b1mTrp.net
>>633
40のお前がバレンタインデーでチョコ貰えるくらい凄い
638:デフォルトの名無しさん
21/02/13 12:49:30.81 PelpVnvk0.net
>>635
(>_<)\
639:デフォルトの名無しさん
21/02/13 14:07:20.92 IALcuoUI0.net
ただの関数定義じゃないか
それで十分だった気はするが
640:デフォルトの名無しさん
21/02/13 15:14:43.31 wz9KaBQo0.net
VBAに影響ほとんどなさそう
一発でピボ集計とかシート挿入とかに関係ないし
641:デフォルトの名無しさん
21/02/13 15:33:24.19 QpeYGISo0.net
と言うかラムダ式書けるなら、ついでにセル内でも数式の改行とインデントができるようにしてくれればよかったのにな
Excel職人のIFだらけの数式を読むのがまずキツイんだは
642:デフォルトの名無しさん
21/02/13 15:40:56.55 jHG+5C+w0.net
セルで分ければいいんだけど一つの数式にまとめられるのがすごいと思ってるからな
まあ自分もそうだったけど
643:デフォルトの名無しさん
21/02/13 17:28:35.52 VP7xI/GI0.net
単に複数セル使うのが嫌なだけってのが多いように見える
644:デフォルトの名無しさん
21/02/13 18:42:07.48 yi//B+MQH.net
まとめて印刷とか名前を付けて保存みたいな手作業を置き換えるVBAはなくならないかな
645:デフォルトの名無しさん
21/02/13 19:19:56.21 PYtZn7CJ0.net
>>639
> セル内でも数式の改行とインデントができるようにしてくれればよかったのにな
それ昔からできるぞ…
URLリンク(www.becoolusers.com)
646:デフォルトの名無しさん
21/02/13 19:28:08.81 jHG+5C+w0.net
営業の要ミーティング恐い((((;゚Д゚)))))))
647:デフォルトの名無しさん
21/02/13 21:29:40.36 T3s5Sft8d.net
>>639
普通にやってるけど。
読むのキツイんだろ。
648:デフォルトの名無しさん
21/02/13 21:48:38.47 wz9KaBQo0.net
うかる!って、説明ヘタだね…
649:デフォルトの名無しさん
21/02/13 22:16:40.52 OlVotr6u0.net
職場にIf and orの職人がいるオレに謝れ
650:デフォルトの名無しさん
21/02/13 23:44:53.12 29TtheM20.net
んー? 今までセル内の数式って受身の動きだったけど
それ実装すれば自発的に動けるようになるってこと?
651:デフォルトの名無しさん
21/02/14 00:40:24.25 X0FsHGir0.net
>>643
まじか、しらんかったわ
勝手にスペース削られたりするもんだと思ってたわ。。
652:デフォルトの名無しさん
21/02/14 00:53:19.53 D24G58JB0.net
>>648
自発的には動かないよ
今まではVBAでしかユーザー定義関数は作れなかったけどVBA使わなくても作れるって言うだけ
ただマクロを有効にする必要がないから実務としてはそれなりに意味はある
653:デフォルトの名無しさん
21/02/14 00:53:54.05 D24G58JB0.net
>>649
まあ俺もつい1年ぐらい前に知ったんだけどw
654:デフォルトの名無しさん
21/02/14 05:33:27.25 8cTA8eHd0.net
それよりかパイプライン演算子を実装して欲しい
ラムダ関数はその足掛かりな気もするけど
655:デフォルトの名無しさん
21/02/14 08:25:32.74 0LuW/JvdM.net
セルの書式を調べる関数はよ
656:デフォルトの名無しさん
21/02/14 09:01:53.08 D24G58JB0.net
>>653
Cell("format", a1) じゃ駄目なの?
URLリンク(dekiru.net)
657:デフォルトの名無しさん
21/02/14 09:44:10.83 9bE5PNm50.net
EXCELって意外と古いの使ってたりするから受け渡しがどうかな
658:デフォルトの名無しさん
21/02/14 09:46:12.37 HYvJ8gAi0.net
>>652
一部がダメ文字の文字コード
659:デフォルトの名無しさん
21/02/14 10:33:56.69 ccxL17vjM.net
>>654
ああごめん
表示形式以外の書式ね
色とかフォントとか罫線とか
660:デフォルトの名無しさん
21/02/14 10:46:19.10 IPhvN32f0.net
もしかして >>653 は
データの「表示形式」だけでなくて
フォントや横位置/縦位置、塗りつぶし、罫線なんかの戻り値が欲しいのかしら?
661:デフォルトの名無しさん
21/02/14 10:47:17.03 IPhvN32f0.net
ありゃ。本人からの返事の方が早かった
662:デフォルトの名無しさん
21/02/14 11:28:53.22 D24G58JB0.net
>>657
4.0マクロ関数でどうぞ
URLリンク(blog.goo.ne.jp)
663:デフォルトの名無しさん
21/02/14 16:36:27.43 W30Sj/2D0.net
VBAはSelectのCaseで、False,Empty,Nullあたりが同一判定されて、個々に行えないのがクソ
664:デフォルトの名無しさん
21/02/14 17:23:19.56 D24G58JB0.net
>>661
VarTypeも知らない僕はアホです
っていうカミングアウトか?
665:デフォルトの名無しさん
21/02/14 19:08:55.75 hT3ZVIIc0.net
ねこ
666:デフォルトの名無しさん
21/02/15 11:39:26.92 S0ZRmbKV0.net
DIR関数を利用して以下のりようなロジックを見たのですが、
foldercheck = (Dir(wrkpath, vbDirectory) <> "")
()の中のロジックはどのような技法なんでしょうか
if Dir(wrkpath, vbDirectory) <> " then
667:664
21/02/15 13:15:47.99 S0ZRmbKV0.net
URLリンク(docs.microsoft.com)
Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' Returns False.
MyResult = (45 = 45) ' Returns True.
自己解決しました。上記と同じなのですね。お騒がせしました。
668:デフォルトの名無しさん
21/02/15 19:45:33.20 olEKN+utr.net
フォルダへの書き込みのアクセス権をチェックするようなサンプルないですかね。
イメージとしてはフォームのフォルダ選択ボタンを押して選んだフォルダが書き込みできなければ選んだ時点でそういうメッセージを出したい。このあとアウトプットフォイルを書き込む際にエラーが出る前に
669:デフォルトの名無しさん
21/02/15 20:10:33.97 xaJaofAeH.net
>>666
まじめにやるならGetFileSecurityとGetAclInformationを使う
もっと簡単にやりたかったら、ダミーのファイルを1つ作ってみてOn Errorでエラーになったかどうか判定
670:デフォルトの名無しさん
21/02/15 20:15:42.96 nKU68rXI0.net
FSOのGetFileでフォルダーを取得して
Attlibutesプロパティ見ればいいんでないかな
671:デフォルトの名無しさん
21/02/15 20:16:42.83 nKU68rXI0.net
>>668訂正
GetFile → GetFolder
だった
672:デフォルトの名無しさん
21/02/15 20:30:32.32 btvLdCUB0.net
>>668
いいわけないだろw
そもそもフォルダのR属性は他の用途に使われている
673:デフォルトの名無しさん
21/02/15 22:00:51.83 iJ9piVTy0.net
普通にicacls呼べばいいじゃん
674:デフォルトの名無しさん
21/02/15 22:59:53.76 R4sT9O4+0.net
>>662
いや、それだと0と1がIntegerとしか返ってこないし、
TrueとFalseもBooleanとしか返ってこないから判定できないだろ。バカかお前?
675:デフォルトの名無しさん
21/02/15 23:48:13.25 yTkZToOt0.net
isnullはあったよなたしか
676:デフォルトの名無しさん
21/02/16 02:55:26.52 nbeJO0KhM.net
CSV形式で保存する前に、Serial値の表示形式をyyyy/m/dにマクロから変更して
保存してからその後開くと、"1/1/2020"とか意味分からんStr型になっちゃうんだけど、
誰か分かるひといる?
csvを取り込むソフトがどうしてもこの表示形式に変更しないと、うまく取り込めない謎仕様なんだ。
ちなみに、いったん保存してから開いてやってもダメだった。
(もちろん、手作業で開いて表示形式変更したらバグらないんだけど・・・)
rngObj.NumberFormatLocal = "yyyy/m/d"
677:デフォルトの名無しさん
21/02/16 07:43:45.82 +oOyZ54g0.net
>>672
型を判定してから値を判定すりゃいいだけだろ
応用力ないのか?
678:デフォルトの名無しさん
21/02/16 10:30:54.61 OCcCJKsW0.net
整数の1と小数の1.0だと値(バイナリ)が違うって知ったら狂いそうだな
679:デフォルトの名無しさん
21/02/16 11:04:29.70 +oOyZ54g0.net
>>674
いま手元にExcelないから確認できないけど
rngObj.NumberFormat = "yyyy/m/d"
か
book.SaveAs …, Local:=True
に、してみたらどうかな
680:デフォルトの名無しさん
21/02/16 11:41:24.25 XpWP4Lg+0.net
2021/2/15 6:43
みたいに、時間が入ったセルの、
日付の部分
だけ変えたいんですがやり方がわからないです
セルの日付(2021/2/15)を変数で定義して、新たな日付(2021/2/16)の変数も定義して
replace(セルの位置,セルの日付,新たな日付)
で入れ替えようとすると型が合わないって出てしまうのですが
どうすればいいでしょうか?
681:デフォルトの名無しさん
21/02/16 11:56:30.35 S5ddSisTa.net
>>678
もしかして変数で定義してる型がDateだったり?
682:デフォルトの名無しさん
21/02/16 11:58:31.61 XpWP4Lg+0.net
>>679
dateとstring両方試しました
683:デフォルトの名無しさん
21/02/16 12:13:25.96 9n1pp/97M.net
CStr(Format(a,″yyyy/m/d“))
684:デフォルトの名無しさん
21/02/16 12:24:02.20 XpWP4Lg+0.net
すいません自己解決しました
変数の定義がおなしかったみたいです
685:デフォルトの名無しさん
21/02/16 13:04:12.03 nbeJO0KhM.net
>>677
いけましたサンクス!!!
686:666
21/02/16 19:15:33.72 +pX1epGPr.net
遅くなりましたが、結局Dummyファイルの書き込みにしました。アドバイス頂いた方ありがとうございました。
687:デフォルトの名無しさん
21/02/16 21:00:08.21 PQjj23xSa.net
スミマセン、セルの特殊な機能だと思うのですが、
セルにポインタを合わせると、セルの外側右下に小さな▼が出現、
▼を押すとセルの下に小さなウィンドウが展開し、羅列された文字や数字を選択できる。
上記機能の名称とは何なのか、
どこでイジれるのか、作成できるのか等わからず困ってしまいました。
機能が生きているセルもありましたため、
新規で作成せずともその機能をコピーしようともしましたが方法わからず。
お詳しい方いらっしゃいましたら
お力添え願いたいです。
失礼します。
688:デフォルトの名無しさん
21/02/16 21:24:43.99 kmFmEkS70.net
VBAとは関係なく
「セルの入力規則」から「リスト」を選択してあとは適宜
詳細は上記キーワードで検索して
689:デフォルトの名無しさん
21/02/16 22:46:03.00 g3oiZXVYr.net
教えていただけると助かります。
VBAでIEからExcelに文章を写したいです。
アクティブなIEからカーソルで範囲指定して、その内容を写すことは可能なのでしょうか?
例えば、ヤフーで気になる記事の内容だけをコピペといった感じです。
気になるものだけなので、検索を入れ込む必要はないです。
IEとYahoo起動まではできるのですが、その先が分かりません。
よろしくお願いいたします。
690:デフォルトの名無しさん
21/02/16 23:02:29.70 LtHH0x/40.net
それ手動でコピペしたほうが早いんじゃね
691:デフォルトの名無しさん
21/02/16 23:41:10.89 5LT5VcGn0.net
気になる記事の条件は?
それを自分で判断するなら>>688が正解だと思うが
692:デフォルトの名無しさん
21/02/17 09:01:14.53 tQXaEzsv0.net
>>687
ちったぁググれ
URLリンク(konowaza.com)
693:デフォルトの名無しさん
21/02/17 10:16:38.01 vOoN+LpT0.net
>>690
優しすぎる
694:デフォルトの名無しさん
21/02/17 12:53:19.33 3Z4/s25m0.net
>>686
ありがとうございますm(_ _)m
トライします。
695:デフォルトの名無しさん
21/02/17 12:57:54.00 quEf8nPTr.net
いえいえ
696:デフォルトの名無しさん
21/02/17 12:59:55.94 Mp3MtPnAH.net
クリップボードを監視して、新しいデータがコピーされるたびに保存してくれるアプリとか使えばいいんじゃない?
いちいちウィンドウを切り替えたりペーストしなくていいやつあるだろ
697:デフォルトの名無しさん
21/02/17 15:46:44.57 i293dZUhd.net
>>686
機能が生きているセルを上記指南で解析し、
貼り付けで解決しました!
助かりました。
ありがとうございました!
698:デフォルトの名無しさん
21/02/17 22:01:12.58 YnE2/fOB0.net
最終列までコピーをしたいんですがエラーを繰り返しなかなか実現できません…
例えばA3セルがデータの始まりでA7セルが最終列の場合、以下の文になるかと思いますRange(“A3:A7”).copy
ただ、半年に一度最終列が一列追加になるので、メンテナンスしなくていいように上の文のA7の部分が最終列になるようにしたいです
この場合何かいい方法はあるでしょうか
699:デフォルトの名無しさん
21/02/17 22:41:15.13 FtApzB1S0.net
行じゃなくて列?
700:デフォルトの名無しさん
21/02/17 22:42:03.66 tZ0yQ1Z/0.net
オーソドックスなのはこれだけど、物凄い珍回答を聞いてみたいわ
Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
701:デフォルトの名無しさん
21/02/17 22:45:44.66 LXOFF6tt0.net
>>696
last_row = Sheet1.UsedRange.Row + Sheet1.UsedRange.Rows.Count - 1
last_col = Sheet1.UsedRange.Column + Sheet1.UsedRange.Columns.Count - 1
Debug.Print "A3:" & Sheet1.Cells(last_row, last_col).Address(RowAbsolute:=False, ColumnAbsolute:=False)
こんなん?
702:デフォルトの名無しさん
21/02/17 22:46:54.85 bJ7UNxEFr.net
>>690
ありがとうございます❗
探してたものに出会えました。
ググってはみたんですが、このサイトには巡り会えなかったので、本当に助かります。
やってみたら、思う結果になりました。
ありがとうございました。
703:デフォルトの名無しさん
21/02/17 22:47:30.28 YnE2/fOB0.net
行じゃなく列です
最終列が半年に一回追加になるのです…
704:デフォルトの名無しさん
21/02/17 22:50:45.05 YnE2/fOB0.net
>>697
ごめんなさい、最終列の話だったのでA3セルからD3セルをコピーする場合、以下になるんでした
Range(“A3:D3).copy
今はD3が最終列ですが、半年後にはD3が最終列になるイメージです
705:696
21/02/17 22:51:42.12 YnE2/fOB0.net
何度も間違えてすみません…
今はD3が最終列ですが半年後にはE3が最終列になるの間違いでした
706:デフォルトの名無しさん
21/02/17 22:55:52.03 X7VrF3DN0.net
最終列取得の仕方調べないの?
707:デフォルトの名無しさん
21/02/17 23:06:07.99 FtApzB1S0.net
Range("A3").CurrentRegion.Copy
708:デフォルトの名無しさん
21/02/17 23:08:53.17 ooyd3US+0.net
ColLst = Sheet1.Сells(3,Columns.Count).End(xIToLeft).Column
Range(Sheet1.Cells(3,1),Sheet1.Сells(3,ColLst))
みたいにケツのColumnIndexを可変化させりゃええ
指定範囲より右側にコメントが入るのであれば別の方法を考える必要があるけど
709:デフォルトの名無しさん
21/02/17 23:09:11.52 LXOFF6tt0.net
CurrentRegionは使えそうで使わない
710:デフォルトの名無しさん
21/02/17 23:16:43.14 FtApzB1S0.net
UsedRangeだって使うの怖ない?
どっかにドットあるだけども持ってかれる
711:デフォルトの名無しさん
21/02/17 23:18:02.78 tZ0yQ1Z/0.net
これってやり方は何通りかあるけど、
どの状況でも使える完璧なのが無いよな
一見よさげなUsedRange.Find法とかも、
検索と置換の状態が変わっちゃうし
712:デフォルトの名無しさん
21/02/17 23:21:06.27 LXOFF6tt0.net
ちゃんとやりたい場合列のヘッダの名前の有無を確認とか意味解析するしかないよ
713:デフォルトの名無しさん
21/02/18 00:18:06.29 ZQty99yr0.net
vbaしかつかえないうんちなんだけど、ダイアログに変数名入れたら、その名前を反映させた定型コード作ってくれるような支援ソフトないの?
たとえば、Dim var: var= xとかFor i=LBound(arr) to UBound(arr)とか。いちいちめんどい。
cliborはつかってる。スレチだったらすまそ。
714:デフォルトの名無しさん
21/02/18 02:16:18.22 QcGF+jUk0.net
それこそ自分で作れよ
自分だけにに都合よく自動化したいならそれしかないだろ
715:デフォルトの名無しさん
21/02/18 08:21:36.53 sd++046d0.net
>>711
そういうの別言語だと見たことあるけど
VBAでは諦めた方がいいんじゃないかなぁ
URLリンク(mobile.twitter.com)
こういう奴でしょ?
(deleted an unsolicited ad)
716:696
21/02/18 08:30:28.40 0xKDo7Uv0.net
最終列の取得をしてコピーしたいと申した者です
具体的には2シート目以降のC8セルから最終列までコピペしたくこのような文を書いてました
Maxcol = Worksheets(1).Range(“C8”).End(XlToRight).Column
For i = 2 To Worksheets.Count
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy
Worksheet(1).Cells(Maxrow,1).PasteSpecial Paste:=xlPasteValues
Maxrow = Maxrow + 1
Next i
上には書いていませんがMaxRowで最終行していて、1シート目の最終行にペーストするイメージです
このとき以下の箇所でエラーになりました
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy
717:デフォルトの名無しさん
21/02/18 08:31:50.99 cssKdxraM.net
>>713
やっぱVbaだと厳しいか、、、別言語だとこんなのあるんだな!ありがとう。
718:696
21/02/18 08:45:37.53 0xKDo7Uv0.net
解決しました…
Rangeの中にCellsを入れる際はCellsの方にもワークシート名を記載してあげなければいけなかったんですね…
お騒がせしました
719:デフォルトの名無しさん
21/02/18 10:27:10.11 4sNPnSsIM.net
4点指定でrange作れればいいのにね
720:デフォルトの名無しさん
21/02/18 13:38:16.10 EVRbmhyV0.net
>>717
まあ、
Sheet.Cells(開始行, 開始列).Resize(行数, 列数)
もしくは
Sheet.Cells(開始行, 開始列).Resize(終了行 - 開始行 + 1, 終了列 - 開始列 + 1)
ってやるだけだし
721:デフォルトの名無しさん
21/02/18 17:41:06.06 Khd0zmwWM.net
>>714
これで動くのか
それならまあいいけども
722:デフォルトの名無しさん
21/02/18 20:47:31.34 Sdz2Rpjn0.net
コンパイルしたときに「ユーザー定義型は使用できません」といったようなエラーが出るのですが、
エラー箇所が選択されず特定できません。
ググってみたのですが「関数を一個ずつ切り貼りしながらコンパイル」的な記事しかなく、
結構大きなプロジェクトファイルになってしまっていて現実的ではありません。
原因って何が考えられますでしょうか。
723:デフォルトの名無しさん
21/02/18 21:08:20.83 QcGF+jUk0.net
情報が少なすぎるだろ
で、ユーザー定義型を使ったの?
724:デフォルトの名無しさん
21/02/18 21:48:45.33 sd++046d0.net
>>720
VBAでは珍しいかも知れないけど
VBSではよくある話
実行前コンパイルの概念がないからね
別に1関数単位で抜かなくても
纏めてごっそり抜いてみて
エラーが発生しなくなったら
残った部分には原因がなくて
抜いた部分に原因があるんで
まずそうやって切り分ける
抜いた部分から半分くらい戻してやって
またエラーが起きないか確認するのを
繰り返して行く内に
原因の可能性がある範囲はどんどん狭まるんで
そうやって確認して行く
725:デフォルトの名無しさん
21/02/18 21:52:25.45 sd++046d0.net
原因として考えられるのは
ない型を指定した場合なので
型宣言の書き間違えとかかな
726:デフォルトの名無しさん
21/02/18 21:59:48.04 Sdz2Rpjn0.net
>>721
使ってます。
また、クラスモジュールやライブラリも沢山使ってます。
以前なら間違っている名前の箇所が選択されるので、直ぐに原因が特定できたのですが・・・
>>722
今、出来る範囲でモジュールを解放・インポートを繰り返して検証して見たのですが、
フォームモジュールのいくつかが原因の様で、これらを抜くとコンパイル(実行前コンパイル)が成功します。
ただ、その原因と思われるモジュール内の全てのコードを削除しても同じエラー発生します。
意味が分かりません・・・
727:デフォルトの名無しさん
21/02/18 22:36:52.79 Xk2lzcuAM.net
フォーム内のエラーはフォーム呼び出しコードが選択されるから、F8の手押し連打で進めて行けばエラー箇所で止まるんじゃね
728:デフォルトの名無しさん
21/02/18 23:05:06.07 jY4O/2kG0.net
いつもの人っぽいけど、クラスモジュールでエラー止める設定すれば分かるかもしれん
729:デフォルトの名無しさん
21/02/18 23:14:40.89 Oj+90OvE0.net
>>726
シートに書くとエラーの場所がわからないから標準モジュールに書け、
なんて書いてるサイトがあって、その解決策しばらく気づかなかったわ
730:デフォルトの名無しさん
21/02/18 23:38:17.80 chyUcvsN0.net
ズボラせず1個ずつちゃんと調べなよ
731:デフォルトの名無しさん
21/02/19 00:07:23.60 3RXIcFsGH.net
DimとかConstとかでタイプミス
SubやFunctionの宣言部でもよくある
Visual StudioでVB.netプロジェクトを作ってコピペで発見できる場合もある
732:デフォルトの名無しさん
21/02/19 03:59:43.95 fFtIagGX0.net
>>725,726
実行時例外じゃないです。
>>728
>>724の通り、発生元と思われるモジュール内コードを全て削除しても発生し、
モジュール自体を解放すると発生しなくなるため悩んでいます。
私も一個づつ調べたいのですが、もはや調べ方も分からない状況です・・・。
>>729
宣言文のタイプミスでも、通常はエラーが発生すれば原因箇所が選択(反転)されると思いますが、
今回はそのエラー箇所の選択がなく困っています。
vscodeですがVB.netプロジェクトへのコピペもやってみましたが、
関係のないエラーや注意が大量発生して特定困難でした。
というか互換性ないと聞いたのですが・・・
733:デフォルトの名無しさん
21/02/19 04:14:33.39 fFtIagGX0.net
お礼言うの忘れてました。
沢山回答ありがとうございます。
些細な事柄でも気になる点があればレス欲しいです。
一応質問内容をまとめます
・エラーが発生しているのはコンパイル時です
・通常あるエラー発生箇所の選択がされません(この「発生個所が選択されないという現象」自体の原因も調べています)
・原因と思われるクラスモジュールを解放すると発生しなくなります
・しかし、そのモジュール内のコードを消すだけでは引き続き発生します
734:デフォルトの名無しさん
21/02/19 05:06:58.61 UOwA+kJV0.net
なるほど
つまりVBAのコード側の問題ではないと
詳しい状況が分からんから何とも言えんけど
考えられる状況としては
・ファイルがぶっ壊れてる
・フォーム側に使ってるバージョンにそぐわないオブジェクトが設定されている
・使ってるバージョンにそぐわないAPIとかが使用されている
・何か変な参照設定切ってそれを使ってる
とかじゃない?
クラスとかライブラリ(何をもってライブラリと言ってるのかは分からんけど)使ってて
結構大きなプロジェクトファイル使ってると言うなら
元々動いてたものだったと思うんだけど
今改修を掛けているものが同じ環境下(EXCELのバージョンとか使ってるならランタイムとかが同じ)
で動くか確認した方がいいんじゃないかと思うよ
735:デフォルトの名無しさん
21/02/19 05:44:12.15 6sfyeCMi0.net
>>731
クラスモジュールを開放したあと、同名のクラスモジュールを空で新規追加したらどうなるの?
そのクラスモジュールの名前は何?
736:デフォルトの名無しさん
21/02/19 14:25:58.33 fFbWPHDZ0.net
ユーザ定義型は定義されていません
737:デフォルトの名無しさん
21/02/19 21:58:08.64 p5a0AjpTa.net
>>724
インポートとかすると改行や全角空白、タブ、eofとかがおかしいのが入ることあるよ
738:デフォルトの名無しさん
21/02/19 23:14:07.14 FBAC49/30.net
ぶっちゃけ原因不明でコードを新規ブックにそのままコピペしたら動いたってのは何度かあった
理由がわからんだけだったのかもしれないけど
739:デフォルトの名無しさん
21/02/20 00:17:20.20 /mom05J70.net
怪しい辺りを切り取り貼り付けで直るパターンもあった
740:デフォルトの名無しさん
21/02/20 02:39:20.18 exEQDxd80.net
エクスポートして新規ブックでインポートしてどうなるか試せ
そのクラスモジュールとやらをどっかに張ればなんかわかるかもしれん
741:デフォルトの名無しさん
21/02/20 10:48:29.96 +4W1iOYZ0.net
帳票でひな形ファイルにDBからのデータを張り付ける際に
ひな形ファイルに前もって用意している一覧より件数が多くなり
一覧部を増やす際って存在している行を必要分コピペしたら処理が重く遅くなりますか?
範囲指定して行の高さや罫線その他書式を作成していくのが普通ですかね
742:デフォルトの名無しさん
21/02/20 11:52:03.51 FtzhhzvS0.net
1件ずつコピペしてたら遅くなる可能性があるけど
必要な行数を計算してコピペ1回なら問題にはならんのじゃないかな
743:デフォルトの名無しさん
21/02/20 13:27:35.51 GLzvS33R0.net
すげえ基本的な話だけど
2003と2019じゃソースを書き換えないと使えないのはわかるけど
2015と2019は使えるの?
744:デフォルトの名無しさん
21/02/20 18:00:11.01 M8GDG/5fa.net
自分で試せばいいのに
745:デフォルトの名無しさん
21/02/20 20:13:12.43 OBWJcVSW0.net
書き換えないといけないところが分かるなんてすごい実力者だね
746:デフォルトの名無しさん
21/02/21 00:07:25.30 J4wkOwtc0.net
複数バージョン持ってないと試せんだろう
747:デフォルトの名無しさん
21/02/21 00:25:53.91 yZKJ3RszM.net
どっちでも動くように作るのさ
748:デフォルトの名無しさん
21/02/21 02:57:17.71 PfdFyViG0.net
持ってないバージョンで動かないかもとか考えなくてもよくね
749:デフォルトの名無しさん
21/02/21 03:11:53.20 NVBTtkD2H.net
逆に、2019だけで動くようにしろと言われてもできる気がしない
わざと追加されたワークシート関数を使うみたいな、手段と目的を逆転させるのは無しで
そんなに言語仕様って変わってたっけ?
750:デフォルトの名無しさん
21/02/21 03:19:27.77 BLnKvBaX0.net
VBAの言語仕様なんて、64ビット対応しか変わってないだろ
EXCELのアプリケーションモデルは多少の変化はあったかもしれんが
751:デフォルトの名無しさん
21/02/21 09:10:45.20 Mdn5KR7p0.net
基本使えるだろうけど
365のは分からん
752:デフォルトの名無しさん
21/02/21 09:54:57.69 E7dwtz5J0.net
2019未満は切り捨てるためにわざと2019仕様に変更とか
わからん
753:デフォルトの名無しさん
21/02/21 18:05:27.14 bOGV4XR6a.net
古いのいつまでも使われると新しいの売れないからかな
754:デフォルトの名無しさん
21/02/22 11:45:30.79 FCcJxvZt0.net
>>747-748
動かなくなる原因は言語仕様だけじゃないよ
2007 辺りでグラフ周りがかなり変更されてソースに手を入れる羽目になったとかある
755:デフォルトの名無しさん
21/02/22 13:18:52.42 kOquHQc20.net
そうっすか
756:デフォルトの名無しさん
21/02/22 17:32:51.40 /Yenw0XZd.net
>>752
正にそれ結構大変だった。
757:デフォルトの名無しさん
21/02/24 00:40:47.03 HDXsWzJB0.net
VB長けてる人ってExcelの機能関数に疎い人多いね
田中に聞けば?
758:デフォルトの名無しさん
21/02/24 01:26:36.59 QrJrBlgW0.net
Worksheetfunction使うのでそれはない。
759:デフォルトの名無しさん
21/02/24 02:17:27.39 CQQJwOCp0.net
2019欲しいけど
いまクソ高いんだよな
昔は10000ぐらいで買えたよな?
760:デフォルトの名無しさん
21/02/24 02:42:57.68 +tup+0KC0.net
今でも1000円で…
761:デフォルトの名無しさん
21/02/24 02:59:15.91 CQQJwOCp0.net
割れは怖くて使えんわ
762:デフォルトの名無しさん
21/02/24 14:09:58.51 HLiwO+Yd0.net
64bitで未定プログレスバー使うにはどうすればいいの?
763:デフォルトの名無しさん
21/02/24 19:44:17.34 CpCHMr0L0.net
オレの2019はアマゾンで900円くらいだ
764:デフォルトの名無しさん
21/02/25 21:11:18.01 u/u+FiSza.net
原本となるシートでマクロが動いて欲しくないからマクロを搭載した別ブックのシートにコピーしようとしてるのだけど、activeXコントロールのコピーで詰んでいる。
selectAllすると位置がずれる、ネットで見かけるfor each x in sheets.Shapes方式だと「rangeクラスのTopプロパティを設定できません」とか出る(原因分からないうえ、同じものが複数コピーされてたりする)
Clickメソッド使ってるからシート自体に記述しなくちゃならない状態(原本にマクロを搭載できない理由でもある)
原本をコピーした新しいシートにマクロを転写する方法か、activeXコントロールをうまくコピーする方法などをどなたか分かれば教えてください。
よろしくお願いします
765:デフォルトの名無しさん
21/02/25 21:28:47.82 mAZPOqOP0.net
俺はファイルコピーで解決しようとするから知らんわ
766:デフォルトの名無しさん
21/02/25 22:14:57.96 zfgrXATG0.net
シートコピーしたら
767:デフォルトの名無しさん
21/02/25 23:11:51.37 h5Yd8P0i0.net
デザインモードじゃないから梃子でも動かないって意味か?
768:デフォルトの名無しさん
21/02/26 03:13:02.34 RTjFElvVH.net
>>762
ブックを別名で保存してからそっちを開いたら?
コントロールの状態や中身まで含めた完全なコピーが簡単にできるよ
769:デフォルトの名無しさん
21/02/26 14:42:35.05 uwtwTRSf0.net
>>760
わいはコントロールやめてユーザーフォームで自作した
770:デフォルトの名無しさん
21/02/26 18:00:57.54 3R2zb4XV0.net
>>762
原本はそのままで動くように作っといて、原本をコピーするマクロは原本とは別ファイルにするのが良いんじゃね
771:デフォルトの名無しさん
21/02/27 04:24:42.64 RGn50kCua.net
>>768
フールプルーフの観点で原本にプログラムを直接書きづらいんですよね。このツールを使うのも原本を更新するのも私じゃないので…
>>767
フォームなら別のブックにコピーできるし使いたいんですが要件的に使えないんですよね
最初はフォームで動作するものを作ったんですが、いちいちウィンドウが開くのめんどくさいと一蹴されました
あくまでシートにマクロをコピーする方法か、activeXコントロールの綺麗なコピーの方法を探しています。
772:デフォルトの名無しさん
21/02/27 04:28:43.21 qDfn4Zqt0.net
>>769
みつかるといいね
773:デフォルトの名無しさん
21/02/27 08:38:37.65 +dnfLZll0.net
>>769
出来るけど、セキュリティ的に大問題アリ。
マクロウイルスのやりたいことと一緒だからな。
774:デフォルトの名無しさん
21/02/27 10:42:13.72 MpvSTRAea.net
ウイルスの作り方探してるのかな
775:デフォルトの名無しさん
21/02/27 16:48:22.46 9QiTc1mX0.net
質問です。
VBAでウィンドウの幅によってレイアウトが変化するページを取り込む方法で詰まっています。
例えば、下記のURLのテーブル「5」をExcelに取り込みたいとします。
しかし、このページはウィンドウの幅を狭くすると「自動レイアウト」になります。
URLリンク(www.nankankeiba.com)
URLリンク(i.imgur.com)
本当はPC固定レイアウトで取り込みたいのですが、下のVBAだと自動レイアウトの方で取り込まれてしまうのですが
どうしたらよろしいでしょうか。
VBA
URLリンク(i.imgur.com)
PC固定のレイアウトで取り込みたいけど、取り込むとこうなる
URLリンク(i.imgur.com)
776:デフォルトの名無しさん
21/02/27 16:50:21.04 9QiTc1mX0.net
>>773
列や行の関係でPC固定で取り込めるようにしたいのですが、クエリで何か設定などあるのでしょうか
777:デフォルトの名無しさん
21/02/27 19:51:14.14 qDfn4Zqt0.net
>>774
よくわからんが内容は正しく取得できているんだから、表示用のシート作って
そっちに2行を1行にまとめて表示させるマクロ書けばいいんじゃね
778:デフォルトの名無しさん
21/02/27 20:13:53.31 9QiTc1mX0.net
>>775
実は最近サイトがスマホ用に「自動レイアウト」に対応してリニューアルしたので
もともと作ってあった表示用シートが連れてしまうために「PC固定レイアウト」にしたいのです…
779:デフォルトの名無しさん
21/02/27 20:25:57.30 Ydjbk0QN0.net
URLの後ろに何か引数入れればいいんだろうけど、javascript読めんからわからん。
Web系のスレで聞くか、ここでやるんだったらDOM解析してgetElementsByTagNameとかで取得するしかない。
780:デフォルトの名無しさん
21/02/27 20:28:08.24 9QiTc1mX0.net
>>777
やっぱりweb系のプログラミング知識がないと無理っぽいですかね
自分はさっぱりなので、そっち系でも聞いてみます。
781:デフォルトの名無しさん
21/02/27 20:46:04.22 Ydjbk0QN0.net
ってそれExcel2013?
2019だとどちらも見えていて、
Table4が自動でTable5が固定になっている。
もし2019が使えるなら、QueryTables.Addじゃなくて、
Queries.Addでやってみるといい。
782:デフォルトの名無しさん
21/02/27 21:38:16.92 9QiTc1mX0.net
>>779
わあああ!できました!!!
自分のだと、テーブル5だと自動で、テーブル6が固定でした!!
固定と自動でテーブルずらすだけで良かったんですね。
本当に助かりました;;感謝!
783:デフォルトの名無しさん
21/02/27 21:44:40.46 9QiTc1mX0.net
なるほどー
URLの違いじゃなくてテーブル数が増えていてテーブルの変更でレイアウトを別々で読み取っていたんですね
今後も参考になる知識でめっちゃタメになりました!
いやーID:Ydjbk0QN0さんの着眼点のおかげで助かりました。感動です
784:デフォルトの名無しさん
21/02/27 23:59:01.77 W4zZ+WShM.net
いいってことよ(≧∇≦)b
785:デフォルトの名無しさん
21/02/28 00:38:35.67 1YMxSz2W0.net
XMLを取得したあと、要素を取得するためにgetElementByIdを使用する方法は無いでしょうか?
XMLでは仕様上IDの規定が無いのでこのメソッドは無いようですが、
対象にしているデータはIDが重複していない(タグ名は重複)ことが分かっています
786:デフォルトの名無しさん
21/02/28 08:33:47.20 0O+t6o860.net
やったことないけどXMLをブラウザーで開いて取得とか
787:デフォルトの名無しさん
21/02/28 13:49:51.41 0oELj/fSM.net
>>783
単なる属性値だからxpathで属性検索すればいいんじゃね?
788:デフォルトの名無しさん
21/02/28 17:16:05.41 1YMxSz2W0.net
>>785
ごめんなさいこれで出来ました
コーディングミスしてただけだったようで…
789:デフォルトの名無しさん
21/02/28 23:20:44.51 Kw7HIYRo0.net
テーブルを使った列転記について質問です。
オートフィルターを使って、
特定条件に合致する列のみを別シートに転記するvbaを作成しています。
検索条件が1件でもヒットすれば、うまく動くのですが、
検索条件の結果が0件の場合、なぜかテーブル内にある全ての列がコピーされてしまいます。
解決方法をご教示いただけたら幸いです。
With Range("A3").ListObject
.Range.AutoFilter 1, "佐藤"
.Range.AutoFilter 2,"2020"
.Range.AutoFilter 3, "土地"
.ListColumns(4).DataBodyRange.Copy Sheets(2).Range("B12")
.ListColumns(5).DataBodyRange.Copy Sheets(2).Range("D12")
.ListColumns(6).DataBodyRange.Copy Sheets(2).Range("C12")
End With
790:デフォルトの名無しさん
21/02/28 23:38:01.73 aFXd9lq10.net
0の時コピペしない
791:デフォルトの名無しさん
21/03/01 03:56:15.13 eH/icf8Z0.net
Countifsで、1件以上の時 と
条件分岐させるのが読み返してわかりやすくなるんでね
792:デフォルトの名無しさん
21/03/01 16:05:10.88 SmQDGBhxa.net
前回の表示が残っているならメッセージボックスとか出すといいかも
793:デフォルトの名無しさん
21/03/02 13:09:41.26 hWjLfumtC.net
(1)A1~A100セルにそれぞれ0001.txt~0100.txtという文字列が格納されている
(2)ファイルサーバ上(\\share\txt)に(1)の名前と対応する実際のテキストファイルが格納されている
→この場合、B1~B100セルの中に(1)と対応する(2)のテキストファイルの中身を自動で入力させたいのですが、どのようにすれば可能でしょうか。。
794:デフォルトの名無しさん
21/03/02 13:28:23.53 xn7W4wyt0.net
丸投げか?
まずは自分で作ってみろよ
795:デフォルトの名無しさん
21/03/02 13:38:46.86 Myd7KGhQ0.net
先生が添削してくれるみたいです
796:デフォルトの名無しさん
21/03/02 15:10:40.09 S4zyTxBwM.net
A1セルに書かれたファイル名を読み取る
そのファイル名を開く
B1セルから書き込む
を繰り返せばいいと思います
797:デフォルトの名無しさん
21/03/02 17:47:07.08 stzBjdlCH.net
いつもの人
798:デフォルトの名無しさん
21/03/02 19:42:52.19 h1fr2K930.net
>>791
どうでもいいがB1~B7へは入力じゃなくて出力って言った方がいい
799:デフォルトの名無しさん
21/03/02 23:19:45.83 yDNF8xvg0.net
>>791
マクロの自動記録
800:720
21/03/03 02:30:35.83 hWQCqBl50.net
>>720ですが、解決というか悪化したので一から作り直すことにしました。
原因と思われていたフォームモジュールを解放しても常時コンパイルエラーが発生するようになりました。
思い切って順に全て解放しながらコンパイルしてみたところシートを含めた全てのモジュールを
削除して新規シート一枚の状態でも発生する始末です。
>>733
試してみたところ、使用できない文字を使った時と同じ「不正なオブジェクト名」だと怒られます。
(もし重複なら「既に~使われています」)
コンパイルエラーの原因にある「ユーザー定義型」というのはフォームのモジュール名の事だったのかも・・・
ちなみに原因らしいフォームのモジュール名を変えても同様のコンパイルエラーは発生し、
その新しいモジュール名でも同じ症状が出るようになります。
>>732
>>何をもってライブラリと言ってるのかは分からん
すみません。参照設定にあるCOMコンポーネントの事です。
APIはSleepしか読み込んでおらず、
コントロールもリストボックスとコマンドボタンとオプションボタンのみです。
元の環境で実行も出来ませんでしたが、
テストで色んなモジュールの解放してインポート、モジュール名変更して戻すを繰り返していると、
プロジェクトのコンパイルは同じエラーがでるが、(環境問わず)実行は可能という状態になりました。
コンパイルのテストしかしていなかったのでどのタイミングで実行可能になったのかは分かりませんが、
引き続き調べてみます。
801:720
21/03/03 02:46:34.41 hWQCqBl50.net
>>733
レスに追加です
名前の変更では「不正なオブジェクト名」と出ますが、その名前でのインポートは成功します。
インポート出来れば自由にフォーム名を変更したり戻したりできました。
>>735
見てみましたが、特に変わりはないようです。
>>738
フォームモジュール以外を全部移したところコンパイルが通りました。
同じフォームを作って再発すると怖いので、
フォームに有ったコントロールはシート上に再現して、とりあえずこれで運用してみることにしました。
802:デフォルトの名無しさん
21/03/03 21:19:07.61 CdcHt2GZ0.net
シートの中身を初期化しようと、範囲選択してClearcontentしたら処理が滅茶苦茶重くて
他のどの処理よりも一番重いまであります
セルの中身をクリアして真っ新にしたいんですが、軽くなる方法とか削除するのに他のいい方法は何かありますか?
803:デフォルトの名無しさん
21/03/03 22:01:26.45 x1QDDRPj0.net
画面更新切ってないとか
804:デフォルトの名無しさん
21/03/03 22:53:36.00 cY/9Er0+0.net
場合によってはシートごと削除&同じ名前のシート作成orテンプレで用意していたシートをコピー
805:デフォルトの名無しさん
21/03/03 23:58:49.06 zTCiutcbd.net
>>800
Clearcontentsじゃなくて単に「削除」に時間が掛かってるだけ説。
どうしようもないExcelのバグ、俺もこの前株シミュレーター作ってて直面した。
たかだが3万行×1列消すのに10分掛かる糞仕様。
どういうわけかD列とE列に入っているがD列を消してからだとE列が、E列を消してからだとD列がそうなる。
2007と2013入れてたがどちらでも同じ結果。スプレッドシートでならサクっと消せた。
806:デフォルトの名無しさん
21/03/04 00:37:39.40 0V1y42950.net
質問させてください
業務用PCのためDsoFramerのインストールを容易には出来ない環境で、ユーザーフォームにワークシートを表示するシステムを作成するのは厳しいでしょうか
807:デフォルトの名無しさん
21/03/04 02:10:45.74 EcELbNCH0.net
レスありがとうございます
画面更新は勿論切ってます
ただ初期化したいだけなのにアホみたいに時間が掛かるので、同じ使用のシートを作る処理にする事も検討します
808:デフォルトの名無しさん
21/03/04 06:47:21.46 yRtnuXOv0.net
変数に入れてから消すとか、同じ選択範囲の配列(空白)ぶっこんでみてもだめかな
809:デフォルトの名無しさん
21/03/04 10:44:48.81 B7/1q6yvH.net
一気に何万行も消さずに100行ずつとか小分けしたら軽くなったりしないのかな
810:デフォルトの名無しさん
21/03/04 10:49:05.92 1zCrSMV60.net
ClearContentsで重かったことなんてないなあ。
めんどくさくてVBAじゃなくマクロで作って選択範囲小分けのまま放置してるからかな?
811:デフォルトの名無しさん
21/03/04 11:15:36.75 fKYNPqjU0.net
>>800
ふーん
範囲指定して消したらどう?
後、最近のEXCELはひょっとして
セルの内容が変わったら
再計算しているかも知れないから
一応自動計算も切ってみたら?
セル値が変わった時のイベント拾って
何かやってるとかいうオチだったら
問題外だけど
812:デフォルトの名無しさん
21/03/04 11:36:50.11 EtHhkpeQ0.net
スレが見つからなかったのでこちらで失礼します
C8の値が$100にならない理由を教えて下さい
URLリンク(i.imgur.com)
813:デフォルトの名無しさん
21/03/04 11:53:16.96 w9aQykj0M.net
関数変わっちゃうけど代案を出すなら
VLOOKUP(B8,B1:C5,2,FALSE)
とかどう?
814:デフォルトの名無しさん
21/03/04 12:01:03.02 1zCrSMV60.net
なんだこりゃ
LookUpって欠陥あるんかね
815:デフォルトの名無しさん
21/03/04 12:21:33.50 w9aQykj0M.net
LOOKUPって近似値を検索する関数だから文字列探そうとすると上手くいかない事が多かった気がする
だから面倒臭くなってVLOOKUP,HLOOKUPを使うように癖をつけた記憶がある
816:デフォルトの名無しさん
21/03/04 13:49:43.11 1PJYOy7Jr.net
これ思い出したわ
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
817:デフォルトの名無しさん
21/03/04 13:50:26.95 FInty+sk0.net
新規作成してから試してみたけど$100になったな
818:デフォルトの名無しさん
21/03/04 14:14:53.10 Kq0/JwOuM.net
>>810
C8 が "もり " みたいに空白入ってるとかじゃね?
819:デフォルトの名無しさん
21/03/04 14:47:21.95 skJUg0gJ0.net
検査範囲の値は昇順にしてください
そうでなければ正しい値はえられません
並んでないときはVLOOKUPやHLOOKUPを使ってください
という旨のことをヘルプに書いてある。
820:デフォルトの名無しさん
21/03/04 16:50:41.38 b7V1SruDM.net
LookupにもVLookupやHLookupみたいに検索方法のオプションあればいいのにね
まあMSとしてはExcel最新版にしてXLookup使ってねって言うことなんだろうな
821:デフォルトの名無しさん
21/03/04 18:46:57.78 EcELbNCH0.net
初期化で若干重たいのは取り敢えず諦めることにして、外部のCSVをクエリテーブルで読み込んでから
Refleshでシートに書き込んでるのですが、この書き込む前の段階で、クエリテーブル上で不要な列のデータを削除する事って可能でしょうか?
不要なデータが大量に混ざっているので、全部まとめてシートに書き込むとやはり重たいので軽量化したいのですが……
822:デフォルトの名無しさん
21/03/04 19:49:49.80 V/SEJayw0.net
いつものあいつだな
823:デフォルトの名無しさん
21/03/04 20:49:35.42 yRtnuXOv0.net
lookup系よりindexmatch使うことが多いな
824:デフォルトの名無しさん
21/03/04 20:55:32.61 INwEijJcM.net
lindexmatch使いアピールしてはじめて自称excel上級者として一人前
825:デフォルトの名無しさん
21/03/04 21:28:29.09 Cjl2zDCE0.net
昔はユーザー定義関数作ったけど、今はXLOOKUPがある。
826:デフォルトの名無しさん
21/03/04 22:18:19.39 1zCrSMV60.net
IindexMatchなんぞ使わず、
列をボーンとコピー挿入してVLOOKしてこそ一人前
827:デフォルトの名無しさん
21/03/05 05:33:04.89 eGeMRqFI0.net
いつものあいつて何?
828:デフォルトの名無しさん
21/03/05 09:21:20.59 n//DPju00.net
とうしつの自己紹介
829:デフォルトの名無しさん
21/03/05 21:02:22.60 s30llsqJ0.net
臭う質問者の総称
830:デフォルトの名無しさん
21/03/06 12:22:29.01 yJvSdslEH.net
実際に使ってないような質問をして答えさせて悦に入る人
831:デフォルトの名無しさん
21/03/07 10:26:06.26 FD1rrusm0.net
webページからデータをとってきてセルに格納するマクロを書いています
msxml2.xmlhttpというのを使うとページの内容をgetすることができるのですが、これはどうやらieを利用しているようです
ieはいつなくなるかわからないので他の方法があれば今のうちから変えておきたいのですが、vbaで使える方法で他にどういうのがあるか教えてください
832:デフォルトの名無しさん
21/03/07 10:30:32.44 ZX3XyXetM.net
IEはなくなるのにVBAは大丈夫だと思う理由は?
言語もPythonとかにしてBeautifulSoupやSeleniumでも使った方がよい
833:デフォルトの名無しさん
21/03/07 10:37:32.50 4ExLqYxe0.net
パワークエリはどうかな
834:デフォルトの名無しさん
21/03/07 10:42:14.29 TW4NSoKtM.net
無くなったときのビジネスインパクトはIEよりもVBAの方が遥かに小さいから、MSがどっちか先に切るとしたらVBAだろう
最悪VBAは切られてもExcelのバージョンを塩漬けにして運用できなくはないしな
835:デフォルトの名無しさん
21/03/07 11:28:15.07 zpOLYdVD0.net
>>830
まあそのうちpythonに移行するんでしょうけど、今は慣れない言語を一から勉強してる暇はないので
それで、あなたはvbaでやる他の方法を示せないということでよろしいですか?
>>831
どうかな、じゃなくてどうやるのか教えてください
836:デフォルトの名無しさん
21/03/07 13:02:06.24 JbGOdXToM.net
704 名無し~3.EXE sage 2021/03/01(月) 20:11:45.17 ID:hZCKpI4x
デスクトップ版のVBAマクロに替えてWeb版はOfficeスクリプトがプレビュー中(現在は法人向け365のオンラインのみ)
URLリンク(docs.microsoft.com)
705 名無し~3.EXE sage 2021/03/01(月) 20:16:10.79 ID:hZCKpI4x
Excelの新自動化ソリューション「Office Scripts」プレビュー版が登場
URLリンク(ascii.jp)
Excel操作をJavaScriptで記録 ~Microsoft、“Office Scripts”をパブリックプレビュー
URLリンク(forest.watch.impress.co.jp)
837:デフォルトの名無しさん
21/03/07 13:04:56.15 JbGOdXToM.net
788 名無し~3.EXE sage 2021/03/03(水) 18:26:40.20 ID:5NVXQTtc
Excel関数ベースのプログラミング言語「Microsoft Power Fx」登場 オープンソースで公開予定
URLリンク(www.itmedia.co.jp)
Microsoft、自社製RPAツールを全Windows 10ユーザーに無償提供 マウスクリックやキーボード入力をGUIで自動化
URLリンク(www.itmedia.co.jp)
838:デフォルトの名無しさん
21/03/07 13:46:03.75 5FBwssoR0.net
>>833
なんだただの馬鹿か
煽って聞きだそうとしてもこのスレはいつものあいつで耐性ができた人ばかりだから無理