Excel VBA 質問スレ Part61
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part60
https://mevius.5ch.net/test/read.cgi/tech/1552736349/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured >>702
Sub Macro1()
For r = 1 To 500 ' 1行目から500行目までソート
Set Ra = Range("A" & r & ":D" & r)
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Ra _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Ra
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.Apply
End With
Next
End Sub ユーザーフォーム上に動的に生成したコントロールでenterイベントとれないんだけど仕様? >>701
でかいデータ処理自体はExcelにやらすべきでしょ
ネイティブだしマルチスレッドでやってくれるし >>696
> お前のようにスキルの無い奴では無い
他人が言うならまだしも自分で言うとか恥ずかしくないのかな?
まあまともな羞恥心あったらアホレスを延々しないかw >>712
お前は>>706が理解出来るか?
長いこと見てるがここで他で見たような高度な話に出会ったことがないわ。 >>714
そりゃvbaで高度な事をする理由がないから当たり前だろう
VBAは事務や営業がルーチンワークをちゃちゃっと楽するための言語だよ 上の方でリッジレーサーとか書いてたけど、そういう高度(?)なこともできなくはないで
昔、excelのフォーム上にdirectxで3Dオブジェクトとか動かしてたから
ラッパー作ってやれば相当いろんなことできる
(参照設定は含まないとか狭い了見のやつは知らん) Win32API呼べるんだからそら何でもできる事はできるでしょ >>716
理由のある場合もあるし、実際やってる所もある。
>>717
今はDirectXがほぼ扱えなくなってるから難しいけどね。
>>715
これが分かり易い例かな(VBだけど同じようなやり方はVBAでもできる)。
http://nienie.com/~masapico/doc_FuncPtr.html >>694
× rubyは互換性が高い
○ rubyは進化が高い
>>640でも言ってる通り、rubyは進化をサボりまくって完全に置いていかれた言語
端的に言うとゴミだ プログラム板にはところ構わずrubyネタを書き込むキチガイが常駐してます。
ご注意を。 会社で使ってるpcをwin10アップグレードwin7機をwin10プリインストール64bit機にしてもらったらDAO3.6の参照設定がされてる会社共有マクロファイルが動かなくなっててワロタ
参照設定をAccsess database engineに切り替えてあげて動くようにしてあげたら賞賛されてワロタ
古い技術・pc使ってんなぁ…と思った >>710
クラスモジュールで
Private WithEvents Obj As MSForms.TextBox
と宣言しておいて
form.Controls.Add("Forms.TextBox.1",str)
で生成してObjにSet
Private Sub Obj_Enter()でObjへのフォーカス移動を取りたいが取れない
labelのonClickとかは同じ方法でできてるんですが… 702です。色々とありがとうございます。704さんの仰る通りでございます。707さんのではできませんでしたが、大いに参考にさせていただき無事できました。助かりました! 使用人数の多い人気の言語なんて価値が低い
使える奴が溢れてるから君の代わりは沢山いるから明日から来なくて良いよ >>727
>使用人数の多い人気の言語なんて価値が低い
人件費と言語の価値をごっちゃにしすぎ
使用人数の多い人気の言語
>だからこそ価値がある
だよ >>714
どこが高度なのかさっぱり
変数にコード入れるとかむしろ昔の方がやってた(って言うかやらざるを得なかった)
Peek, Pokeとかあったしな
今のOSはチェックが厳しくなったからそのあたりは面倒になってるし低能がマウント取りたいだけにしか役立たんよw >>725
Enterイベントに入りすらしないということ? >>725
そいつはマジメにやるとすればとっても高度な奴だね。
OLE/COM Viewer使って情報取得して、ゴニョゴニョ...。
工夫で乗りきる方法も有るようだけど。 >>729
Peek、Poke使ってた時代はそれが簡単に出来た。
今は面倒になってるから高度なんだろ。 >>729
使わないとプログラムの構成が汚くなる。
で、これを知らなかった頃にクラスにWndProc置けないの何とかならんかと思ったことがある。
同じように考える人がいたからこれが実践されたわけ。
つまり、マウント取りたいだけにしか役立た無いなんて想像するようなアホなレベルの人では理解するのは力不足だよ。 >>719
GetProcAddress って何だっけ?
自分は AddressOf は大量に使ってるけどこいつは知らないな マウスを砂時計にしたいがためにWin32呼んでるアホマクロならこの間見つけたな >>736
関数名を文字列で渡すのか...
関わりたくないな Excelで出来ることを屁理屈で言ったら、究極は何だろうな。
VBSでも、IE画面にタグを書き込めば、GUIを作れる!みたいなの。 言葉尻を捉えて揚げ足取り合ってて楽しんでるようにしか見えない そうだな。文字列データあればなんでもできるくらい愚か。 VBAで必要にならない処理なら単なるビックリ処理で終わりだろうな。
それじゃ意味が無い。 シートやブックの指定を毎回名前で指定してるコードをよく見るけど、処理遅くなるし保守性悪いしでいいことないのになんでやってるんだろ >>731
あらかじめ設置しておいたテキストボックスをwithEventsのObjにSetすれば同じ方法でEnterイベントとれるんですが
>>732
やはり普通のやり方ではとれないのが仕様なのか >>733
高度なのと面倒なのの区別もつかないのかよw
>>734
今それやってるやついるか?
そもそもVBAの中途半端なクラス機能なんてたいして使えないし あ〜〜電子タバコ意味ないんじゃ〜〜
金返せ〜〜〜〜〜 >>747
高度だが。
Windowsがどのようにして動いてるかなど、Peek、Pokeの時代は知る必要さえ無かった。
やってる奴はいる。
自分のスキルの問題を言語のせいにする奴にとっては中途半端なんだろうな。 まあせいぜいコンストラクタに引数も持てない、継承もできないクラスでOOPごっこでもしてればいいんじゃね?w >>752
結局こういうことを言う人はC#だろうがPythonだろうが自分のスキルが足らないとこの言語はダメだと言って自分のスキルを上げるとか工夫するとはならないんだろうな。
文句を垂れるだけで自分で解決しようともしない。 どうやって解決するんだよw
解決策の一つでも出して見てから言えよ
ちなみにC#とPythonもコンストラクタに引数は持てるし継承もサポートしてる >>752
コンストラクタに引数持てないことを問題視する意味がわからん
どんな言語も万能じゃない
他のやり方で解決できるなら、そうするんだよ
アセンブラしか使えないなら、その仕様範囲でプログラミングするんだよ
大きな口叩くならお前が万能言語作ってみろや > 大きな口叩くならお前が万能言語作ってみろや
クスクス >>755
> コンストラクタに引数持てないことを問題視する意味がわからん
えっ、まじで言ってるの?
クラスを持つ他の言語はたいていコンストラクタに引数持てるよね?
その意味もわからないの?
> 他のやり方で解決できるなら、そうするんだよ
だからVBAでクラスなんて使いどころが限られるって話なんだが…
> 大きな口叩くならお前が万能言語作ってみろや
極論で反論したつもりになる低能乙w コンストラクタに引数持て無いことの意味が分からないってアンタw
プログラム開発の経験ないって自分から言ってるようなもんじゃないか そんな局所的なこと言ってないってのが例えでわからんよねバカ達は
井の中で叫んでるやつは議論する価値なし PEEKとか懐かしいな
ポケコンかな
ずいぶん長い間、携帯雑誌に書いてる機械語をどうやって入力するのか分からなかったな
ベーマガはポケコン少なかったしな でも今のVBAは詳しく説明してくれて良い時代だよな
基本書と後はネット渡歩けばそこそこは作れるな
昔はベーシックは簡単だったがやれることが限られすぎてて
結局機械語に行かないと話にならなかったが、買った本が悪かったのか全く理解できなかった
代入ばかり書かれててもどうやったらゲームができるのか分からないよってよ >>690
そもそもだ
お前の頭じゃどんな言語を持ってしても
リッジレーサーは作れんだろう
俺にも作れない >>755
彼は日本語が読み取れないようだね。
どんな言語でもダメな部分はある。
その度に文句垂れて何もしない負け犬人生が目に浮かぶ。 >>765
>>754
具体的に語れないなら黙ってなよw >>748
動的リンクは LoadLibrary くらいまでなら許容できるけど関数単位は御免だよ
継承はいらないしインタフェースもいらない >>767
お前はLoadLibraryだけして何をするつもりなんだよw >>768
Dll ファイルに対してLoadLibrary したら、そこに含まれる関数はすべて普通に呼び出せるだろうが >>770
?
個々の関数名を文字列で渡す必要があるかないか、って話だぞ
>>719 で出た GetProcAddress の話が続いている >>771
だからLoadLibraryで得たハンドルをどう使う気なんだよ… >>772
ハンドルの使い方なんて関係ないだろ?
実行時に関数単位で文字列による指定をしなくて済むって言ってるだけだよ LoadLibrary()の下に関数を呼び出すコードを書いてみよ
ということでは Declare PtrSafe Function func Lib なんたら〜
だろ GetProcAddress がwindowsAPIならLoadLibrary もwindows API
API に文字列を渡して何かにattach するときに、関数単位なのかファイル単位なのかってだけの話だよ。
使う関数が多数あることを想定している。 >>775
それ使うならLoadLibrary関係ないだろw
言ってることがチグハグすぎる >>777
パスの解決に使うじゃないか
全部のDeclare 文にパス入れてんのか? >>778
今時 AddDllDirectory と SetDefaultDllDirectories でやるだろ… >>766
解決するつもりは無いのですよw
日本語分かります?
>>753は解決できるなんて話してないんですよ。
VBAのコンストラクタ問題を否定していない。
>>753はあなたのような人はC#で解決出来ない問題が出てくるとC#をこき下ろすだろうと言ってるにすぎない。
それとも「解決しようともしない」に反応してるのかな?
そういう話なら簡単です。
動作で問題になるよりコンストラクタ問題の解決は小さなことだからですよ。
あなたはコンストラクタ問題が解決出来ないからVBAでは実現出来ないと言って手を引いた。
しかし、私にとってはコンストラクタ問題が解決出来なくてもVBAで実現出来ることの方が上です。
動作の面でVBAの方が上となればの話ですが。
そしてVBAでの開発は限定された土俵であるがゆえに動作の面で上と成りやすい。
したがって総合的に有利となるわけです。 このスレ、質問に答えるというよりよくわからないレスバトルを楽しむ場所になってるよね >>780
誰もVBAを使わないなんて言ってない
VBAのクラスは使いどころが限られる言ってるんだが…
> 日本語が読み取れないようだね。
自己紹介だったのかw >>779
まあそれはあれだ
Windows 7 ェ... >>782
???
「どうやって解決するんだよw」などと発言してるのに?
論理的思考も出来ないのかね?
クラスの話はとても分かりやすい。
>>747を読めばVBAのクラスの欠点を少しでも減らそうとせずに放棄し、その上その努力をした者に対してマウントを取ろうとする愚か者の姿がよく見える。
クラスに問題があることよりも動作に問題の有ることの方が問題なのは当然だと思うんだがね。
1ファイル問題はその一部なんだが。 >>784
> 「どうやって解決するんだよw」などと発言してるのに?
そりゃ>>753が
> 文句を垂れるだけで自分で解決しようともしない。
なんて言ってるんだから当然解決策ぐらい持ってるだろうからな
まさか解決策も持たずに吹いてるだけじゃないでしょ?
> 論理的思考も出来ないのかね?
お前がなw >>785
おまえには不要かもな
ただ他の言語ではたいていサポートしてるから一般的には需要があることぐらいはわかるよね? VBAのクラス(モジュール)の残念な点
・プロジェクト外から New できない
・だからcreate〜 関数を作るしかないけど当該クラスモジュールに置けない
・その他関連するちょっとしたヘルパー関数とかも中に置けない
・コンストラクタに引数がない
・End 時には Class_terminate が呼ばれない
・プロパティウィンドウに出ない隠し属性がある
・メソッドの AddressOf が取れない >>786
ハァ...
日本語勉強してくれ。
出来ることと出来ないことがあるのはどんな言語でも当然のことだろう。
与えられた範囲の中で少しでも改善できる余地が有るのに己のスキルの無さから放棄したお前のことを言ってる。
改善策があるかないかの話などしていない。
そして、お前の主張は動作に問題があることに比べれば全て些末な問題だ。
クラスについてもピントが外れてる。
コンストラクタの引数問題や継承問題よりもカプセル化が不完全な問題の方が大きな問題だ。
にもかかわらず、>>747の発言をして何とも思わないのは滑稽だ。 >>788
>プロパティウィンドウに出ない隠し属性がある
他は古い言語だし仕様として諦めも付くが、
これはマジでキツイ、というか意味が分からない
ほんと何でなんこれ >>790
改善策も持たずに
> 文句を垂れるだけで自分で解決しようともしない。
なんて言ってたのか?
論理的思考以前に引っ込みつかなくなったアホにしか見えんw >>791
クラスを利用しなくなる、という点で深刻 >>793
出来ないことを罵り、出来ることをしない無能を批判した文章を日本語として理解出来なかったという更なる無能をよく理解出来て良かったなw >>792
非表示プロパティのことだよな。
確かに何でこんなことになってんの?ってのはある。
でも、非表示プロパティをプロパティウィンドウで設定したいと思ったことは無いなあ。 >>793
引っこみw
笑えるわw
なぜ>>765の発言になったのかを考えれば最初から改善策の話じゃ無いの明白なんだが。
>>753に対しての>>754が頓珍漢だから日本語の理解の話になってる。
頓珍漢の意味は分かるか?
噛み合って無いことを指摘してる話だぞ。
改善策の話なら噛み合ってることになるから>>765の発言にならない。 今のがシフトケーブルで良かったな、ブレーキケーブルだったらお前はもう死んでるぞ アホが必死になってるみたいだが
改善策も持たずに
> 文句を垂れるだけで自分で解決しようともしない。
なんて言ってた事実は消えない >>802
何度書いても、日本語が理解出来ないことが露呈するだけだw こういう自分の無能を気付いてないのを装い続けてうやむやに誤魔化そうとするのって少し前に見た気がするなw >>806
日本語の勉強しろw
日本人じゃなくてもコミュニケーション取れねーんじゃ議論にならないw ■ このスレッドは過去ログ倉庫に格納されています