1 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 20:39:09.64 ID:6HWXzj9o.net] ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part59 https://mevius.5ch.net/test/read.cgi/tech/1549692750/
809 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 08:13:49.91 ID:tWWHyzwg.net] エクセルの画面が右上に飛んで行って、 画面に「どこいくね〜ん!」って表示させるのはどうでしょう?
810 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 08:27:11.00 ID:9HZyCDJw.net] >>779 居るだろ。 君が知らないだけじゃね? パッと10人くらいは思いつく。
811 名前:デフォルトの名無しさん [2019/04/20(土) 09:01:22.69 ID:Khb9Fcy
] [ここ壊れてます]
812 名前:X.net mailto: >>796 例えば誰? [] [ここ壊れてます]
813 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 10:40:51.92 ID:50ElbllH.net] >>797 聞いちゃいけない事ってあるだろ、ニタニタで我慢しろよ
814 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:00:20.54 ID:hWWI2xiJ.net] どうせtwitterのキーワード検索にVBAって入れて出てきたやつとt.tanakaぐらいだろうよ
815 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:38:03.85 ID:9HZyCDJw.net] Office田中さんはその内の1人だね。 あとはA○○○さん、k○○○○○○さん、魔○○○○○○さん、じ○○○○○○さん、熊○○○さん、K○○さん、き○○○さん、s○○○○さん、y○○○○○○さん、Y○○○○○○さんとか。 き○○○さんは今も活躍されてるけど今は見かけなくなった人が多いけどね。 .netの方へ移動された人もいるし。 ここ数年でVBAやりはじめた人じゃ知らないのも無理無いが。
816 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:40:06.78 ID:9HZyCDJw.net] ああ、A○○○さんはA○○○○さんだった。 今はA○○○○○さんかな。
817 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:47:01.11 ID:hWWI2xiJ.net] >>800 T○○○さんもI○○○○さんもいないじゃないか
818 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:49:12.54 ID:lNRl64h3.net] 名前は覚えてないな サイト見たら大体思い出す
819 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:50:13.86 ID:lNRl64h3.net] Office田中はサイトの修正点を送っても反映してくれないのがネック 後続のためにも直してくれ〜
820 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:06:15.09 ID:hWWI2xiJ.net] 解説系とライブラリ提供系に分けられるがそれなりに有用 しかしコミュニティを形成してるかと言うとちょっと
821 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:20:16.39 ID:9HZyCDJw.net] >>802 I○○○○さんは想像つく。 けど、俺がいた所じゃ見かけたことが無い。 そういやtwitterで発言されてるらしいけど、俺VBA関連はtwitter見て無いんでな。 T○○○さんは想像つかないな。 田中さんは有名人だけどあの人のサイトでは教わることは無いな。 基本的に全て知ってることだから。 でも>>800 で挙げた人達は全員俺よりかなりレベルが上だ。
822 名前:デフォルトの名無しさん [2019/04/20(土) 12:22:08.90 ID:n0GthIX7.net] VBAのworksheetfunction.vlookup関数で 該当の値がないときエラーを回避してそこの処理は無視させるにはどんなコードを書けばいいですか? 該当なしだと問答無用でエラーが出て止まってしまう。
823 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:27:26.17 ID:9HZyCDJw.net] >>807 >>423 からの流れを読んでね。
824 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:29:15.35 ID:lNRl64h3.net] >>807 'forなどで回す時はラベル付けて飛ばす Sub foo() On Error GoTo err For i = 1 To 5 bar = WorksheetFunction.VLookup(1, Range("a1"), 1, 0) 'エラーじゃない時の処理 err: '共通の処理。無ければ何も書かない Next End Sub '使い捨てプログラムならonerrorで囲んでしまうという手もあるが、あまりオススメできない Sub foo() On Error Resume Next 'エラーを無視 bar = WorksheetFunction.VLookup(1, Range("a1"), 1, 0) On Error GoTo 0 '無視を無効化 End Sub
825 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:43:34.58 ID:50ElbllH.net] >>809 お前ね何度書けば・・・ Sub foo() On Error GoTo err For i = 1 To 5 bar = WorksheetFunction.VLookup(1, Range("a1"), 1, 0) 'エラーじゃない時の処理 goto 共通 err: ERR時の処理 共通: '共通の処理。無ければ何も書かない Next End Sub
826 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 13:02:36.97 ID:lNRl64h3.net] >>810 ちゅまん
827 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 13:23:10.42 ID:50ElbllH.net] >>811 てか、WorksheetFunction.VLookup(1, Range("a1"), 1, 0) 見過ごしたけど、これ何?
828 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 14:04:44.42 ID:lNRl64h3.net] >>812 引数を適当に入れただけ
829 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 14:36:59.58 ID:tWWHyzwg.net] >>807 Trueならエラー起きないんじゃない?
830 名前:807 [2019/04/20(土) 15:39:14.34 ID:J0kjNxAu.net] on errorはセンスがないように感じるのですが。 わたしのセンスがon errorを使うことを許しません。 どうしたらいいですか? こんなとき定番のような方法はないですか?
831 名前:デフォルトの名無しさん [2019/04/20(土) 15:49:30.44 ID:Khb9FcyX.net] on errorで問題ないならそれで
832 名前:良いじゃん そんな瑣末な事に時間を使わずにもっと生産性のある事に時間を使って組織や社会に貢献して下さい [] [ここ壊れてます]
833 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 15:56:13.97 ID:9HZyCDJw.net] On Errorを使うのがセンス無い? 何処の初心者だ? 想定された動作なのに一緒くたにするのが嫌というならOn Errorの使い方を知らないだけだろ。
834 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 15:56:41.52 ID:tgvbScEy.net] >>815 センスとか気になるならVBAに関わるのは止めた方が良いよ
835 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 15:58:32.36 ID:tgvbScEy.net] >>815 ID:9HZyCDJwのキチガイが起こってるぞw
836 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 16:10:16.59 ID:9HZyCDJw.net] >>819 センスの無いお前には言われたくね―なw
837 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 16:44:47.04 ID:lNRl64h3.net] vbaにtrycatchが無い以上、onerrorで分岐するしかない ただ今回に限って言えば、ワークシートにvlookup()を入れてその結果で分岐させることは可能
838 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 17:45:57.42 ID:V7SrR6WW.net] こんな方法もある Range("Z1") = WorksheetFunction.VLookup( 略 ) 結果をどこか空いてるセルに入れてしまえば、エラーでも止まらずに結果を判定することができる もうひとつ、試したことはないけど WorksheetFunction.Iferror( WorksheetFunction.Vlookup ( 略 みたいな方法でもエラーで停止するのを回避できそうな気がするけど、Vlookupで止まるかなあ
839 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 17:53:15.47 ID:V7SrR6WW.net] >>822 間違えた こうだった Range("Z1") = Application.VLookup( 略 )
840 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 17:58:05.16 ID:yRp1LpZz.net] ちゃんとエラー番号調べて処理すりゃ良いだろ
841 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 18:00:15.98 ID:KuIF036/.net] >>823 なんでセル 変数でいいじゃん
842 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 19:12:25.83 ID:tWWHyzwg.net] じゃあLeft Outer Joinで。
843 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 19:43:05.64 ID:qwsd80fG.net] >>807 ・VlookupじゃなくてFindを使う ・事前にcountifとかエラー値が返らないもので存在確認してから使う ・worksheetfunctionの代わりにApplication.VLookupを使うと見つからなかった場合N/Aが返るが、旧バージョンの命令だからあまりおすすめしない
844 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 10:03:39.80 ID:fPscZosh.net] 質問者は、もっと具体的に書くべきだな、対応方法は多種多様にあるから 質問に対するベストな回答が、質問者の意図するベストの回答とは限らん
845 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 15:50:42.83 ID:4kO5c1T5.net] もうね、On Error Resume Nextが嫌とか、宗教だと思うんですよ。
846 名前:デフォルトの名無しさん [2019/04/21(日) 15:59:22.44 ID:IGJB+uLA.net] んて訳の分からん面倒なコードを書くとかキチってるよね
847 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 16:03:59.70 ID:h3OWzsvU.net] >>829 でも配列の次元すらOn Error 使わないと求められないってひどくないですか?
848 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 16:50:25.73 ID:7jtZEDKn.net] >>831 何も分かってないんだから大人しく使いなよ
849 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:30:52.05 ID:fXlSQHRa.net] >>832 ほう、じゃやり方を教えてくれよ
850 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:35:25.49 ID:7jtZEDKn.net] >>833 ? だから文句言わずにonerrorを使えば良いだけなんだが
851 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:37:30.55 ID:VJZKP3mE.net] >>831 お前の言ってることは結局、コ−ド書かないと動かないって酷くないですかってのと同じ。
852 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:51:22.14 ID:fXlSQHRa.net] >>834 アスペか? 配列の次元を取得するのにOn Errorを使うなどという事自体は酷い。これは事実だ。 それに対して「何も分かってない」とdisる以上、On Errorを使わない真っ当な方法があると解釈するのが当然のこと。
853 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:06:20.94 ID:jEVddS48.net] そこじゃないよ vbaの酷い点はtrycatchが無い事
854 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:15:35.13 ID:VJZKP3mE.net] >>836 酷い?なぜ? と言ってるんだろう。
855 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:15:57.22 ID:hbj2KyMO.net] 客見ずにマウント取り合いってツルッパゲのする事 産毛すら無い
856 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:16:48.81 ID:blm05+38.net] >>835 流石にそれはないわ VB.NETやC#は普通にプロパティあるし
857 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:17:02.42 ID:VJZKP3mE.net] >>837 書き方の問題じゃね? 実質同じことが出来るんじゃないの?
858 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:19:22.95 ID:VJZKP3mE.net] >>840 それはVBAに無いものをあげつらっているだけ。 VB.netやC#に無いものをあげつらうことも出来るだろ。 そもそも何が酷いのかサッパリ分からん。
859 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:26:29.16 ID:fXlSQHRa.net] On Error とか例外機構っていうのは、メモリ不足とかファイルの不在なんかのソフトウェア的には想定しづらい 例外的な事象に使うものなんだよ。 例えば「関数引数に対する事前条件がもし守られていなかったら」なんていう ソフトウェア的に想定できるような事には例外を使うのべきじゃない。 ましてや配列の次元の取得なんてことに使うのは「ひどい」としか言いようがない。 それはセンスとかの問題じゃなくて常識だと思うよ。
860 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:33:13.89 ID:VJZKP3mE.net] >>843 で? 何が酷いの?
861 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:33:17.05 ID:uW2zy1zl.net] >>842 > そもそも何が酷いのかサッパリ分からん。 まじで言ってるの?
862 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:35:05.76 ID:KjSHT9nF.net] もともと有る機能を組み合わせて 目的の動作をするように作るしかない
863 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:42:35.76 ID:vxMMLTMP.net] >>845 そういう返しじゃなくて、教えてやれば
864 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:47:06.02 ID:VJZKP3mE.net] 例えば昔仕事で扱ったWin32APIのGetPrinterでは取得するPinterInfo2構造体のサイズを0にして渡して敢えて失敗させることによって正しい構造体のサイズを取得するなんてのがある。 再度正しいサイズで実行するやり方が想定されていて、そして失敗時はdllエラーも当然発生するなんてのが有るわけなんだが。 確かDevmode構造体を取得するする時に使うDocumentPropertiesも同じような使い方してたと思う。
865 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:48:35.29 ID:VJZKP3mE.net] >>845 結局取得できる。 何も問題無い。 お前のオナニー以外は。
866 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:48:56.55 ID:fXlSQHRa.net] >>844 まず次元の取得方が標準で用意されていない点が少しひどい。 さらにそのワークアラウンドがOn Error利用である点が一層酷い。 わかる? これでキミもバッチリだ。
867 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:50:13.13 ID:VJZKP3mE.net] >>847 >>832 じゃねーから何も考えておらん。
868 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:51:26.42 ID:VJZKP3mE.net] >>850 だからそれは無いものをあげつらっているだけ。 どんな言語にもあることだ。
869 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:11:57.22 ID:jEVddS48.net] >>841 実質同じ事って言い出すと何でもアリになってしまう onerrorしかないと可読性が大きく下がる ところでEXCELで次元数を取得する機会って一度も無いんだけど、 よく使う計算なのか
870 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:15:35.07 ID:sGJaU8ZR.net] >>853 可読性が下がる??? 書き方が悪いんじゃ無いの? そんなこと感じたことも無い。
871 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:17:57.47 ID:sGJaU8ZR.net] >>853 多分、配列を初期化したかしてないかの話じゃないかと思うね。 UBoundでエラーが出る話だろう。 で、Sgnが嫌なんだろう。
872 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:35:22.79 ID:uW2zy1zl.net] >>848 それはちゃんとドキュメント化されてるだろ On Errorで次元を取得するのとはレベルが違うよ 動けばいいと言うレベルのコーダーならいいのかも知れないけど
873 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:54:31.81 ID:sGJaU8ZR.net] >>856 何言ってるの? On Errorしかないのが正式なら同じだし、 On Error以外に正式なものがあれば問題ないし、 同じことじゃねーかw しかも後出ジャンケンかよw 結局言い掛かりもいいところだ。
874 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:04:00.06 ID:fXlSQHRa.net] On Error 以外に配列の次元取得方法がないと決まった訳じゃなくて、よく知られてる方法がOn Error利用だってだけだが、 割り切ってAPIを呼んでいる人もいる。
875 名前:デフォルトの名無しさん [2019/04/21(日) 20:08:00.46 ID:x8017e7/.net] >>749 え、お前の会社って稟議書や経費精算の業務って全部署共通じゃないの? その会社固有の業務だけど、部署間で使い回しの効く部分のことを言ってるんでしょ?
876 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:13:12.66 ID:xKbBXXRb.net] >>843 とりあえず構造化例外処理すらない時代の言語にいってもしょうがない話 常識は時代で変わるんだよ 結局はVBAは古い時代の言語ってだけ あと、配列の次元が知りたいとか設計が悪いとしか思えん
877 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:17:21.38 ID:uW2zy1zl.net] >>857 はあ? 正式な方法がないって話だぞ 日本語理解できてないの?w
878 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:28:15.67 ID:uW2zy1zl.net] >>860 > あと、配列の次元が知りたいとか設計が悪いとしか思えん 君には不要というだけの話 他の言語では普通に多次元配列用のライブラリとかある
879 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:32:45.02 ID:f/u4okxX.net] 次元数をライブラリに渡せばいいじゃん
880 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:03:13.26 ID:fXlSQHRa.net] >>863 それさ... 平気で言うやつがいるけどさ... ありえなくない?
881 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:04:52.40 ID:uW2zy1zl.net] >>863 そうだよ 面倒かつバグの元だけどね
882 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:27:51.81 ID:4kO5c1T5.net] じゃあどうしてもOn Errorが嫌だとして、 他の方法が幾つか出てるんだから、それ試しなよ。
883 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:47:12.89 ID:jEVddS48.net] trycatheなら関数に封じ込める事ができるけど、 onerrrorはグローバルだから全体に影響してしまうのが最高に糞なんだ 正直、グローバルじゃなければ別にonerrorだろうとなんだろうと構わんのだよ
884 名前:デフォルトの名無しさん [2019/04/21(日) 22:30:28.20 ID:lDsGwf3y.net] on errror が糞とかどうとかお前の趣味に合わせて出来てる訳じゃ無いんだよアホウ
885 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:32:03.89 ID:fXlSQHRa.net] >>866 君の言う通りだ 反発を受けてるのは「文句言わずにonerror使え」とか言い出した奴ですよ ただ次元数をライブラリに渡せっていうのはナシだ
886 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:38:29.04 ID:obRIwOLX.net] うまく作れない奴が他人のせいにしたところで問題は解決しないのにな
887 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:57:54.67 ID:sGJaU8ZR.net] >>861 大いなる自己矛盾の中にいることに気付かないとはね。 論理的思考能力が無いならプログラムを組むのなんか辞めることだな。
888 名前:デフォルトの名無しさん [2019/04/21(日) 23:18:19.59 ID:FIa/C0XL.net] ついに公務員の副業が解禁される時代が到来した https://hybridstyle.net/side-job065/ フリーランス市場規模が20兆円を突破 -副業は8兆円- https://hybridstyle.net/work-style020/ 時代は週休3日制へ【週休3日制導入企業まとめ】 https://hybridstyle.net/work-style016/ 会社員の副業が急増、副業フリーランス4年で3倍、経済規模は約8兆円??副業収入は平均74万円 https://www.businessinsider.jp/post-165077#cxrecs_s 本業のストレス解消、副業で月70万、転職のお試し…会社に内緒で副業する人たちの本音 https://www.businessinsider.jp/post-176835#cxrecs_s どんな仕事でいくら稼いでいる? 副業をしている13人に聞いたそのリアル https://www.businessinsider.jp/post-180772#cxrecs_s 会社が個人を縛り付ける時代は終わった。これからは、個人が仕事を求めて、チャンネルのように会社を切り替えていく。 https://www.wantedly.com/companies/newpeace/post_articles/65530 誰も教えてくれなかった「フリーランスは厳しい」ではなく「甘い」という真実。 https://www.wantedly.com/companies/newpeace/post_articles/54124 【特集】年収1000万円以上「フリーランスの流儀」vol.2 https://tabi-labo.com/286733/journey-six-figure-freelance-nathan 「排出物ゼロ、廃棄物ゼロ、貧困ゼロ」究極のエコ・リゾートがフィリピンに https://tabi-labo.com/284193/nautilus-eco-resort 仕事は9割外注すれば売り上げが爆増する https://headlines.yahoo.co.jp/article?a=20190416-00028392-president-bus_all
889 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 04:52:26.38 ID:PMsDbBhF.net] >>871 何を言いたいのさっぱりかわからんw 低能が反論できずに有耶無耶にしたいときによくやる方法だな
890 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 08:27:33.91 ID:5Mb1x8/S.net] >>867 on local error … って書くだけじゃん。アホか。
891 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 08:55:19.16 ID:aI1C8h9/.net] >>867 ,.874 onlocalerrorってなんだ、初めて聞いたわ そもそもon errorはグローバルじゃないぞ Sub foo() Call bar a = 1 / 0 'ここでエラーになる End Sub Sub bar() On Error Resume Next a = 1 / 0 'エラーにならない End Sub
892 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 09:24:57.57 ID:J7q/uljF.net] >>873 やっぱり分からんかw お前はドキュメント化されていれば正式だと言ってる。 しかしそれは結局MSの判断ということだ。 お前はOn Errorが正式では無いという回答そ貰ったのか? そうでなければお前の「正式な方法がないって話だぞ」というのはお前の決め付けだ。 結局お前の中には矛盾した2通りの正式が存在することになる。
893 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 11:15:47.81 ID:5Mb1x8/S.net] local付けると局所だと思ってたけど、配下に有効みたい。 つまり、付けても動作に変わりはない(?、詳細は試してない)
894 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 11:20:03.08 ID:5Mb1x8/S.net] 昔試したときに、local有無で動作違ってたはずなんだけどな… まあ、配下に有効だから、goto 0で無効にしてから callすれば局所化は可能かと
895 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 11:24:44.90 ID:aI1C8h9/.net] >>877 呼び出し先で親要素のon erroの状態が有効なのはもともとなので、使ってもあまり意味は無い気がする on local もう廃止されたっぽい?MSDNにも無い https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/on-error-statement#see-also 互換性のためにあるってブログ記事見つけたけど、かなり古い https://www.papy.in/bbs/vb2/200401/04010015.html なんやろね
896 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:01:35.50 ID:16RvV/Xe.net] 俺も On error Goto でtry Catchと同程度のことができると思ってた 要するに書き方かなと思ったが1回目のエラーはいいがそれ以降が使えないじゃん? ネストするにも無理があるな、複数の場所(例えば2重ループで)でのやり方があるかもしれんが 無理じゃない? 俺は「On error Goto」で出来ると思ってた、やり方があれば申し訳ないが教えてほしい
897 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:11:57.97 ID:iJf9Bl/o.net] エクセルで、複数ブックの特定文字列だけ一気に変えるマクロってどこかで紹介されてますか? 例えば2018年4月21
898 名前:ィ2019年4月23日に変える感じです 日付が入力されているセルがそれぞれのブックでバラバラなので、セル指定置換はできないようです [] [ここ壊れてます]
899 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:22:36.94 ID:CZHT0AcU.net] >>876 よほど多用されてるとかでない限りいちいち〇〇は正式じゃないなんて言う回答なんてするわけ無いだろ レスが馬鹿すぎるw
900 名前:880 mailto:sage [2019/04/22(月) 12:24:36.91 ID:16RvV/Xe.net] 例えば Private Sub CommandButton1_Click() Dim ShNM For i = 1 To 6 Sheets(1).Activate ShNM = Range("A" & i).Value On Error Resume Next Sheets(ShNM).Activate GoTo Kyoutuu Nosheet: Kyoutuu: Next i End Sub この式は最初のシートを「Z」としそのA列の行1〜6に例えば「A」〜「F」まで書いて シートを「Z」以外にシート名を「A」〜「F」までの内3つしか作ってないと、「.Activate」で2回エラーになるが1回目は意図した動作だが 2回目のエラーでメッセージボックスが出る 回避方法を教えてほしい
901 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:30:37.21 ID:16RvV/Xe.net] 赤っ恥 On Error Resume Next はこれなら大丈夫だが On Error GoTo Nosheet はNGって話です でもそれじゃあ書いてる意味がないので 結局 On Error Resume Next で次を考えるなかななの、一番使いたくないんだが
902 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:39:43.58 ID:aI1C8h9/.net] On Errorは全体に作用しすぎるから、isError的な感じでfunction分けた方が良いんじゃないか
903 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 14:10:46.51 ID:5Mb1x8/S.net] >>884 onerrorgotoをメインの処理の流れ制御には使わない方がいいと思う。 On Error Resume Nextは、次行にエラーがあると想定されるときに使い、If Err.Numberで判定して、その値によって処理を変える。 On Error GoTo は、どちらかというと、一つの処理(subやfunct…)の頭で宣言し、想定外のエラーを検知してエラーを出すのに使う。
904 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 15:22:43.51 ID:16RvV/Xe.net] >>886 ありがとう、他の言語も使ってるから勘違いしていた 対応することはもちろんできるし、Excelの環境を利用しながらの プログラムは有効なので、仕方ないのであれば考えるは 考えてなかったのが、お恥ずかしい
905 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 15:50:34.25 ID:NGsjV6Cl.net] なんかアプデ来てからwebクエリのバグが起こって実行エラー 1004で読み込めないんだけど 俺だけ?
906 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:12:16.31 ID:V9RXP3az.net] >>888 エラーの意味ぐらい調べて書くよな
907 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:30:51.55 ID:NGsjV6Cl.net] >>889 「Webクエリによって返されるデータがありません」とか言われるけど 読み込み先のWebページみても仕様の変更とかURLの変更とか見られないし明らかにExcelアプデが原因っぽいんよなー
908 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 19:03:03.55 ID:V9RXP3az.net] >>890 もう一度、クエーリーを作成してもダメ?
909 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:01:03.78 ID:L+SCE9UU.net] >>881 どこで紹介されてるかは知らないが、1ファイルずつ中身検索して変更すればいい