ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part59
https://mevius.5ch.net/test/read.cgi/tech/1549692750/
Excel VBA 質問スレ Part60
レス数が900を超えています。1000を超えると表示できなくなるよ。
2019/03/16(土) 20:39:09.64ID:6HWXzj9o
801デフォルトの名無しさん
2019/04/20(土) 11:40:06.78ID:9HZyCDJw ああ、A○○○さんはA○○○○さんだった。
今はA○○○○○さんかな。
今はA○○○○○さんかな。
802デフォルトの名無しさん
2019/04/20(土) 11:47:01.11ID:hWWI2xiJ >>800
T○○○さんもI○○○○さんもいないじゃないか
T○○○さんもI○○○○さんもいないじゃないか
803デフォルトの名無しさん
2019/04/20(土) 11:49:12.54ID:lNRl64h3 名前は覚えてないな
サイト見たら大体思い出す
サイト見たら大体思い出す
804デフォルトの名無しさん
2019/04/20(土) 11:50:13.86ID:lNRl64h3 Office田中はサイトの修正点を送っても反映してくれないのがネック
後続のためにも直してくれ〜
後続のためにも直してくれ〜
805デフォルトの名無しさん
2019/04/20(土) 12:06:15.09ID:hWWI2xiJ 解説系とライブラリ提供系に分けられるがそれなりに有用
しかしコミュニティを形成してるかと言うとちょっと
しかしコミュニティを形成してるかと言うとちょっと
806デフォルトの名無しさん
2019/04/20(土) 12:20:16.39ID:9HZyCDJw807デフォルトの名無しさん
2019/04/20(土) 12:22:08.90ID:n0GthIX7 VBAのworksheetfunction.vlookup関数で
該当の値がないときエラーを回避してそこの処理は無視させるにはどんなコードを書けばいいですか?
該当なしだと問答無用でエラーが出て止まってしまう。
該当の値がないときエラーを回避してそこの処理は無視させるにはどんなコードを書けばいいですか?
該当なしだと問答無用でエラーが出て止まってしまう。
808デフォルトの名無しさん
2019/04/20(土) 12:27:26.17ID:9HZyCDJw809デフォルトの名無しさん
2019/04/20(土) 12:29:15.35ID:lNRl64h3 >>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
'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
810デフォルトの名無しさん
2019/04/20(土) 12:43:34.58ID:50ElbllH >>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
お前ね何度書けば・・・
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
811デフォルトの名無しさん
2019/04/20(土) 13:02:36.97ID:lNRl64h3 >>810
ちゅまん
ちゅまん
812デフォルトの名無しさん
2019/04/20(土) 13:23:10.42ID:50ElbllH813デフォルトの名無しさん
2019/04/20(土) 14:04:44.42ID:lNRl64h3 >>812
引数を適当に入れただけ
引数を適当に入れただけ
814デフォルトの名無しさん
2019/04/20(土) 14:36:59.58ID:tWWHyzwg >>807
Trueならエラー起きないんじゃない?
Trueならエラー起きないんじゃない?
815807
2019/04/20(土) 15:39:14.34ID:J0kjNxAu on errorはセンスがないように感じるのですが。
わたしのセンスがon errorを使うことを許しません。
どうしたらいいですか?
こんなとき定番のような方法はないですか?
わたしのセンスがon errorを使うことを許しません。
どうしたらいいですか?
こんなとき定番のような方法はないですか?
816デフォルトの名無しさん
2019/04/20(土) 15:49:30.44ID:Khb9FcyX on errorで問題ないならそれで良いじゃん
そんな瑣末な事に時間を使わずにもっと生産性のある事に時間を使って組織や社会に貢献して下さい
そんな瑣末な事に時間を使わずにもっと生産性のある事に時間を使って組織や社会に貢献して下さい
817デフォルトの名無しさん
2019/04/20(土) 15:56:13.97ID:9HZyCDJw On Errorを使うのがセンス無い?
何処の初心者だ?
想定された動作なのに一緒くたにするのが嫌というならOn Errorの使い方を知らないだけだろ。
何処の初心者だ?
想定された動作なのに一緒くたにするのが嫌というならOn Errorの使い方を知らないだけだろ。
818デフォルトの名無しさん
2019/04/20(土) 15:56:41.52ID:tgvbScEy >>815
センスとか気になるならVBAに関わるのは止めた方が良いよ
センスとか気になるならVBAに関わるのは止めた方が良いよ
819デフォルトの名無しさん
2019/04/20(土) 15:58:32.36ID:tgvbScEy >>815
ID:9HZyCDJwのキチガイが起こってるぞw
ID:9HZyCDJwのキチガイが起こってるぞw
820デフォルトの名無しさん
2019/04/20(土) 16:10:16.59ID:9HZyCDJw >>819
センスの無いお前には言われたくね―なw
センスの無いお前には言われたくね―なw
821デフォルトの名無しさん
2019/04/20(土) 16:44:47.04ID:lNRl64h3 vbaにtrycatchが無い以上、onerrorで分岐するしかない
ただ今回に限って言えば、ワークシートにvlookup()を入れてその結果で分岐させることは可能
ただ今回に限って言えば、ワークシートにvlookup()を入れてその結果で分岐させることは可能
822デフォルトの名無しさん
2019/04/20(土) 17:45:57.42ID:V7SrR6WW こんな方法もある
Range("Z1") = WorksheetFunction.VLookup( 略 )
結果をどこか空いてるセルに入れてしまえば、エラーでも止まらずに結果を判定することができる
もうひとつ、試したことはないけど
WorksheetFunction.Iferror( WorksheetFunction.Vlookup ( 略
みたいな方法でもエラーで停止するのを回避できそうな気がするけど、Vlookupで止まるかなあ
Range("Z1") = WorksheetFunction.VLookup( 略 )
結果をどこか空いてるセルに入れてしまえば、エラーでも止まらずに結果を判定することができる
もうひとつ、試したことはないけど
WorksheetFunction.Iferror( WorksheetFunction.Vlookup ( 略
みたいな方法でもエラーで停止するのを回避できそうな気がするけど、Vlookupで止まるかなあ
823デフォルトの名無しさん
2019/04/20(土) 17:53:15.47ID:V7SrR6WW824デフォルトの名無しさん
2019/04/20(土) 17:58:05.16ID:yRp1LpZz ちゃんとエラー番号調べて処理すりゃ良いだろ
825デフォルトの名無しさん
2019/04/20(土) 18:00:15.98ID:KuIF036/826デフォルトの名無しさん
2019/04/20(土) 19:12:25.83ID:tWWHyzwg じゃあLeft Outer Joinで。
827デフォルトの名無しさん
2019/04/20(土) 19:43:05.64ID:qwsd80fG >>807
・VlookupじゃなくてFindを使う
・事前にcountifとかエラー値が返らないもので存在確認してから使う
・worksheetfunctionの代わりにApplication.VLookupを使うと見つからなかった場合N/Aが返るが、旧バージョンの命令だからあまりおすすめしない
・VlookupじゃなくてFindを使う
・事前にcountifとかエラー値が返らないもので存在確認してから使う
・worksheetfunctionの代わりにApplication.VLookupを使うと見つからなかった場合N/Aが返るが、旧バージョンの命令だからあまりおすすめしない
828デフォルトの名無しさん
2019/04/21(日) 10:03:39.80ID:fPscZosh 質問者は、もっと具体的に書くべきだな、対応方法は多種多様にあるから
質問に対するベストな回答が、質問者の意図するベストの回答とは限らん
質問に対するベストな回答が、質問者の意図するベストの回答とは限らん
829デフォルトの名無しさん
2019/04/21(日) 15:50:42.83ID:4kO5c1T5 もうね、On Error Resume Nextが嫌とか、宗教だと思うんですよ。
830デフォルトの名無しさん
2019/04/21(日) 15:59:22.44ID:IGJB+uLA んて訳の分からん面倒なコードを書くとかキチってるよね
831デフォルトの名無しさん
2019/04/21(日) 16:03:59.70ID:h3OWzsvU >>829
でも配列の次元すらOn Error 使わないと求められないってひどくないですか?
でも配列の次元すらOn Error 使わないと求められないってひどくないですか?
832デフォルトの名無しさん
2019/04/21(日) 16:50:25.73ID:7jtZEDKn >>831
何も分かってないんだから大人しく使いなよ
何も分かってないんだから大人しく使いなよ
833デフォルトの名無しさん
2019/04/21(日) 17:30:52.05ID:fXlSQHRa >>832
ほう、じゃやり方を教えてくれよ
ほう、じゃやり方を教えてくれよ
834デフォルトの名無しさん
2019/04/21(日) 17:35:25.49ID:7jtZEDKn835デフォルトの名無しさん
2019/04/21(日) 17:37:30.55ID:VJZKP3mE >>831
お前の言ってることは結局、コ−ド書かないと動かないって酷くないですかってのと同じ。
お前の言ってることは結局、コ−ド書かないと動かないって酷くないですかってのと同じ。
836デフォルトの名無しさん
2019/04/21(日) 17:51:22.14ID:fXlSQHRa >>834
アスペか?
配列の次元を取得するのにOn Errorを使うなどという事自体は酷い。これは事実だ。
それに対して「何も分かってない」とdisる以上、On Errorを使わない真っ当な方法があると解釈するのが当然のこと。
アスペか?
配列の次元を取得するのにOn Errorを使うなどという事自体は酷い。これは事実だ。
それに対して「何も分かってない」とdisる以上、On Errorを使わない真っ当な方法があると解釈するのが当然のこと。
837デフォルトの名無しさん
2019/04/21(日) 18:06:20.94ID:jEVddS48 そこじゃないよ
vbaの酷い点はtrycatchが無い事
vbaの酷い点はtrycatchが無い事
838デフォルトの名無しさん
2019/04/21(日) 18:15:35.13ID:VJZKP3mE839デフォルトの名無しさん
2019/04/21(日) 18:15:57.22ID:hbj2KyMO 客見ずにマウント取り合いってツルッパゲのする事 産毛すら無い
840デフォルトの名無しさん
2019/04/21(日) 18:16:48.81ID:blm05+38841デフォルトの名無しさん
2019/04/21(日) 18:17:02.42ID:VJZKP3mE842デフォルトの名無しさん
2019/04/21(日) 18:19:22.95ID:VJZKP3mE843デフォルトの名無しさん
2019/04/21(日) 18:26:29.16ID:fXlSQHRa On Error とか例外機構っていうのは、メモリ不足とかファイルの不在なんかのソフトウェア的には想定しづらい
例外的な事象に使うものなんだよ。
例えば「関数引数に対する事前条件がもし守られていなかったら」なんていう
ソフトウェア的に想定できるような事には例外を使うのべきじゃない。
ましてや配列の次元の取得なんてことに使うのは「ひどい」としか言いようがない。
それはセンスとかの問題じゃなくて常識だと思うよ。
例外的な事象に使うものなんだよ。
例えば「関数引数に対する事前条件がもし守られていなかったら」なんていう
ソフトウェア的に想定できるような事には例外を使うのべきじゃない。
ましてや配列の次元の取得なんてことに使うのは「ひどい」としか言いようがない。
それはセンスとかの問題じゃなくて常識だと思うよ。
844デフォルトの名無しさん
2019/04/21(日) 18:33:13.89ID:VJZKP3mE845デフォルトの名無しさん
2019/04/21(日) 18:33:17.05ID:uW2zy1zl846デフォルトの名無しさん
2019/04/21(日) 18:35:05.76ID:KjSHT9nF もともと有る機能を組み合わせて
目的の動作をするように作るしかない
目的の動作をするように作るしかない
847デフォルトの名無しさん
2019/04/21(日) 18:42:35.76ID:vxMMLTMP >>845
そういう返しじゃなくて、教えてやれば
そういう返しじゃなくて、教えてやれば
848デフォルトの名無しさん
2019/04/21(日) 18:47:06.02ID:VJZKP3mE 例えば昔仕事で扱ったWin32APIのGetPrinterでは取得するPinterInfo2構造体のサイズを0にして渡して敢えて失敗させることによって正しい構造体のサイズを取得するなんてのがある。
再度正しいサイズで実行するやり方が想定されていて、そして失敗時はdllエラーも当然発生するなんてのが有るわけなんだが。
確かDevmode構造体を取得するする時に使うDocumentPropertiesも同じような使い方してたと思う。
再度正しいサイズで実行するやり方が想定されていて、そして失敗時はdllエラーも当然発生するなんてのが有るわけなんだが。
確かDevmode構造体を取得するする時に使うDocumentPropertiesも同じような使い方してたと思う。
849デフォルトの名無しさん
2019/04/21(日) 18:48:35.29ID:VJZKP3mE850デフォルトの名無しさん
2019/04/21(日) 18:48:56.55ID:fXlSQHRa851デフォルトの名無しさん
2019/04/21(日) 18:50:13.13ID:VJZKP3mE852デフォルトの名無しさん
2019/04/21(日) 18:51:26.42ID:VJZKP3mE853デフォルトの名無しさん
2019/04/21(日) 19:11:57.22ID:jEVddS48854デフォルトの名無しさん
2019/04/21(日) 19:15:35.07ID:sGJaU8ZR855デフォルトの名無しさん
2019/04/21(日) 19:17:57.47ID:sGJaU8ZR856デフォルトの名無しさん
2019/04/21(日) 19:35:22.79ID:uW2zy1zl857デフォルトの名無しさん
2019/04/21(日) 19:54:31.81ID:sGJaU8ZR >>856
何言ってるの?
On Errorしかないのが正式なら同じだし、
On Error以外に正式なものがあれば問題ないし、
同じことじゃねーかw
しかも後出ジャンケンかよw
結局言い掛かりもいいところだ。
何言ってるの?
On Errorしかないのが正式なら同じだし、
On Error以外に正式なものがあれば問題ないし、
同じことじゃねーかw
しかも後出ジャンケンかよw
結局言い掛かりもいいところだ。
858デフォルトの名無しさん
2019/04/21(日) 20:04:00.06ID:fXlSQHRa On Error 以外に配列の次元取得方法がないと決まった訳じゃなくて、よく知られてる方法がOn Error利用だってだけだが、
割り切ってAPIを呼んでいる人もいる。
割り切ってAPIを呼んでいる人もいる。
859デフォルトの名無しさん
2019/04/21(日) 20:08:00.46ID:x8017e7/860デフォルトの名無しさん
2019/04/21(日) 20:13:12.66ID:xKbBXXRb861デフォルトの名無しさん
2019/04/21(日) 20:17:21.38ID:uW2zy1zl862デフォルトの名無しさん
2019/04/21(日) 20:28:15.67ID:uW2zy1zl863デフォルトの名無しさん
2019/04/21(日) 20:32:45.02ID:f/u4okxX 次元数をライブラリに渡せばいいじゃん
864デフォルトの名無しさん
2019/04/21(日) 21:03:13.26ID:fXlSQHRa865デフォルトの名無しさん
2019/04/21(日) 21:04:52.40ID:uW2zy1zl866デフォルトの名無しさん
2019/04/21(日) 21:27:51.81ID:4kO5c1T5 じゃあどうしてもOn Errorが嫌だとして、
他の方法が幾つか出てるんだから、それ試しなよ。
他の方法が幾つか出てるんだから、それ試しなよ。
867デフォルトの名無しさん
2019/04/21(日) 21:47:12.89ID:jEVddS48 trycatheなら関数に封じ込める事ができるけど、
onerrrorはグローバルだから全体に影響してしまうのが最高に糞なんだ
正直、グローバルじゃなければ別にonerrorだろうとなんだろうと構わんのだよ
onerrrorはグローバルだから全体に影響してしまうのが最高に糞なんだ
正直、グローバルじゃなければ別にonerrorだろうとなんだろうと構わんのだよ
868デフォルトの名無しさん
2019/04/21(日) 22:30:28.20ID:lDsGwf3y on errror が糞とかどうとかお前の趣味に合わせて出来てる訳じゃ無いんだよアホウ
869デフォルトの名無しさん
2019/04/21(日) 22:32:03.89ID:fXlSQHRa870デフォルトの名無しさん
2019/04/21(日) 22:38:29.04ID:obRIwOLX うまく作れない奴が他人のせいにしたところで問題は解決しないのにな
871デフォルトの名無しさん
2019/04/21(日) 22:57:54.67ID:sGJaU8ZR872デフォルトの名無しさん
2019/04/21(日) 23:18:19.59ID:FIa/C0XL ついに公務員の副業が解禁される時代が到来した
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
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
873デフォルトの名無しさん
2019/04/22(月) 04:52:26.38ID:PMsDbBhF874デフォルトの名無しさん
2019/04/22(月) 08:27:33.91ID:5Mb1x8/S875デフォルトの名無しさん
2019/04/22(月) 08:55:19.16ID:aI1C8h9/ >>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
onlocalerrorってなんだ、初めて聞いたわ
そもそもon errorはグローバルじゃないぞ
Sub foo()
Call bar
a = 1 / 0 'ここでエラーになる
End Sub
Sub bar()
On Error Resume Next
a = 1 / 0 'エラーにならない
End Sub
876デフォルトの名無しさん
2019/04/22(月) 09:24:57.57ID:J7q/uljF >>873
やっぱり分からんかw
お前はドキュメント化されていれば正式だと言ってる。
しかしそれは結局MSの判断ということだ。
お前はOn Errorが正式では無いという回答そ貰ったのか?
そうでなければお前の「正式な方法がないって話だぞ」というのはお前の決め付けだ。
結局お前の中には矛盾した2通りの正式が存在することになる。
やっぱり分からんかw
お前はドキュメント化されていれば正式だと言ってる。
しかしそれは結局MSの判断ということだ。
お前はOn Errorが正式では無いという回答そ貰ったのか?
そうでなければお前の「正式な方法がないって話だぞ」というのはお前の決め付けだ。
結局お前の中には矛盾した2通りの正式が存在することになる。
877デフォルトの名無しさん
2019/04/22(月) 11:15:47.81ID:5Mb1x8/S local付けると局所だと思ってたけど、配下に有効みたい。
つまり、付けても動作に変わりはない(?、詳細は試してない)
つまり、付けても動作に変わりはない(?、詳細は試してない)
878デフォルトの名無しさん
2019/04/22(月) 11:20:03.08ID:5Mb1x8/S 昔試したときに、local有無で動作違ってたはずなんだけどな…
まあ、配下に有効だから、goto 0で無効にしてから callすれば局所化は可能かと
まあ、配下に有効だから、goto 0で無効にしてから callすれば局所化は可能かと
879デフォルトの名無しさん
2019/04/22(月) 11:24:44.90ID:aI1C8h9/ >>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
なんやろね
呼び出し先で親要素の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
なんやろね
880デフォルトの名無しさん
2019/04/22(月) 12:01:35.50ID:16RvV/Xe 俺も On error Goto でtry Catchと同程度のことができると思ってた
要するに書き方かなと思ったが1回目のエラーはいいがそれ以降が使えないじゃん?
ネストするにも無理があるな、複数の場所(例えば2重ループで)でのやり方があるかもしれんが
無理じゃない?
俺は「On error Goto」で出来ると思ってた、やり方があれば申し訳ないが教えてほしい
要するに書き方かなと思ったが1回目のエラーはいいがそれ以降が使えないじゃん?
ネストするにも無理があるな、複数の場所(例えば2重ループで)でのやり方があるかもしれんが
無理じゃない?
俺は「On error Goto」で出来ると思ってた、やり方があれば申し訳ないが教えてほしい
881デフォルトの名無しさん
2019/04/22(月) 12:11:57.97ID:iJf9Bl/o エクセルで、複数ブックの特定文字列だけ一気に変えるマクロってどこかで紹介されてますか?
例えば2018年4月21→2019年4月23日に変える感じです
日付が入力されているセルがそれぞれのブックでバラバラなので、セル指定置換はできないようです
例えば2018年4月21→2019年4月23日に変える感じです
日付が入力されているセルがそれぞれのブックでバラバラなので、セル指定置換はできないようです
882デフォルトの名無しさん
2019/04/22(月) 12:22:36.94ID:CZHT0AcU883880
2019/04/22(月) 12:24:36.91ID:16RvV/Xe 例えば
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回目のエラーでメッセージボックスが出る
回避方法を教えてほしい
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回目のエラーでメッセージボックスが出る
回避方法を教えてほしい
884デフォルトの名無しさん
2019/04/22(月) 12:30:37.21ID:16RvV/Xe 赤っ恥
On Error Resume Next
はこれなら大丈夫だが
On Error GoTo Nosheet
はNGって話です でもそれじゃあ書いてる意味がないので
結局
On Error Resume Next で次を考えるなかななの、一番使いたくないんだが
On Error Resume Next
はこれなら大丈夫だが
On Error GoTo Nosheet
はNGって話です でもそれじゃあ書いてる意味がないので
結局
On Error Resume Next で次を考えるなかななの、一番使いたくないんだが
885デフォルトの名無しさん
2019/04/22(月) 12:39:43.58ID:aI1C8h9/ On Errorは全体に作用しすぎるから、isError的な感じでfunction分けた方が良いんじゃないか
886デフォルトの名無しさん
2019/04/22(月) 14:10:46.51ID:5Mb1x8/S >>884
onerrorgotoをメインの処理の流れ制御には使わない方がいいと思う。
On Error Resume Nextは、次行にエラーがあると想定されるときに使い、If Err.Numberで判定して、その値によって処理を変える。
On Error GoTo は、どちらかというと、一つの処理(subやfunct…)の頭で宣言し、想定外のエラーを検知してエラーを出すのに使う。
onerrorgotoをメインの処理の流れ制御には使わない方がいいと思う。
On Error Resume Nextは、次行にエラーがあると想定されるときに使い、If Err.Numberで判定して、その値によって処理を変える。
On Error GoTo は、どちらかというと、一つの処理(subやfunct…)の頭で宣言し、想定外のエラーを検知してエラーを出すのに使う。
887デフォルトの名無しさん
2019/04/22(月) 15:22:43.51ID:16RvV/Xe >>886
ありがとう、他の言語も使ってるから勘違いしていた
対応することはもちろんできるし、Excelの環境を利用しながらの
プログラムは有効なので、仕方ないのであれば考えるは
考えてなかったのが、お恥ずかしい
ありがとう、他の言語も使ってるから勘違いしていた
対応することはもちろんできるし、Excelの環境を利用しながらの
プログラムは有効なので、仕方ないのであれば考えるは
考えてなかったのが、お恥ずかしい
888デフォルトの名無しさん
2019/04/22(月) 15:50:34.25ID:NGsjV6Cl なんかアプデ来てからwebクエリのバグが起こって実行エラー 1004で読み込めないんだけど
俺だけ?
俺だけ?
889デフォルトの名無しさん
2019/04/22(月) 16:12:16.31ID:V9RXP3az >>888
エラーの意味ぐらい調べて書くよな
エラーの意味ぐらい調べて書くよな
890デフォルトの名無しさん
2019/04/22(月) 16:30:51.55ID:NGsjV6Cl891デフォルトの名無しさん
2019/04/22(月) 19:03:03.55ID:V9RXP3az >>890
もう一度、クエーリーを作成してもダメ?
もう一度、クエーリーを作成してもダメ?
892デフォルトの名無しさん
2019/04/22(月) 20:01:03.78ID:L+SCE9UU >>881
どこで紹介されてるかは知らないが、1ファイルずつ中身検索して変更すればいい
どこで紹介されてるかは知らないが、1ファイルずつ中身検索して変更すればいい
893デフォルトの名無しさん
2019/04/22(月) 20:20:53.32ID:TdnLJYYl >>883
シートの存在チェックをしないままActivateメソッドをコールしてるからエラーになるんだろ
Private Sub CommandButton1_Click()
Dim ShNM As String
For i = 1 To 6
Sheets(1).Activate
ShNM = Range("A" & i).Value
If SheetExists Then
Sheets(ShNM).Activate
Else
'Nosheetのラベルの箇所に書いていた処理
End If
'Kyoutuuの所に書いていた処理
Next i
End Sub
Function SheetExists(ByVal name As String) As Boolean
Dim sh As Worksheet
For Each sh In Sheets
If sh.name = name Then
SheetExists = True
Exit Function
End If
Next
SheetExists = False
End Function
シートの存在チェックをしないままActivateメソッドをコールしてるからエラーになるんだろ
Private Sub CommandButton1_Click()
Dim ShNM As String
For i = 1 To 6
Sheets(1).Activate
ShNM = Range("A" & i).Value
If SheetExists Then
Sheets(ShNM).Activate
Else
'Nosheetのラベルの箇所に書いていた処理
End If
'Kyoutuuの所に書いていた処理
Next i
End Sub
Function SheetExists(ByVal name As String) As Boolean
Dim sh As Worksheet
For Each sh In Sheets
If sh.name = name Then
SheetExists = True
Exit Function
End If
Next
SheetExists = False
End Function
894デフォルトの名無しさん
2019/04/22(月) 20:57:12.59ID:J7q/uljF >>882
何言ってんの?
回答するかしないかはどうでもいい。
お前が回答を貰って無い以上、不明ということだ。
つまり、「正式な方法が無い」などという発言は明らかに矛盾している。
もはや、「正式」という言葉をどう解釈するかという問題になって全くアホらしいが
、MSに方法が無いのかと問えば、何らかの回答をするだろう。
それを正式な方法と考えれば、日本語の解釈に固執するバカ以外は問題無いわけだ。
何言ってんの?
回答するかしないかはどうでもいい。
お前が回答を貰って無い以上、不明ということだ。
つまり、「正式な方法が無い」などという発言は明らかに矛盾している。
もはや、「正式」という言葉をどう解釈するかという問題になって全くアホらしいが
、MSに方法が無いのかと問えば、何らかの回答をするだろう。
それを正式な方法と考えれば、日本語の解釈に固執するバカ以外は問題無いわけだ。
895デフォルトの名無しさん
2019/04/22(月) 21:03:25.39ID:J7q/uljF896デフォルトの名無しさん
2019/04/22(月) 21:10:24.20ID:aI1C8h9/897デフォルトの名無しさん
2019/04/22(月) 21:15:19.55ID:CZHT0AcU898デフォルトの名無しさん
2019/04/22(月) 22:31:50.06ID:GK5T9akg >>896
Err.Numberで良ければ。
Err.Numberで良ければ。
899デフォルトの名無しさん
2019/04/22(月) 23:02:19.09ID:aI1C8h9/900デフォルトの名無しさん
2019/04/23(火) 02:07:57.42ID:0gP7mQx4 Excel VBAの例外をあてにしたロジックは危険だよな。
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 「すごいアイドル出てきた」「かわいすぎる」ラヴィット初登場の美女に視聴者驚き ≠ME櫻井もも [ヴァイヴァー★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【高市速報】小野田キミ「中国依存はリスク」断交を示唆か [931948549]
- 【んな専🏡】なんG 姫森ルーナ(・o・🍬)総合スレ🏰【ホロライブ▶】
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
