!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part48
http://mevius.2ch.net/test/read.cgi/tech/1494890685/
※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
Excel VBA 質問スレ Part49©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ bb2e-8SzA)
2017/06/26(月) 02:15:14.60ID:T3ylemnb0253デフォルトの名無しさん (ワッチョイ c491-BaGs)
2017/07/14(金) 22:29:36.70ID:Ry5eHGcV0 そういやみなさん
その場限りの適当マクロじゃなくて
ずっと使い続けてメンテも必要なVBAでセルにアクセスするなら名前経由でやってます?
自分はまずセルに名前をつけて
Const hoge = "セルにつけた名前"
Range(hoge).value = "うんこ"
みたいなことやってます
ちなみに、シート名でもこれやってるんですが‥
シート名やセル名が変わる可能性を前提にしたら
こういうアプローチになるとは思うんですけど
結局凄く無駄なことをやってる気がして…(結局変えることあんまないし)
特にセルの名前に関しては、どうせその文字列をConstのところにハードコードするなら
名前つけずに
Const hoge ="A1:B5"
でもええやんけとか思ってるんですが
行挿入とかに追従してくれる名前の方を使うべきかなぁとか思ったり…
その場限りの適当マクロじゃなくて
ずっと使い続けてメンテも必要なVBAでセルにアクセスするなら名前経由でやってます?
自分はまずセルに名前をつけて
Const hoge = "セルにつけた名前"
Range(hoge).value = "うんこ"
みたいなことやってます
ちなみに、シート名でもこれやってるんですが‥
シート名やセル名が変わる可能性を前提にしたら
こういうアプローチになるとは思うんですけど
結局凄く無駄なことをやってる気がして…(結局変えることあんまないし)
特にセルの名前に関しては、どうせその文字列をConstのところにハードコードするなら
名前つけずに
Const hoge ="A1:B5"
でもええやんけとか思ってるんですが
行挿入とかに追従してくれる名前の方を使うべきかなぁとか思ったり…
254デフォルトの名無しさん (ワッチョイ e66d-TdFn)
2017/07/14(金) 22:44:26.51ID:YONW9HHx0255デフォルトの名無しさん (ワッチョイ f191-+gV6)
2017/07/14(金) 23:03:04.97ID:QoWI5XEA0256デフォルトの名無しさん (ワッチョイ 0a23-z+eH)
2017/07/14(金) 23:10:22.98ID:P3iXCzVv0 >>253
よくある表の列の増減対応する場合は
列挙体で列名を定義しておいて
Cellsで列名を参照させてる。
途中にぶっこんでも列挙体のほうをちょろっと書き換えればいい。
行にも対応させると、面倒かも。
よくある表の列の増減対応する場合は
列挙体で列名を定義しておいて
Cellsで列名を参照させてる。
途中にぶっこんでも列挙体のほうをちょろっと書き換えればいい。
行にも対応させると、面倒かも。
257デフォルトの名無しさん (ワッチョイ 626f-S4qQ)
2017/07/14(金) 23:41:07.46ID:ont4yiQP0 >列の増減
会社のやつ、一切弄れないようにしたわwwwww
セルを保護するとかじゃなくて、
データの更新時に、全消しして再描画するのwwwwwwwwww
列挿入とかしても無駄ですよってwwwwwww
会社のやつ、一切弄れないようにしたわwwwww
セルを保護するとかじゃなくて、
データの更新時に、全消しして再描画するのwwwwwwwwww
列挿入とかしても無駄ですよってwwwwwww
258デフォルトの名無しさん (ワッチョイ e66d-qA4N)
2017/07/15(土) 00:03:43.14ID:fdp++JjU0 そういうの、このスレだと基本だと思う
・正規化したデータを引っ張ってくる
・ボタン押したらvbaで構築。シートすら削除して再作成
こんなんばっかだろ。誰もさわれなくて非難轟々だけど、どうかんがえてもこっちのほうが安全なんだよな
・正規化したデータを引っ張ってくる
・ボタン押したらvbaで構築。シートすら削除して再作成
こんなんばっかだろ。誰もさわれなくて非難轟々だけど、どうかんがえてもこっちのほうが安全なんだよな
259デフォルトの名無しさん (ワッチョイ e251-X5vM)
2017/07/15(土) 00:11:34.38ID:CxBosAMp0260デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 00:12:14.92ID:kt01pjYOM 学ぶ気のない人からとても怒られるやつ
261デフォルトの名無しさん (スッップ Sd70-QKFr)
2017/07/15(土) 00:49:22.52ID:K6V0aa5ld262デフォルトの名無しさん (ワッチョイ f191-+gV6)
2017/07/15(土) 04:37:45.96ID:7LAckzVN0 >>256
コードをいじらないといけないじゃないか
コードをいじらないといけないじゃないか
263デフォルトの名無しさん (ワッチョイ f191-+gV6)
2017/07/15(土) 04:53:42.10ID:7LAckzVN0264デフォルトの名無しさん (ワッチョイ 626f-S4qQ)
2017/07/15(土) 08:42:06.63ID:tWt2y1Te0 >参照しか出来ないならwebシステムにすればいいんじゃね
ヒント:権限
ヒント:権限
265デフォルトの名無しさん (ワッチョイ aa11-OTuW)
2017/07/15(土) 09:43:36.21ID:jhhap/jh0 >>253
> ずっと使い続けてメンテも必要なVBAでセルにアクセスするなら名前経由でやってます?
状況次第だけどよくアクセスするとか重要なセルは適当なところでまとめて変数に代入してる
Dim hoge As Range
Set hoge = Range("A1")
...
hoge.value = "うんこ"
> 行挿入とかに追従してくれる名前の方を使うべきかなぁとか思ったり…
行とか列の挿入を想定するなら名前をつけてそれで参照する
ユーザーが作成するようなシートなら特定の文字列を検索して場所を特定するとかもやる
> ずっと使い続けてメンテも必要なVBAでセルにアクセスするなら名前経由でやってます?
状況次第だけどよくアクセスするとか重要なセルは適当なところでまとめて変数に代入してる
Dim hoge As Range
Set hoge = Range("A1")
...
hoge.value = "うんこ"
> 行挿入とかに追従してくれる名前の方を使うべきかなぁとか思ったり…
行とか列の挿入を想定するなら名前をつけてそれで参照する
ユーザーが作成するようなシートなら特定の文字列を検索して場所を特定するとかもやる
266デフォルトの名無しさん (ワッチョイ f191-+gV6)
2017/07/15(土) 09:44:21.75ID:7LAckzVN0267デフォルトの名無しさん (ワッチョイ f191-+gV6)
2017/07/15(土) 10:08:30.41ID:7LAckzVN0268デフォルトの名無しさん (ドコグロ MM36-OTuW)
2017/07/15(土) 11:40:57.26ID:aW477mPhM269デフォルトの名無しさん (ササクッテロラ Sp72-+gV6)
2017/07/15(土) 11:48:46.46ID:CRqbHh/Cp270デフォルトの名無しさん (ササクッテロラ Sp72-+gV6)
2017/07/15(土) 11:50:44.37ID:CRqbHh/Cp271デフォルトの名無しさん (ドコグロ MM2e-OTuW)
2017/07/15(土) 12:33:52.46ID:hu77KrcYM >>269-270
レスを分けて書く奴はもれなくバカの法則 w
レスを分けて書く奴はもれなくバカの法則 w
272デフォルトの名無しさん (ワッチョイ e66d-z+eH)
2017/07/15(土) 16:36:10.60ID:fdp++JjU0273デフォルトの名無しさん (ワッチョイ 4b3d-1CH6)
2017/07/15(土) 17:34:03.53ID:0urlci1o0 VBAのマクロって
・マクロ制作者本人の操作を補助する為のものであり、他人に使わせる事は想定されていない
・オフィス製品の操作を補助する為のものであり、アプリケーションの本来の振る舞いを超えた動作は想定されていない
・ユーザーフォームはマクロの操作を容易にする為のものであり、別のアプリケーションであるかの様に振る舞う事は想定されていない
なので想定されていないものを作ろうとしたら不便さを感じるのは当然
どんな言語もそうだけど、想定された使い方なら便利だし、そうでないなら不便だよ
・マクロ制作者本人の操作を補助する為のものであり、他人に使わせる事は想定されていない
・オフィス製品の操作を補助する為のものであり、アプリケーションの本来の振る舞いを超えた動作は想定されていない
・ユーザーフォームはマクロの操作を容易にする為のものであり、別のアプリケーションであるかの様に振る舞う事は想定されていない
なので想定されていないものを作ろうとしたら不便さを感じるのは当然
どんな言語もそうだけど、想定された使い方なら便利だし、そうでないなら不便だよ
274デフォルトの名無しさん (ワッチョイ c491-BaGs)
2017/07/15(土) 17:40:17.34ID:Id32lc0P0 >>255
なるほど
例えば
○年○月 の○のセルを指定する際に
「年」のセルを探してOffset(0,-1)する、みたいな感じですかね
自分はこれも名前つけて管理してましたが
セルが1つの場合はそれで良さそうですね
ただ、全く同じ内容のセルが検索範囲にないことが保証された運用にしないとバグりそうなのでちょっと怖いかも
>>256
表に対してレコードセットみたいなアクセスをしたい場合に
つい最近その方法を知って目からウロコでした
とにかくインテリセンスを効かせたい派なので・・
http://thom.hateblo.jp/entry/2015/12/17/000132
こういうことですよね
行方向に関しては、列のように各行に別々の意味を持たせるような使い方はしたことないので
問題ありませんね
>>261
自分は簡単なSQLを作る(ANDとかORで結合するだけ)に特化したStringBuilderみたいなのだけ使ってますね
>>265
やっぱ可変範囲のこと考えると名前つけるのは意味ありますよね
なるほど
例えば
○年○月 の○のセルを指定する際に
「年」のセルを探してOffset(0,-1)する、みたいな感じですかね
自分はこれも名前つけて管理してましたが
セルが1つの場合はそれで良さそうですね
ただ、全く同じ内容のセルが検索範囲にないことが保証された運用にしないとバグりそうなのでちょっと怖いかも
>>256
表に対してレコードセットみたいなアクセスをしたい場合に
つい最近その方法を知って目からウロコでした
とにかくインテリセンスを効かせたい派なので・・
http://thom.hateblo.jp/entry/2015/12/17/000132
こういうことですよね
行方向に関しては、列のように各行に別々の意味を持たせるような使い方はしたことないので
問題ありませんね
>>261
自分は簡単なSQLを作る(ANDとかORで結合するだけ)に特化したStringBuilderみたいなのだけ使ってますね
>>265
やっぱ可変範囲のこと考えると名前つけるのは意味ありますよね
275デフォルトの名無しさん (ワッチョイ c491-BaGs)
2017/07/15(土) 17:47:17.89ID:Id32lc0P0 >>273
>他人に使わせる事は想定されていない
これは本当に思いますね
Accessなんかはフォームでの入出力が基本だし
各データの型も指定するから
出来ること出来ないことを設計者が細かく指定しやすいですが
Excelは書式や入力データを限定させようとすると
そのノウハウの習得のことも考えたら相当な時間がかかる気が…
以前「値のみの切り取り・コピーしかできない」ようにしようとして
えらい苦労しました
>他人に使わせる事は想定されていない
これは本当に思いますね
Accessなんかはフォームでの入出力が基本だし
各データの型も指定するから
出来ること出来ないことを設計者が細かく指定しやすいですが
Excelは書式や入力データを限定させようとすると
そのノウハウの習得のことも考えたら相当な時間がかかる気が…
以前「値のみの切り取り・コピーしかできない」ようにしようとして
えらい苦労しました
276デフォルトの名無しさん (ワッチョイ 926f-MRQN)
2017/07/15(土) 20:37:21.43ID:VxLYhzBT0 所詮道具 しかし便利な道具 それをよりによってなんで使い辛くするのか 神経を疑うわ
改変、改ざん、変更がダメならそっちに注力すべきだろ
バックアップなりPDF出力なり変更者・変更ヶ所の記録なりなんなり
余計な仕事して会社の利益を浪費すんなよ
改変、改ざん、変更がダメならそっちに注力すべきだろ
バックアップなりPDF出力なり変更者・変更ヶ所の記録なりなんなり
余計な仕事して会社の利益を浪費すんなよ
277デフォルトの名無しさん (アウアウウー Sa08-6eVw)
2017/07/15(土) 20:57:08.80ID:4AnbxIb9a Excel VBA一本で家族養って食っていけてる人いる?
278デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 21:01:14.05ID:+h55DWxyM ねーよ
279デフォルトの名無しさん (アウアウエー Sa66-PUpa)
2017/07/15(土) 21:06:42.25ID:DU1ghimfa280デフォルトの名無しさん (ワッチョイ 2623-KaH7)
2017/07/16(日) 05:14:50.82ID:QwczUPDI0 >>279
プログラマー志望でvbaの仕事しかやったことないんだが。
プログラマー志望でvbaの仕事しかやったことないんだが。
281デフォルトの名無しさん (ワッチョイ d071-1CH6)
2017/07/16(日) 05:59:58.39ID:K064oJPl0282デフォルトの名無しさん (ワッチョイ 2623-KaH7)
2017/07/16(日) 06:33:45.85ID:QwczUPDI0283デフォルトの名無しさん (ドコグロ MM40-OTuW)
2017/07/16(日) 07:32:23.57ID:xeCnao79M284デフォルトの名無しさん (アウアウウー Sa08-6eVw)
2017/07/16(日) 16:35:01.30ID:u74giIrqa 自分は業界デビューがAccessVBAで、そのうちC/C++もやるようになった。
で、今PHPとかJavaとか知らなくて仕事減ってきてる。
で、今PHPとかJavaとか知らなくて仕事減ってきてる。
285デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/16(日) 16:40:12.30ID:/sDyct4MM ならVB.NETを経由してjavaへ向かえばよい
286デフォルトの名無しさん (ワッチョイ e66d-c7D+)
2017/07/16(日) 16:42:28.30ID:D4hbmADJ0 PHPは言語は楽ちんだけどネットワーク周りがキツイ
専サバならどうでもいいけどレンタルサーバーだと制限多くて何もできん
専サバならどうでもいいけどレンタルサーバーだと制限多くて何もできん
287デフォルトの名無しさん (ワッチョイ ce11-PUpa)
2017/07/16(日) 17:31:35.42ID:TYIh6T1E0 >>280
vbaでシステム開発してんの?
vbaでシステム開発してんの?
288デフォルトの名無しさん (バットンキン MM32-v2r+)
2017/07/16(日) 19:11:10.92ID:x6N2dGq3M VBA4とかの時代はなぜかユーザー定義型のリファレンスをクラスモジュールに渡せなくて悩んだ覚えがあるけど最近は大丈夫なのねと
289デフォルトの名無しさん (ドコグロ MM02-KaH7)
2017/07/16(日) 19:14:48.07ID:zK8m4MiwM >>287
うん。
50万ぐらいのレコードを扱う、MySqlをバックエンドとしたC/S型のシステム作ったよ。
vbaは例外ハンドラが弱すぎて、自作スタックトレースみたいな仕組みを作ったりとか、バージョン管理大変だし、vbaでシステム開発は怖すぎてやりたくないっす。
初速はいいけど、規模が大きくなってくると生産性が著しく落ちるねー。
うん。
50万ぐらいのレコードを扱う、MySqlをバックエンドとしたC/S型のシステム作ったよ。
vbaは例外ハンドラが弱すぎて、自作スタックトレースみたいな仕組みを作ったりとか、バージョン管理大変だし、vbaでシステム開発は怖すぎてやりたくないっす。
初速はいいけど、規模が大きくなってくると生産性が著しく落ちるねー。
290デフォルトの名無しさん (ワッチョイ ce11-PUpa)
2017/07/16(日) 21:17:30.80ID:TYIh6T1E0291デフォルトの名無しさん (ワッチョイ aa11-OTuW)
2017/07/16(日) 21:52:55.66ID:ZbG5GhXO0 >>290
バックエンドがMySQLなら50万レコード程度は楽勝だろうしフロントエンドにExcel VBAはたいして珍しくないぞ
バックエンドがMySQLなら50万レコード程度は楽勝だろうしフロントエンドにExcel VBAはたいして珍しくないぞ
292デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 17:06:22.75ID:7pjXcMGRr そもそも、VBA使いってエンジニアじゃないよね。
なので、エンジニア目線での会話はしないほうがいいよ。
なので、エンジニア目線での会話はしないほうがいいよ。
293デフォルトの名無しさん (オッペケ Srd7-OYLW)
2017/07/17(月) 18:01:49.57ID:eqSf35i7r はぁ?
294デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/17(月) 18:28:51.63ID:3BLwA/g5M 方言で喋るヤツは日本人じゃないよねみたいな言い回しは嫌い
295デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 19:25:12.99ID:7pjXcMGRr エンジニア畑の出身ではないということ。
エンジニア畑を歩いてきた人はVBAなんかには染まらないよ。
エンジニア畑を歩いてきた人はVBAなんかには染まらないよ。
296デフォルトの名無しさん (ワッチョイ 626f-S4qQ)
2017/07/17(月) 19:31:25.65ID:25jot5xr0 スネオみたいなやつだな。
297デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/17(月) 19:34:15.32ID:3BLwA/g5M じゃあ東京出身以外は日本人じゃないんだね
哀れな見識の狭さだな
哀れな見識の狭さだな
298デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 19:41:09.32ID:7pjXcMGRr 東京出身で大阪に住んでる人は関西人じゃないし、大阪出身で東京に住んでる人は江戸っ子ではない。
299デフォルトの名無しさん (ドコグロ MM40-OTuW)
2017/07/17(月) 20:03:54.32ID:8yOMdWeDM 他の言語をバリバリ使うエンジニアがVBA使うなんていくらでもあるだろ
300デフォルトの名無しさん (アークセー Sx88-I8+U)
2017/07/17(月) 20:05:31.04ID:KYGC98nRx ID:7pjXcMGRr
スゲー承認します
スゲー承認します
301デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 20:12:26.22ID:7pjXcMGRr 馬鹿の一つ覚えみたいに、なんでもかんでも変数に入れちゃうし、しかもいまだにハンガリアン記法だったりする。
エラー対策もバッチリですと言わんばかりにエラー処理が延々と続くコードを晒す。
ただでさえ冗長な言語なのに輪をかけて冗長なコードを書く。
誰もお前のコードなんかコピペしねーからコアな部分だけを簡潔にかけ、と言いたくなる。
VBAが書けるぐらいでエンジニアづらするな。
エラー対策もバッチリですと言わんばかりにエラー処理が延々と続くコードを晒す。
ただでさえ冗長な言語なのに輪をかけて冗長なコードを書く。
誰もお前のコードなんかコピペしねーからコアな部分だけを簡潔にかけ、と言いたくなる。
VBAが書けるぐらいでエンジニアづらするな。
302デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 20:14:06.57ID:7pjXcMGRr >>299
VBAメインという人はいないよね。
VBAメインという人はいないよね。
303デフォルトの名無しさん (ワッチョイ e66d-z+eH)
2017/07/17(月) 20:19:25.98ID:ZwJXO/8Y0 vbaメインは事務職だろう
304デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 20:21:12.48ID:7pjXcMGRr >>303
そうそう。エンジニアじゃないのよ。
そうそう。エンジニアじゃないのよ。
305デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/17(月) 20:22:42.87ID:3BLwA/g5M306デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 20:25:53.47ID:7pjXcMGRr >>305
つまみ食いするエンジニアはいるでしょ。
つまみ食いするエンジニアはいるでしょ。
307デフォルトの名無しさん (ワッチョイ aa11-OTuW)
2017/07/17(月) 20:34:45.10ID:U2FIHXXv0 >>302
VBAメイン縛りなの?
VBAメイン縛りなの?
308デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/17(月) 20:37:52.24ID:3BLwA/g5M お前の中ではVBAからプログラムに入り今は別言語メインってやつは存在しないんだね
309デフォルトの名無しさん (ワッチョイ ef11-+gV6)
2017/07/17(月) 20:54:22.06ID:ZHV5JA270 エンジニアかどうかってプログラム言語に依存する概念だっけ?
実現手段なんかコロコロ変わるのに
実現手段なんかコロコロ変わるのに
310デフォルトの名無しさん (ワッチョイ e66d-rON2)
2017/07/17(月) 20:56:09.78ID:ZwJXO/8Y0 vbaからhtml・phpに行ってなんか社内SEみたいなことやってるわ
割りと楽
割りと楽
311デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 21:13:30.47ID:7pjXcMGRr312デフォルトの名無しさん (ワッチョイ 12aa-z+eH)
2017/07/17(月) 21:14:47.84ID:K9hU24AK0 エンジニアは2ちゃんねるに来ないだろう
313デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/17(月) 21:32:12.23ID:3BLwA/g5M314デフォルトの名無しさん (ワッチョイ 5ce3-z+eH)
2017/07/17(月) 21:38:42.01ID:xDa7p7Qa0 ExcelVBAの挙動が謎すぎて困る
IF xx IS NOT NULL AND xx.value = 100
みたいので例外出たときは目を疑った
nullのときも両辺評価するって決まってるならまだしも
普段は何事もなく動いてるのに
急に気まぐれに両方評価するのやめーや…
IF xx IS NOT NULL AND xx.value = 100
みたいので例外出たときは目を疑った
nullのときも両辺評価するって決まってるならまだしも
普段は何事もなく動いてるのに
急に気まぐれに両方評価するのやめーや…
315デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/17(月) 21:39:52.50ID:7pjXcMGRr316デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/17(月) 21:45:47.60ID:3BLwA/g5M317デフォルトの名無しさん (ワッチョイ e66d-qA4N)
2017/07/17(月) 21:50:52.95ID:ZwJXO/8Y0 >>314
今更だろう
longな数値同士を文字列結合できるぐらいなんだし、何が起こっても驚かん
Sub foo()
Dim a As Long
Dim b As Long
a = 1
b = 2
Debug.Print a & "|" & b
End Sub
今更だろう
longな数値同士を文字列結合できるぐらいなんだし、何が起こっても驚かん
Sub foo()
Dim a As Long
Dim b As Long
a = 1
b = 2
Debug.Print a & "|" & b
End Sub
318デフォルトの名無しさん (ワッチョイ e66d-SAgI)
2017/07/17(月) 21:51:23.92ID:ZwJXO/8Y0 ってかvbaって実は内部的に全部variantで処理してない?と思うことがたまによくある
319デフォルトの名無しさん (ワッチョイ aa11-OTuW)
2017/07/17(月) 22:01:54.76ID:U2FIHXXv0 >>314
短絡評価が保証されてない言語で
> IF xx IS NOT NULL AND xx.value = 100
なんて書く奴の方が謎
NothingじゃなくてNULLなのも謎
あとNULLならIsNull( )じゃないのも謎
短絡評価が保証されてない言語で
> IF xx IS NOT NULL AND xx.value = 100
なんて書く奴の方が謎
NothingじゃなくてNULLなのも謎
あとNULLならIsNull( )じゃないのも謎
320デフォルトの名無しさん (ワッチョイ 5ce3-z+eH)
2017/07/17(月) 22:05:39.05ID:xDa7p7Qa0 知らんがな!そんな詳しくない
環境制限されて使わざるをえずに使って
ちょっとカルチャーショック受けただけ
環境制限されて使わざるをえずに使って
ちょっとカルチャーショック受けただけ
321デフォルトの名無しさん (ワッチョイ 5ce3-z+eH)
2017/07/17(月) 22:09:42.75ID:xDa7p7Qa0 まえ2chでEXCELVBAが挙動アバウトだから使いたくないって言ったら
お前の頭がアバウトなだけでVBAはアバウトじゃないって返された
ほんとにアバウトやん
お前の頭がアバウトなだけでVBAはアバウトじゃないって返された
ほんとにアバウトやん
322デフォルトの名無しさん (ワッチョイ 9e06-1CH6)
2017/07/17(月) 22:11:29.92ID:5wPRLPZU0 いつもながらの仲間内のどうでもいい戯言が続いているだけなんで、質問者の方は気になさらずにどうぞ〜
323デフォルトの名無しさん (ワッチョイ 12aa-z+eH)
2017/07/17(月) 22:13:55.47ID:K9hU24AK0324デフォルトの名無しさん (ワッチョイ 12aa-z+eH)
2017/07/17(月) 22:16:50.48ID:K9hU24AK0 >>320
ところでちょっと興味あるんだけど「環境制限」て何がNGなの?
ところでちょっと興味あるんだけど「環境制限」て何がNGなの?
325デフォルトの名無しさん (ワッチョイ 5ce3-z+eH)
2017/07/17(月) 22:18:26.02ID:xDa7p7Qa0 うんそれならまだわかる、たぶんそんな気がしてきた
Nullのとき正常終了してるケースがあるように見えたんだ
たぶん見間違いだ
Nullのとき正常終了してるケースがあるように見えたんだ
たぶん見間違いだ
326デフォルトの名無しさん (ワッチョイ 5ce3-z+eH)
2017/07/17(月) 22:19:24.38ID:xDa7p7Qa0 >>324
アドイン
アドイン
327デフォルトの名無しさん (ワッチョイ 968f-z+eH)
2017/07/17(月) 22:46:19.63ID:1pUgrDrQ0 >>326
だっふんだ
だっふんだ
328デフォルトの名無しさん (アウアウエー Sa66-PUpa)
2017/07/17(月) 23:33:07.69ID:2vYuRvlWa まあ、VBAが言語としてクソなのは認めざるを得ないよな
最近javascriptつまみ食いしてるけど、これはこれで魔境とは言え進化してるしさ、常に
最近javascriptつまみ食いしてるけど、これはこれで魔境とは言え進化してるしさ、常に
329デフォルトの名無しさん (ブーイモ MMed-6ouG)
2017/07/17(月) 23:33:44.68ID:PT2PKaQfM330デフォルトの名無しさん (スッップ Sd70-QKFr)
2017/07/18(火) 00:17:38.11ID:kpygt+jXd nullの話出たから聞きたいんだけどnullとかnothingの判定を完結にやるいい方法ってないの?
やりたいのはnull,vbnull,nothing,emptyなどなど値が入ってない状態を検知したい
全部if elseifでやるのは汚すぎるからあまりやりたくない
やりたいのはnull,vbnull,nothing,emptyなどなど値が入ってない状態を検知したい
全部if elseifでやるのは汚すぎるからあまりやりたくない
331デフォルトの名無しさん (ワッチョイ f191-+gV6)
2017/07/18(火) 00:18:33.82ID:sD2l3tVa0 >>330
全部調べる関数を作ればいいのでは?
全部調べる関数を作ればいいのでは?
332デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/18(火) 00:19:09.03ID:zLdSm0oAM 判定メソッド作って呼ぶ
333デフォルトの名無しさん (ワッチョイ 4b3d-1CH6)
2017/07/18(火) 00:40:40.16ID:j/Xwl1qG0 If文を可能な限り避けるとなると
Function foo(hoge) As Boolean
Select Case VarType(hoge)
Case 0,1
...
Case 9
If hoge Is Nothing Then
End Select
End Function
みたいな書き方かな
Function foo(hoge) As Boolean
Select Case VarType(hoge)
Case 0,1
...
Case 9
If hoge Is Nothing Then
End Select
End Function
みたいな書き方かな
334デフォルトの名無しさん (アークセー Sxc1-y19a)
2017/07/18(火) 00:43:00.33ID:8EqWFNQax データの値の状態を判定するならif elseif よりも
Select Case Expressionの方が無駄なく綺麗に書ける
Select Case Expressionの方が無駄なく綺麗に書ける
335デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/18(火) 06:17:21.84ID:StSxL3ktr >>333
ていうか、このコードは何を返すの?
ていうか、このコードは何を返すの?
336デフォルトの名無しさん (ドコグロ MMa8-OTuW)
2017/07/18(火) 06:18:50.83ID:qfl2YypxM >>329
保証されてない ≒ 動作する場合があるかも知れないけど面倒だしどうでもいいから調べてない
保証されてない ≒ 動作する場合があるかも知れないけど面倒だしどうでもいいから調べてない
337デフォルトの名無しさん (ドコグロ MMa8-OTuW)
2017/07/18(火) 06:20:35.94ID:qfl2YypxM >>335
「値が入ってない状態」かどうかだろ
「値が入ってない状態」かどうかだろ
338デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/18(火) 06:30:18.74ID:StSxL3ktr339デフォルトの名無しさん (アークセー Sx72-y19a)
2017/07/18(火) 07:14:01.44ID:9/pR+lH4x >>333
コンパイルエラー出るコードでワロタ
コンパイルエラー出るコードでワロタ
340デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/18(火) 07:42:58.67ID:StSxL3ktr こんな感じかな。
Function IsNone(hoge) as Boolean
Select case True
Case IsNull(hoge)
IsNone = True
Case IsEmpty(hoge)
IsNone = True
Case hoge is Nothing
IsNone = True
Case hoge = ""
IsNone = True
Case hoge = vbnullstring
IsNone = True
Case Else
IsNone = False
End Select
End Function
Function IsNone(hoge) as Boolean
Select case True
Case IsNull(hoge)
IsNone = True
Case IsEmpty(hoge)
IsNone = True
Case hoge is Nothing
IsNone = True
Case hoge = ""
IsNone = True
Case hoge = vbnullstring
IsNone = True
Case Else
IsNone = False
End Select
End Function
341デフォルトの名無しさん (オイコラミネオ MMb6-hcOc)
2017/07/18(火) 08:48:10.34ID:XjshxdE9M なんでこんな初心者用のスレでVBAはゴミだのカスだのドヤ顔でほざいてるの?
どうせ普段は別の言語で仕事してる奴が、ちょっと頼まれたVBAが解らなくてファビョってるんだろ?w
どうせ普段は別の言語で仕事してる奴が、ちょっと頼まれたVBAが解らなくてファビョってるんだろ?w
342デフォルトの名無しさん (ワッチョイ e66d-z+eH)
2017/07/18(火) 08:49:43.17ID:adssaMMv0 ファビョるって何?
343デフォルトの名無しさん (ワッチョイ 622e-S4qQ)
2017/07/18(火) 10:01:29.10ID:gw3uuz5O0 先ずはググればいいんでないかな
344デフォルトの名無しさん (スップ Sd02-y/ao)
2017/07/18(火) 11:27:07.20ID:LmZYlO3Ud >>341
その状況なら確かに愚痴りたくなるだろうね
その状況なら確かに愚痴りたくなるだろうね
345デフォルトの名無しさん (オッペケ Sr39-nv+z)
2017/07/18(火) 12:19:29.42ID:1XJz7Xgqr どうせ自称VBAに詳しいクズと自称メインは他言語のクズしかいないんだから仲良くしろよ
346デフォルトの名無しさん (ワッチョイ ce11-PUpa)
2017/07/18(火) 18:53:43.35ID:QCvagJCl0 >>341
他の言語出来るやつなら自分で調べられるし聞き方も賢くできると思うぞ
他の言語出来るやつなら自分で調べられるし聞き方も賢くできると思うぞ
347デフォルトの名無しさん (ワッチョイ e66d-z+eH)
2017/07/18(火) 18:57:17.26ID:adssaMMv0348デフォルトの名無しさん (ワッチョイ 974b-+vhE)
2017/07/18(火) 19:02:27.52ID:FECT5IdT0 >>340
横からですが、借りてってもいいですか?
横からですが、借りてってもいいですか?
349デフォルトの名無しさん (オッペケ Srd7-Ucbr)
2017/07/18(火) 20:30:12.85ID:StSxL3ktr >>348
もちろん自由に使えばいいけど、スマホで書いてるのでPCテストしてない。自己責任でよろしく。
読み返したら、Is Nothing のところは明らかにエラーになると思うので、こんな感じのほうがいいかも。(PCテストしてないので自信はない。あしからず)
Function IsNone(hoge) as Boolean
If IsObject(hoge) Then
If hoge Is Nothing Then IsNone = True
End If
Select case True
Case IsNull(hoge)
IsNone = True
Case IsEmpty(hoge)
IsNone = True
Case hoge = ""
IsNone = True
Case hoge = vbnullstring
IsNone = True
Case Else
IsNone = False
End Select
End Function
なんか美しくないね。
ま、好きなように書き換えて。
もちろん自由に使えばいいけど、スマホで書いてるのでPCテストしてない。自己責任でよろしく。
読み返したら、Is Nothing のところは明らかにエラーになると思うので、こんな感じのほうがいいかも。(PCテストしてないので自信はない。あしからず)
Function IsNone(hoge) as Boolean
If IsObject(hoge) Then
If hoge Is Nothing Then IsNone = True
End If
Select case True
Case IsNull(hoge)
IsNone = True
Case IsEmpty(hoge)
IsNone = True
Case hoge = ""
IsNone = True
Case hoge = vbnullstring
IsNone = True
Case Else
IsNone = False
End Select
End Function
なんか美しくないね。
ま、好きなように書き換えて。
350デフォルトの名無しさん (ワッチョイ 974b-+vhE)
2017/07/18(火) 21:03:49.93ID:FECT5IdT0351デフォルトの名無しさん (ワッチョイ e66d-lquy)
2017/07/18(火) 21:10:08.24ID:adssaMMv0 僕は唱える 魔法の言葉 on error resume next
みんなで歌おう 魔法の言葉 on error resume next
みんなで歌おう 魔法の言葉 on error resume next
352デフォルトの名無しさん (ワッチョイ 974b-+vhE)
2017/07/18(火) 21:12:18.15ID:FECT5IdT0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」★2 [冬月記者★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- 【実況】博衣こよりのえちえち声優楽プロジェクト共同研究発表会🧪
- 高市早苗、トランプおやびんに泣きつくwwwwwwwwwwwwwwwwwwwwwwww [834922174]
- 中国「防衛省の説明は矛盾してる。」 [834922174]
- ケンモメンってなんでこんなに反日が多いの? [866936191]
- 中国、日本人tiktokの収益剥奪開始wmwmwmwmwmwm [834922174]
- 【超絶悲報】高市、謎の宗教団体から巨額の政治献金WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
