Excel VBA 質問スレ Part81
a = -2 と b = 3から符号を格納した2x2の配列を作りたいんだけど、
リテラルで書くとできる。(m0)
変数を埋め込んで書くと出来ないというかエラーもしてしまう。
どうすればいいわけ?
m2は「エラー 2029」になるんだが。
----以下コード
a = -2
b = 3
m0 = [{-1,0;0,1}]
txt_mtx = "{" & a / Abs(a) & ",0;0," & b / Abs(b) & "}"
m1 = [txt_mtx]
m2 = ["{" & a / Abs(a) & ",0;0," & b / Abs(b) & "}"] >>50
出来ました
m2 = Evaluate("{" & Sgn(a) & ",0;0," & Sgn(b) & "}") >>52
arrayで2x2の配列が作れるかい?
2x2の配列と配列の配列は別物だよ。 array(array(1,2),array(3,4))
これでvlookupきぐから2次元だっぺよお? >>49
角括弧([])はEvaluateの糖衣構文ではあるものの、
角括弧内で変数は評価されない
だから変数として書いた部分が変数として評価されず、
名前が定義されてないってエラーである2029が返る >>54
行列計算したかったんだが、
今やってみると
array(array(1,2),array(3,4))
でも動くな。
2x2の配列を作りたかった苦労は何だったのだろう。
それにしても行列計算の関数て使用頻度少ないな。 >>59
行列の積はWorksheetFunction.Mmult()、
逆行列はWorksheetFunction.Minverse()、
行列式を求めるWorksheetFunction.Mdeterm()ってのがあったりする 最近VBAを学びなおそうとしてるんだけど、最近はweb情報を取得する場合はIEは使わない感じ?
いまはExcelでスクレイピングするなら何が主流なの? >>61
旧IEが昨今のネット社会からサポート終了になってるので、
IEだと見えないサイトが有る。
だから、Seleniumを普通は使う。
それにSeleniumのほうがスクレイピングで使えるコマンドが多いからSeleniumを使うのがおすすめ。
だけど、SeleniumはSeleniumbasicをインストールする必要があるので、
会社がそんなの入れるなていうバカな会社ならIEでやるしかない。 >>61
まだIEでもスクラップは可能だけど、古いサンプルはそのままでは動かないケースが増えてる
ちょっと修正すればいいんだけど、これが意外と面倒
>>62
Seleniumは必須じゃないよ
ググればSeleniumを使わずにEdgeやChromeを操作するサンプルが出てくる
ただし、もう一つのWebDriverモジュールは必要なので、面倒なことに変わりないけど VBA学び直すくらいなら、RPA学びながらやった方ができること増える あ、RPAでもスクレイピングうまくいかないサイトもあるので、seleniumはその時やればいい >>63
結局、WebDriverがいるんでしょ。
セキュリティに厳しいところ向けにSeleniumをインストールしませんがWebDriverは必要ですなんて、
ペテンだよ。
だったらはじめからSeleniumをインストールしたほうがいい。 ユーザーフォームにブラウザコントロールを貼り付けたらどうかと思って試してみたら、中身はIEだった
EdgeベースのブラウザコントロールもVBなら使えるんで、がんばればVBAでもやれそうな気はする
あと、どこかでWebDriverをVBAだけで再現してる人を見た気がする https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA
WebDriverを使わずにChromiumをコントロールする方法はこれかな
ほかにも同じようなことをやってる人がいたはず
見たときにブックマークしとけばよかった どうでもいいけど、
イマドキ、ブラウザのブックマークやらお気に入りではとても追いつかなくて
Webクリップアプリは必須とちゃうん?
OneNoteとかEvernoteとかNotionとか >>68
WebDriverを使わないってだけで、WebDriverの代わりに何かをインスコさせるだけじゃないの?
ページのコード動かしてみたけど、定義されてないっていってくるぜ。
結局、WindowsとExcelだけで動かすには旧IEをCOMで動かすしかない。
seleniumとかWebDriverを使わないっていってるのって、だいたいインチキ。 Webview2がExcelに対応してくれないから、もう諦めてWinhttpにしたわ いいなぁそういう話題
専門部署じゃないけどVBAであれもこれも自動化出来ますって連呼してた中途のおっさんが完全に詐称だった
マクロの記録から始める自動化2003みたいな本を就業中にずっと見て居眠りまでしてんじゃねーよカス
イラつきすぎてストレスやべぇ 自動化できます( ・´ー・`)ドャ
普通なら黙っとくものだよね。
自分の作業でコッソリ使うものだよマクロは >>74
で?それが何か?
VBSとVBAは違うものだけど 能力の低さに苦笑せざるを得ない。
しっかりしなはれ VBSとVBAが同じものだと思ってるヤベー奴が本当にいるとは… >>78
誰が「VBSとVBAが同じ」だと言った? >>77
おまえは定時実行をまだOn Timeメソッドでやっているのか?
ご苦労なこった でもVBSなんて今時普通使うことある?
業務ではすんごい昔のWebシステムでClassic Aspで作られてる奴改修するくらいしか当たる機会ないんだけど。 お前が気づかんだけで
スクリプトとかVBSてまだ大活躍だぞ。
オレのテレビ番組録画システムもVBSが結構あるからpowershellに書き換えんと。 xlsmファイルはいちいちマクロブロックされてウザいからvbsにしてる お前らみたいな知識の持った奴の煽り合いなんて平和なもんだわ
自動化出来ますおじさんに業務中に今更マクロの勉強ばっかりされても困るって注意したわ
その腐った本と一緒に焼却されろよマジで ここはVBAスレ
掲示板の初歩的なルールすら守れないやつがマウント? >>86
ID:Y60s2JI8はVBSとVBAが違うものだとわからずに書き込み、それを指摘されて必死にごまかしているだけ このスレもExcelスレも質が大幅に落ちたよな。VBSとか関係ない話で争い起きたり。
昔のいい感じの流れは復活しないのか? 前触れも説明も無くとーとつにVBSのリンクを貼り付けた、その意図をご説明願いたい 何がしたかったん? >>88
ちゃんとした質問にはちゃんとした回答来てるように見えるけどね ID:Y60s2JI8は例の日本語ワープロが使えたことが自慢だった零細企業の爺だろ
口調が同じ
VBAもわからず絡んでいた馬鹿だよ ワープロ自慢て下手すりゃ60代よりさらに上の世代じゃね?70代オーバーとか 昔のワープロってディスプレイが1行しかなかったのに、あれで文書作れることに驚いたわ。 スレ違いの話題を続ける奴、
ワープロ使える自慢の爺と同レベルの馬鹿なんだけど、
本人達って気付かないもんなんだな こんな事で争うなよ…
中途の奴に重圧かけて作らせたの見てみたら
Aさんの営業利益とかセルに出力されたわ
てめぇどっかのサイト丸ごと引用してやがるだろころすぞ VBAで正規表現を使うために頻繁に
Set RE = CreateObject("VBScript.RegExp")
を使っているんだが、
VBScriptが終了したらこれを使ったコード動かなくなるの? 汗
ttps://gigazine.net/news/20240527-microsoft-vbscript-deprecation-timeline/ >>99
でもExcelに正規表現関数追加されるよ OLEとかCOMとかわからないのかよ
これらはVBSのモジュールだと思ってんのか? >>101
VBScript.RegExpはVBS(Script Engine)の一部
2024H2でオプトアウト出来る(deprecated phase 1)
2027以降はオプトインでインストール(deprecated phase 2)
その後のタイミング(未定)で廃止 >>101
名前空間がVBScriptなのにVBSじゃない方がビビるわ VBAは互換性の為だけにVB6仕様にしているのだが、
vbsが消えるのを機に切り捨てて、別の仕様にしたら良いよ
古すぎるわ まあvbsが消えるのを機と言っても直接的な関係性は無いし
未だにVBAはdeprecationされてない
望む声はあってもMS的にはこの20年間、不可能の判断でしょ 正規表現関数は試験的に導入だから今後実装されるか分からないと聞いた。 >>110
半年もしたらオプトアウトして確かめられるね >>104
俺もそうかと思ってたんだけど、例えばVB.Netに移行(まぁVB.Netも大概古いけど)するとして、Variantの部分とかどう補うんだろ?
高速化のために、VariantにRangeの値を突っ込んで配列として使ってる人も結構いると思うんだけど、
.Netじゃなくても今Variantなんて型持ってる言語、中々無いんじゃない? >>112
Variant型は元々Windows内部のライブラリに組み込まれてる
VBAやVBに独自の物ではない
だから、他の言語でもWindows環境であれば、使おうと思えば使える ____∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
~' ____(,,゚Д゚)< VBA逝ってよし!
UU U U \________ >>113
え?じゃ、例えば.Netではどんな構文で書けるの? VBAが廃止されても関係なくVBAを趣味でやり続けたい なおさらもっと楽しい言語いっぱいあると思うが・・・ 今でも米国でVBAエンジニアの給与2000万円クラスだってな。日本でも正当にその価値を評価してほしいわ。 それはVBAだからではない
米では年収1000万円以下が低所得層 行政書士は、なぜ高年収なのか?
行政書士は低年収のはずだが、
元から高年収のサラリーマンが資格を取るから、高年収になるだけ
Rubyは、Go/Rust/Elixir の3大言語を超えた!
Stack Overflow 米国年収。2022 -> 2023
Ruby : 9.3 -> 9.9 万ドル
Elixir : 9.3 -> 9.6
Go : 8.9 -> 9.3
Rust : 8.7 -> 8.7
多くの言語 : 6.5〜7 -> 7.3〜7.8
PHP : 5 -> 5.9
Dart : 4.4 -> 5.6
PHP, Dart は、コンピューターサイエンスを勉強していない高卒用言語 >>120
日本じゃvbaエンジニアという職すらない VBAで正当な評価をして欲しいって字面だけ見ると滑稽だけどめちゃくちゃ今でも重要なスキルだね
でも2000万を引き合いに出すのはやっぱり笑う VBAをしっかり書ける人は貴重な存在なはず。だって日本のExcelユーザーの半数はVBAスキルが無いと聞いたから(ヤフーか何かの記事で見た)
VBAが書ける人はもっと自信もって良いと思いますよ 会社役員的にはエクセルでお金を稼いでるわけじゃないという感じだろう
なので、vbaを書ける人に大金は払いたくない Excelユーザーなのにマクロ書けない事自体が問題なのだが。
Excelできる=マクロも書けるの図式でしょ? >>128
その調査はスキルあるって言っても、数式が書ける程度のレベルも入れてそうだけど マクロのスキルがあっても対人スキルがないから
ネットでマクロの自慢するしか出来ないのか ExcelもVBAも業務を効率化するための道具だよ
「VBAできます」じゃ経営者はなんとも思わない
これだけ人件費が削減できます、納期が短縮できます、利益が増えますってプレゼンして、利益の何割かを技能手当としてもぎ取れるのが一流のプログラマー >>132
マクロ書けても統計関数使えない人だっているからその認識は間違い マクロ使える=Excelの上級レベルだと職場の先輩上司に聞いたし。 全部覚える必要は無いと思う。仕事に必要な知識だけで良いと思う。 >>141
ど、どうやって? 俺等は単なる兵隊だや