Excel VBA 質問スレ Part83 (708レス)
上下前次1-新
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1: 06/08(日)11:06 ID:j4jIPbHU(1)調 AAS
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part82
2chスレ:tech
609(1): 08/04(月)07:58 ID:s0XyzxW3(1/2)調 AAS
>>603
Accessは次の2027でディスコン、後継はExcelのモダン機能使えって話だからな
今からAccess使い始めるメリットは僅少
610(1): 08/04(月)12:16 ID:ID6mjO5y(1)調 AAS
>>609
情弱w
611: 08/04(月)13:02 ID:s0XyzxW3(2/2)調 AAS
>>610
?
612: 08/06(水)12:21 ID:ALrU+FVg(1)調 AAS
そして時は動き出す
613: 08/06(水)19:01 ID:x4zMZ0Dh(1)調 AAS
と思ったがやっぱり止める
614(1): 08/06(水)19:03 ID:Cijl6HjH(1/5)調 AAS
普通にExcelを使用するならまず使わないAddress関数も、VBAならセルの指定やセルの範囲指定に使えるとやっと気づいて感動を覚えた。
615: 08/06(水)19:28 ID:YepNzGI4(1)調 AAS
馬鹿自慢ですか?
616(1): 08/06(水)19:51 ID:mVrVWGPw(1)調 AAS
>>587
なんとか、Seleniumでテーブルのデータ取れた
うれしい
617: 08/06(水)19:57 ID:Cijl6HjH(2/5)調 AAS
>>616
Power Automate Desctop使おう泣
618: 08/06(水)20:54 ID:Cijl6HjH(3/5)調 AAS
VBAのRangeと関数のINDIRECTはほぼ似た様なものだったんだ
619(1): 08/06(水)20:55 ID:tEmBbRM5(1)調 AAS
>>614
ADDRESS関数はワークシートで使うならINDIRECT関数と組み合わせると便利だよ
620: 08/06(水)21:22 ID:Cijl6HjH(4/5)調 AAS
ワークシートのセルに=D1:F10を入力します。
=を消します
あ〜ら不思議
Range()に使える文字列になります震え声
知らなかった
621(2): 08/06(水)22:10 ID:gxWTXL5D(1)調 AAS
>>619
以前は揮発性関数を使っていると、クローズする時
変更してなくても「変更を保存しますか?」と聞かれてウザかったけど、最近はそうならなくなったね
622: 08/06(水)23:12 ID:ykWow3x9(1)調 AAS
>>621
あれ糞うざいよな
もう地球に隕石落ちて滅びれば?って思うほどイラつくよ
623: 08/06(水)23:32 ID:GR+FQsr7(1)調 AAS
>>621
よくそんなことに気づきましたね…
そんなことばかりで、最近はもう、ちょっとした違和感は無視する習慣がついてしまって
いけないことですが
624(1): 08/06(水)23:45 ID:Cijl6HjH(5/5)調 AAS
Range(“A1”,”B10”).Selectでも良かったんや
知らなかった
Range(Cells,Cells)で指定すると言えばそうだけど
625(1): 08/07(木)07:28 ID:NU4k5NRA(1)調 AAS
>>624
馬鹿であることを告白して楽しいの?
626(1): 08/07(木)10:21 ID:70AFeDyz(1/2)調 AAS
馬鹿なことすら書けない人が、誰よりもいちばんみじめ
みじめに目鼻口を描いたら>>625の似顔絵のできあがり
627: 08/07(木)10:48 ID:F33eI4p6(1/2)調 AAS
>>626
んなこたーない
馬鹿なことでも有意義な発言はあるけど、
ID:Cijl6HjHは馬鹿な上に日記でしかなくここに書くべき内容ではない
スレタイすら読めない馬鹿は惨めというよりもはや可哀想
628: 08/07(木)10:51 ID:O9lf3thN(1)調 AAS
でも年収400万とかなんだろ?
誰々が馬鹿とか以前に底辺はね…
629: 08/07(木)12:50 ID:T5vmth6D(1)調 AAS
年収1億だろうが1,000億だろうが、バカはバカ
アカンよ?
二宮尊徳の通俗道徳洗脳にまんまと嵌まって、「金持ち=エラい」とか思い込むのは
630(2): 08/07(木)14:41 ID:70AFeDyz(2/2)調 AAS
じぶんのカキコは書き込むべき内容なん?
べき内容ってどんな基準なん? だれが決めてるん? 勝手な思い込みだろ?
みじめな上に憐れで恥ずべき人間なのはどっち
631: 08/07(木)16:05 ID:F33eI4p6(2/2)調 AAS
>>630
スレタイもテンプレも読めない人間ですって自己紹介する人間は当然ローカルルールも読めないもんな
日本語を意味でなく文字で理解するとこういうバカになるんだな
632: 08/07(木)17:41 ID:3W14qCxv(1)調 AAS
>>630
馬鹿は消えろ
633(1): 08/08(金)16:23 ID:Uv90EY2Z(1)調 AAS
でも、先輩のクレバーな回答とか作品とか、このスレで一度もお目に掛かったこと無いですよね?
それはどうしてなんですか?
634: 08/08(金)18:29 ID:2mOO3f8y(1)調 AAS
そりゃセンスも無い年収も低い参考書で覚えただけの奴がドヤってたからだよ
635: 08/08(金)18:40 ID:adZh48Rg(1)調 AAS
>>633
お前の馬鹿な日記よりましだろ
636: 08/08(金)19:39 ID:WJNqBNDH(1)調 AAS
目くそ鼻くそ
637: 08/08(金)20:25 ID:LzRW7Y1G(1)調 AAS
アホな質問にこたえるとなるとどうしてもアホな回答になるから仕方ない
638: 08/08(金)20:54 ID:xPBNC7DI(1)調 AAS
アホな質問はアホが質問するだけに内容も浅く簡単な内容 だから似たような有象無象のアホがこれなら俺も答えられるとアホな回答が続く
悪貨は良貨を駆逐する
639: 08/08(金)21:55 ID:dCfaDUr7(1)調 AAS
せめて年収制限しようぜ
600万以下は質が下がるから質問に答えないで
640: 08/09(土)00:11 ID:gjs9J3GA(1)調 AAS
600万以上のスペシャル回答見せてみろ
641: 08/09(土)07:45 ID:jRFVkFyh(1)調 AAS
760万の俺に任せろ
642: 08/09(土)16:29 ID:B3Fv7AUR(1/2)調 AAS
なら、質問回答形式じゃ無くていいから、じぶんの作品のうちベスト5から
どれか見繕ってサンプル見せてくださいよ 一部でいいから
最近半年間とかでじぶんでも上出来!と絶賛した処理でもいいっスよ
記憶も薄れたけど、あの時あんな処理して難を逃れたとかいう経験談でもいいし
どれひとつ書けない人達が他人を冒とくしてるだけでしょ?
643: 08/09(土)16:40 ID:B3Fv7AUR(2/2)調 AAS
クマを殺処分した自治体とか、学歴偽装で市長当選させた役所とかに
まったく自分には何の関係も無いのに迷惑イタ電しまくる層とおんなしレベルでしょう?
IQが低いのか産まれ持ったDNAが似通ってるのか育った環境が劣悪なのか
今現在の生活レベルがどん底なのか知りませんけど、いったい何に突き動かされてそんな事ばかりするやら
もはや迷惑行為する事こそが生きる術みたいに成り果ててますけど、いいんですか?
まぁ、いいんでしょうね 本人にとっては そうでなきゃ、こんな迷惑行為し続けるのにも飽きるはずですし
644: 08/09(土)16:53 ID:FYBArRLP(1)調 AAS
常に直近50件の最新データをX-MRグラフに出力させて異常判定があったら任意の信号を出すシステム
三次元測定機で全項目をフォーマットに反映させて寸法の合否判定を自動で出すシステム
毎日配信される受注データから指示書に自動振り分けさせて情報をマスターと比較して客先を変換
数量は同一のものはまとめるシステム
ここらは賞取ったから記憶にあるし最近まで追加依頼がきてたものもある
出世する前から構文がどうだとか気にしたことはないかな
645: 08/09(土)17:19 ID:CQopIGSQ(1)調 AAS
いつもの人だぞ
646: 08/10(日)16:16 ID:5N8MTK4H(1)調 AAS
ここで長文書く人はだいたいあたおかさん
647(1): 08/10(日)16:25 ID:ne+O2SWW(1/2)調 AAS
VBAも単発処理しか作ったことないもんなお前らって…
648: 08/10(日)17:04 ID:swuUdv2c(1/7)調 AAS
>>647
「単発処理」って何?
649: 08/10(日)18:01 ID:/nDvelQa(1/4)調 AAS
LET関数はPower Queryの無名関数の様なものだったのか
IFSで条件が沢山ある時に、LETでそれぞれの条件に名前をつけたら可読性、保守性が上がるかなと思ったけど、特にそんな事も無かったな。
LET関数の最後にIFSの関数が入って、それぞれの名前を入れて、TRUEの時の文字列を入力する
650: 08/10(日)18:30 ID:3rv715uo(1)調 AAS
LET関数はPowerQueryのLET構文に相当する
PowerQueryの無名関数に相当するのはLAMBDA関数
651(2): 08/10(日)18:37 ID:46DfGBoc(1/5)調 AAS
質問だが、
2次元配列arr2dがあったとして、
それ1次元配列として新たにarr1dに取り出せる?
forループ使わない方法で
652: 08/10(日)18:40 ID:qdcwbCWk(1)調 AAS
>>651
Doループを使え
653(1): 08/10(日)18:48 ID:swuUdv2c(2/7)調 AAS
Excel VBAで2次元配列かどうのとか、学校の宿題なのかな?
654: 08/10(日)19:00 ID:aYND9n09(1)調 AAS
実践で活かす力の無い人から見たら何見ても学校の宿題に見えるかもね
気にしなくていいよ
655(1): 08/10(日)19:00 ID:/nDvelQa(2/4)調 AAS
>>651
index関数とか
Transposeとindex関数
2次配列を崩して全て一次配列に直結したいならループを使うしかないのでは
656(1): 08/10(日)19:03 ID:6IrxmcjP(1/2)調 AAS
>>653
二次元配列滅茶苦茶使うと思うけど…
657(1): 08/10(日)19:21 ID:46DfGBoc(2/5)調 AAS
>>655
WorksheetFunction.Index()ってやつ?
できたわ
ありがとう
Web解析で
658(1): 08/10(日)19:22 ID:46DfGBoc(3/5)調 AAS
>>657
WorksheetFunctionってのが、
なんだか気持ち悪いが…
659(1): 08/10(日)19:33 ID:swuUdv2c(3/7)調 AAS
>>656
Excelシートなのに?
660: 08/10(日)19:34 ID:swuUdv2c(4/7)調 AAS
処理の途中を見せない、見えなくするのはテストをしない人間なんだろうな。
661(1): 08/10(日)19:47 ID:/nDvelQa(3/4)調 AAS
>>658
WorksheetFunctionは普通の書き方ではないのでしょうか?
Matchは実はApplication.Matchもあると知っているのでWorksheetFunctionとは書きませんが
WorkshetFunctionと書くもの書かないものの違いが分かりません
662(1): 08/10(日)20:03 ID:46DfGBoc(4/5)調 AAS
>>661
そうなんだ
ほとんど使った記憶ないわ
処理速度が同じならいいけどね…
663(1): 08/10(日)20:16 ID:/nDvelQa(4/4)調 AAS
>>662
worksheet functionのMatch関数はエラーを返さないけど、
application.Matchの方はエラーを返すからVariant型で受け取ってエラーでなければ処理という書き方にしています
applicationで使える関数はapplication.関数名で使用した方が良さそう
664(1): 08/10(日)20:39 ID:46DfGBoc(5/5)調 AAS
>>663
そうなんですか
WorksheetFunctionはなんか気持ち悪いですね…
665(1): 08/10(日)21:21 ID:6IrxmcjP(2/2)調 AAS
>>659
シートだからこそだよ
二次元配列をワークシートで代替しようとしたらクッソ遅くてイライラするだろ
配列で処理したら一瞬で終わるような処理もワークシート使うと数分かかったりする
666(2): 08/10(日)21:57 ID:swuUdv2c(5/7)調 AAS
>>665
それだとExcel VBAでやる理由がないだろ?
667(1): 08/10(日)22:11 ID:Zg5co2YS(1)調 AAS
>>666
お母さんに何でもかんでも聞いてそうだな
VBA以前の問題だよ
668: 08/10(日)22:33 ID:swuUdv2c(6/7)調 AAS
>>667
Excel VBAの話だろ?
669(2): 08/10(日)22:37 ID:swuUdv2c(7/7)調 AAS
Excel VBAは廃止の方向だとわかってないのかな?
670: 08/10(日)22:57 ID:ne+O2SWW(2/2)調 AAS
まだ学生だろうし色々聞くのはありだと思うよ
社会に出る前にエクセルに触れてる時点で有利
671(2): 08/11(月)01:56 ID:6DVwG+w7(1/2)調 AAS
>>669
廃止?どこでそんな話しになってるの?
672(1): 08/11(月)09:10 ID:ppLV33ur(1/10)調 AAS
>>664
勘違いしないで欲しいのですが
そもそもVBAはアマチュアが使用している言語だから、そもそもApplication.Matchがある、WorksheetFunction以外にExcelの関数のオブジェクトがある、とは知らない人が非常に多いと思います。
気持ちいい、気持ち悪いの問題ではないです。
それに、Application.関数名で使用できない関数は非常に多いのではないでしょうか?
でもExcelである以上、worksheet関数にも熟知して、使用できる方がコードも完結で、動作も早いのではないでしょうか?
673(1): 08/11(月)09:20 ID:4CrCXXHi(1)調 AAS
>>666
マジでその認識か
シートのデータを二次元配列に入れて加工して、
最終的にシートに戻すんだよ
まさかテンポラリーシートみたいなダサい手法使って加工するの?まさかね
>>669
VBA廃止はとっくに取りやめになったよ
674: 08/11(月)10:10 ID:ppLV33ur(2/10)調 AAS
arr = Range(範囲)で取り込んで処理をして結果をシートに貼り付けるのはとても高速だと思う
だけど今度は数式を多用している場合はそのまま貼り付けるわけにはいかない泣
675: 08/11(月)12:02 ID:prhnhKBm(1)調 AAS
>>671
推奨しなくなってきてる
Automateなんちゃらに移行したいのかな?
676: 08/11(月)12:17 ID:oIjo7VRO(1/3)調 AAS
>>672
そうでしたか…
まあ、処理は一瞬ですね
web解析とかだけど。
677(1): 08/11(月)12:45 ID:o/BAd3AB(1)調 AAS
10秒かかってたのが配列にしたら10倍速くなって1秒で終わった
その9秒って意味あんの?
朝10分早く起きた方がずっと有意義な1日を送れるよ
678(1): 08/11(月)12:50 ID:PI2CudDQ(1)調 AAS
VBAでデータ加工してる人ってまだいるんだな
スピルでサクッとスマートにできるのに
最近VBA使うのは入出力の自動化くらいだ
679: 08/11(月)13:58 ID:ft2lwBWZ(1)調 AAS
スマートというよりただの仕事出来ない奴って感じ
680: 08/11(月)15:45 ID:ppLV33ur(3/10)調 AAS
= A1:A100 = 条件
というのは真偽値の配列を返しているのですね
これを活かして
arr = Evaluate(アドレス & “=“”条件”””)
をすればループをしなくても真偽値が取得できる
worksheet関数のFilterの正体は、配列に対して二次配列の真偽値がTrueの行だけを抽出しているだけだった
681: 08/11(月)15:45 ID:ppLV33ur(4/10)調 AAS
>>677
10秒の例を出すのがおかしい
682(1): 08/11(月)15:46 ID:ppLV33ur(5/10)調 AAS
>>678
Power Queryを使いましょう
683(1): 08/11(月)15:54 ID:oIjo7VRO(2/3)調 AAS
>>682
Power Queryって、
VBA内で使えますか?
webページからテーブルとかデータを取得したい場合に
684: 08/11(月)16:17 ID:ppLV33ur(6/10)調 AAS
>>683
.RefreshAllで全て更新くらいしか知りません
しかもバックグラウンドの更新のチェックを外す必要があります
685(1): 08/11(月)16:30 ID:Zix4Kp+v(1/2)調 AAS
>>671
VBA廃止し代わりにpythonにするという流れがあったけど、
優秀なpythonのアドオンがあり車輪の再発明になりかねないから取りやめ
具体的に挙げられたのはxlwingsとopenpyxl
でも開発の成果からPython in Excelが導入
上記は全てMS開発者ブログより
686(1): 08/11(月)17:29 ID:N8nCnSEw(1)調 AAS
Excel内でPython使えてワークシートをData
Frameとして簡単に扱えたら最高に便利だろうね
エディタがJupyterのようなノートブックなら最高
なんちゃってデータアナリスト市場を総取りできるくらいのポテンシャルがある
687: 08/11(月)17:32 ID:oIjo7VRO(3/3)調 AAS
>>686
Excelで、
PythonでAIが作れたらええよね
今は、橋渡しが必要だけど
688(1): 08/11(月)17:49 ID:6DVwG+w7(2/2)調 AAS
>>685
で、それが
>Excel VBAは廃止の方向だとわかってないのかな?
という書き込みと何の関係が?
いつ廃止の話しになったんだ?
689(2): 08/11(月)18:37 ID:ppLV33ur(7/10)調 AAS
今更ながらRange.RowsとRange.Columnsを知った
やっと変数rngの中のセルの場所からrngの行全体や複数行の指定の方法を知った
rngの中の指定の列から指定の列までの範囲の指定の方法も知った
もっと早く教えて欲しかった
どのサイトを見てもRange(セル)かRange(Cells,Cells)かCellsばかり
.EntireRowと.EntireColumnは専ら行の高さや列幅変更の時に使用するだけ
.Intersectも正しくは交差するセルの範囲取得なのにもっぱらチェンジイベントで
If Not Intersect(Target,対象範囲) Is Nothing Thenでチェンジしたセルが対象範囲内か調べるだけ
AIに聞いても答えてくれない
690: 08/11(月)18:42 ID:NMNq6D65(1)調 AAS
>>689
無能自慢
691(2): 08/11(月)19:03 ID:q1pR7by4(1)調 AAS
>>689
F2でオブジェクト ブラウザ出して色々見てみ
知らないこと山程出てくるから
検索も活用することあると思うぞ
692: 08/11(月)19:25 ID:ppLV33ur(8/10)調 AAS
>>691
やっとオブジェクトの階層?を理解したレベルなんです
サイトを引用しますが
https://papasensei365.com/excel-filtermode-showalldata/
例えばテーブルをshowalldataした時にエラーになる事があります
このサイトの結論はshowalldataする前にテーブルをセレクトするとエラーにならないとか、tbl.autofilter.showalldataするほどでもない、とか、AIに聞いてもshowalldataはworksheetのメソットで、それ以外ではエラーになる(嘘)とか言いますが、tblのオートフィルターはtbl.autofilterだから、tbl.autofilter.showalldataしか正しくないです。
やっとローカルウィンドウの正しい見方が分かりました。
693(2): 08/11(月)19:26 ID:ppLV33ur(9/10)調 AAS
>>691
オブジェクトブラウザの見方がわからないです
クラスとかメンバーとか分かりません
694: 08/11(月)19:53 ID:ppLV33ur(10/10)調 AAS
dicのアイテムに複数の値を代入したくて、配列をアイテムにするとか、クラスモジュールを配列にするとか、いろいろ考えてきましたが、正しくは
dic.add key rng.rows(i)
dic(key) = Union(dic(key),rng.rows(i))
あとはdic(key).areas(i).rows(j)
695: 08/11(月)20:34 ID:Zix4Kp+v(2/2)調 AAS
>>688
俺は>>673だよ
VBA廃止は取りやめになったと指摘してる側
696: 08/11(月)21:38 ID:Imku5k4X(1)調 AAS
>>693
クラスは箱、メンバーは箱の中身
そこにあるのは設計図だけなんで、使う時は実際に用意しないといけない
その実物がインスタンス
697(1): 08/12(火)00:01 ID:cNlTevHe(1)調 AAS
>>693
そこはある程度覚える必要はある
例えばsheetsとsheetの関係のように
グラフはcharts、chart
グラフの軸は左のクラスでchart選ぶと右のメンバーにaxesが見つかるとか
(イベントやプロパティを示すアイコンも参照)
上記で言うとaxes、axisな関係
英語得意ならわかりやすいと思うけど、オレはバカなんでaxisってバイクあったなとかw
chartの下にはもちろん折れ線や凡例などを設定する項目もあるから、一つずつこれ何だってたどってもいい
わからなければF1でweb helpも出る
辞書をめくりながら眺める感じか
698: 08/12(火)00:10 ID:o8bDpHK2(1)調 AAS
参政党「エクセルなんて知りません。」
699(2): 08/12(火)01:17 ID:9R4wqPsZ(1)調 AAS
昔はヘルプにこういうの載ってたんだけど、Webヘルプになってなくなっちゃったんだよね
https://euc-access-excel-db.com/00000WPhtml/Excel2000-obj-model01.png
700(1): 08/12(火)02:00 ID:jEwPbvyJ(1/2)調 AAS
>>697
クラスとメンバーについて覚えるのはいいんです
そもそもクラスってなに?メンバーってなに?というそこから?な初歩的な話です
インスタンスと聞くと、インスタントコーヒーとかインスタントカメラを思い浮かべるレベルです
701(1): 08/12(火)02:08 ID:DVUg3LsK(1)調 AAS
いつものあれか
消えろや
702: 08/12(火)06:53 ID:jEwPbvyJ(2/2)調 AAS
>>701
いつまで経っても人を馬鹿にする事しかできないクソなんですね
703: 08/12(火)08:22 ID:o3PIjBK2(1)調 AAS
>>700
そういうのはAIに何度も訊いて理解しようとするのが良いよ
704: 08/12(火)12:04 ID:/NBdL66c(1)調 AAS
その人は、深夜丑三つ時に成ると出て来る幽霊だから何を言っても通じない
よっぽどこの世に恨みを持ったまま亡くなられたんだろう
厄介なのはお盆の時期だけじゃなくて一年中ボワ〜ッと現れるところ
もはや妖怪
705: 08/12(火)16:48 ID:lStHVdWr(1)調 AAS
またウスノロが日記を書いているのか
706: 08/12(火)20:28 ID:CDoCkaEH(1)調 AAS
>>699
多すぎて、表示しきれないからじゃないの?
見やすいけど
707: 08/12(火)20:57 ID:22U+X2HZ(1)調 AAS
いや日記を書いているのはハゲマヌケだ
708: 08/13(水)00:23 ID:6jds7SOk(1)調 AAS
>>699
そうそう、これ必須
ACCESSやword等もあるので探して保存お勧め
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s