Excel VBA 質問スレ Part49©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
!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 >>414 つか、いったい何が悔しかったの? 君ほどの実力者が。 >>413 どこに残せばいいの? 完成品はこれでいいかな。 Function IsNone(hoge) As Boolean Select Case VarType(hoge) Case vbEmpty, vbNull IsNone = True Case vbObject IsNone = hoge Is Nothing Case vbString IsNone = Len(Trim(hoge)) = 0 Case Is >= vbArray On Error Resume Next IsNone = UBound(hoge) < LBound(hoge) End Select End Function 簡潔で美しいね。みんなの力の結晶だ。 >関数テンプレにのこしておいてよ どこにあんだよ、そんなの ここで知った人間で保存しておきたいって奴が保存しておけば良いだろ スレッドのテンプレに残しておいてほしいって事なんじゃないの。 でも残し始めたら際限無くなるし、コピペで済ませずに理論と意図を理解して同じものを一から書けるようになってほしいなぁ。 >>415 えっ? なにか悔しいことでもあったの? w こんなコードテンプレに残したらますます初心者が初心者を惑わすスレに拍車がかかるなw 本当に仕事でエクセルマクロを必要としてる人には迷惑かけんなよw > 初心者が初心者を惑わすスレ 言い得て妙だww いいんだよ、それで。 VBA使いはエンジニアじゃないから。 >>422 まだVBA使い≠エンジニアとか言ってるの? エンジニアでもVBA使いは居るってのに どの言語の質問スレも初心者が初心者を惑わすスレ化してるのが悲しい。 「よくある質問と回答」レベルなら問題ないんだけど、ちょっと突っ込んだ質問になるととたんに雲行きが怪しくなる。 ある程度の実力を身につけたら2chじゃなくてちゃんとしたコミュニティか何かに参加するべきなんだろうけど、 だいたい見つからないし、見つけても2chほど気軽に質問投げられるような場所じゃなかったりするんだよな。 >>426 ネットの情報なんだから裏を取ればいいだけ 今時書いてあるキーワードでググれば調べるのもそんなに苦労しないしな 惑わされるより過疎化してまともな回答が少なくなってる方が問題だわ >>424 エンジニアでもVBA使いは居るけど、 VBA使いになりたいエンジニアはいない。 >>429 これな いやいやだわ javascriptのほうが楽しいし >>430 JavaScriptのほうが楽しい理由は? javascriptってvbaの次に底辺やんwww >>433 使ったことある人が多い言語って底辺扱いされやすいよね。 おそらく、C や Java の比じゃないと思うよ。>VBA でも、Java は使う人が多くなりつつあるから、底辺扱いされるのは時間の問題かもね。 新興の言語って利用者全員が似たような習熟度だから意思疎通が図りやすいし、 どんなにクソみたいなコード書いても判断材料が無くて効率的なコードって言ってもらえるからな。 >>369 欠陥なんじゃなくて、馬鹿ほどvariantを使う法則なだけ 長い間SQL触ってたので、 SelectがVBAにもあったのを完全に忘れていた、という話。 複数の言語を使うとselectとswitchは妙に間違える 俺だけかねー? JavascriptにおけるjQuery的な VBAのクラスってどっかにないのかな Set class = New class class.lastRowAdd(Range("a1"),array) ってやったら最終行に配列の内容をぶっ込んでくれる とか よくある操作をパラメーター渡せばやってくれるような >>444 このコードは妄想クラスメソッドなのでエラーになるけど もし、いろんな汎用処理を詰め込んだクラスなりを 誰か作ってたら欲しいなーと思いましたとさ、という話 >>445 そうじゃなくて1次元配列が出来上がるとか2次元配列が出来上がるとか もちょっと具体的に あと第二引数はなんだ? そこまで引っ張る話題でもなくね?と思うけど確かにどうしたいのかわからんのもあってちょっと聞きたくもあり 科学計算が爆速でできるVBAのフレームワークができれば、VBAの価値は一気に上がる。 データベースな表で 第一引数のセルから下に見ていって一番下に 第二引数の配列をズドンと書き込む という想定 たしかにそこまで引っ張るネタでもないです >>450 ネタで言ってるなら申し訳ないが、それその通りに書くだけで良くね? >>452 そういう話ではない。 まあでもVBA用の色んな処理の検索はしてきたけど、アドイン化されてるものは全然見かけないなあ。 汎用的な機能を詰め込んだアドインってこれくらい? http://software.opensquare.net/relaxtools/ >>443 の求めるものとは違うんだろうけど。 結局は自作クラスってことになりそう。 >>451 お前の下らん雑談ネタのためにこのスレが有るわけじゃないんだyo あぁarrayは横向きの配列ってことか、なるほど VBAで汎用ライブラリ作るとしたらどんな名前になるだろう tyっと作ってみたくもあるな ブログ検索すれば色々出てくるから好きなのを使う。 製品的なやつが欲しいなら知らん 完成した関数テンプレにのこしておいてよ vbaの良質なコードはすごく希少だしアドインってメンテナンス大変じゃないか? 用途としてはいろんな人に使わせる用だと思うんだけど誰かが使ってる最中に変更できないじゃん やたらにバージョン上げると某ライブラリみたいな顛末になるし じゃあコピーしたもん編集して誰もいないときに上書きすればいいじゃん >>431 新しい昨日が追加されるところ まだクソなのはクソだけどvbaは一切進歩せんからなあ >>460 > vbaは一切進歩せんからなあ エンジニアのための言語じゃないからね。 Dim だの Set だの If Then だの、 うんざりするのはしょうがないとしても、 objFSO なんていう変数を見た日にゃ、 ぶっ殺したくなるね。 >>463 継承もサポートしてないしね だから初心者の入口としても不向き マイクロソフト的にもお荷物だろうな はよ.net framework対応してほしいわね そもそも継承が必要になるほどの大規模な開発をVBAでやる事自体が間違い定期。 まあ継承より配列周りの強化してほしいかな わざわざ自分でコレクションもどき作ってるけどめんどいわ 初めてADOっての使ったけど、なんだこりゃ。 MSQueryと違って、列名が出ないじゃん。 いや、ヘッダのON・OFFで無理矢理出せるけど、 そうするとUnionした時に、レコードの途中に列名が出やがる。(列名扱いされないから?) 列名は、出力位置の上に、予め書いとかなきゃいけないの? >>467 コレクションもどきって何? 配列もどきのコレクションとは違う何かかな? フォームを作ってるとき、同種のパーツのオブジェクト配列が簡単に作れたら良いのにって思うわ >>470 For Each x In Userform.Controls Select Case Typename(x) Case "Label" ... End Select Next みたいなのじゃなくて? >>471 VBだとフォームパーツの型のオブジェクト変数として配列変数が宣言できる 何かと便利 >>470 みたいな需要は確かにありそうだ。 さっそくオレ様ライブラリに取り入れよう。 >>469 コレクションて値の出し入れできなかったりするじゃん? 値の追加、挿入、削除、入れ替え、ソートあたりメソッドにしたクラスだね 型は安全に出来ないけどなかなか便利 objectにも対応させたいけどやや面倒だから手を付けてない >>472 Forで1つずつ取る方法しかなかったわ。 CopyFromRecordsetみたいに一撃弾平なのはないのね。 >>475 コレクションもどきって表現はミスリーディングだな コレクションの拡張クラスだそれは アイテムのソートと入れ替えは便利そう >>477 for eachできないからコレクションもどきとした 中身はただの配列だし >>478 コレクションをラップしてるんじゃなくて中身が配列なのか 確かにそれだとコレクションもどきだな >>479 継承できればコレクションからゴニョゴニョした方がいいんだろうけど どうでも良いけど値の入れ替えのメソッド名をRepracementにしてるんだけどなんかしっくりこないんだよね なんかいいのないかな >>481 入れ替えで辞書ツール突っ込んだらそれでてきたからしゃーない 配列の話題になってから調べて初めて知ったけど ArrayListをVBAで使えるんだね 一通りメソッドもそろってるみたいだし、どうかな 実際に使ってみたわけではないけど >>483 便利は便利だけど遅い 三桁四桁の配列なら大差無いだろうけどね 大抵はコレクションで事足りちゃうしね 使い勝手はArrayListのほうが便利そうだね まぁ確かに自分も使ったことないけど ちゃんとしたやつがあるのかよwww 自作配列にArrayListって変数名付けたわwwww .netライブラリの話で思い出したけどコンストラクタに引数渡せないのクソ不便だよな 渡せるようになれば使えるライブラリも増えそうだが >コンストラクタに引数渡す場面ってある? シートの名前ぐらいなら返り値の.nameを変えるけど、何とも思わん コンストラクタでしか初期化できない(他の初期化用メソッドを持たない)クラスがあれば困るけど、 そういうものって.Netにあるの? >>491 const vbaでconstが必要な用途が良くわからんけど >>491 VBA から使うとは思えないけど Exception の Message はコンストラクタでしか設定できないよ そもそも>>489 はそういう話じゃないような気がするけど >>493 .netのクラス使えないのかな?って以前ググったときに http://officetanaka.net/excel/vba/tips/tips98.htm が引っかかって えらい簡単に使えるんだなぁと思ったんだけど 思っただけで使ったことないし 細かいことも知らない… ていうか、本当にいろいろ便利に使えるなら ググるだけでバンバン情報引っかかっていいと思うんだけど ArrayListのことくらいしか出てこんかった >>490 ブックをそのままラップしたクラスとか作りたいときにパス指定するためのメソッドわざわざ実装するのとかクソめんどくさいじゃん 結構引数指定したい場面あるよ 逆になんで引数渡せないのかという >>496 そういうのは諦めた エクセルに限らず、IEやら何もかもインスタンス作成してから、プロパティを変更している 言語仕様を嘆いても始まらん 話の流れで思い出したけど これ使ったことある人いる? マクロをC#で書けますよっていうやつ http://mokumokucsharp.hateblo.jp/entry/2016/07/13/140602 Visual Studio Codeとかいうのもインストして サンプルは動くんだけど インテリセンスがうまく効かんくて使い方がよくわからない それもそうだけどクラスを含むプロジェクトを参照しているモジュールからそのクラスのインスタンスを 直接Newで作れないのにも困ってる。 Create〜系の関数を書いて置き場所に迷う場合が特に。 仮にC#使いだったとしても、VBA覚えるわ。 VBAにある機能をどれくらいカバーしているのか。 99%以下ならイラネ。 ていうか、そもそもどういう仕様だろう。 C#で書いたのを、内部的にVBAに翻訳して標準モジュールに書き込むとかだったら笑う。 よく見たら、 全てのVBAコードを生まれる前に消し去りたいとか、凄いこと書いてる。 何かに憑りつかれてはいませんか。 機能よりも言語仕様で if()then とかやっちゃう 重複した行を削除したいのですが、ググってみると 重複した下の行を削除するプログラムが殆どです。 上の行を消すプログラムはないでしょうか? >>500 なんでこんな馬鹿なのに偉そうにできるんだろう >>506 だって、要は、VBA使いこなせないからC#でとか言ってるわけだろ。 VBAに心の底から辟易って、使う人の能力の問題を、何で言語のせいにしてるのか。 質問です。 Excel2007ですけど、複数のオートシェイプをグループ化せずに同時にカットできますか? オートシェイプを選択してSelection.Cutメソッドを実行すると、なぜかセルがテカテカするのです。 ShapaRangeオブジェクトにはCutメソッドが無いみたいですし。 とりあえずSendKeys "^x"で対処してるけどなんだかなあ、という状況です。 RangeのUnion、初期値がNothingのときエラーになるのが残念だ Officeが入っていればどのPCでも動く、というVBAの最大の利点を犠牲にしてまでC#で書く意味はないね。 自己満以外の何ものでもない。 幸せになるのは自分だけ。 自分の仕事が楽になるならいいんじゃないか 共有するやつは別 VBAって基本、かならず自動でコンパイルされた上で実行されるんですか? [デバッグ]-[コンパイル]ってやらずに実行するとえらく遅いんですが。 >>512 コード資産が共有できない(自分の中でも)、というプログラマにあるまじき行為。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる