Excel VBA 質問スレ Part55

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2018/07/22(日) 14:13:18.78ID:/fuF+goF
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part54
https://mevius.5ch.net/test/read.cgi/tech/1527334657/
2018/08/22(水) 19:10:31.37ID:3pfLjmIv
excelは入ってる前提ですか
2018/08/22(水) 19:13:15.55ID:S7ILKLj9
>>967
ocra使えよハゲ
2018/08/22(水) 19:43:28.97ID:+UDLE+c7
>>967
んでVBAを送ったらバージョン違いやビット数違いで動かないとか
ちょっとシートをいじったら壊れて動かなくなったとか
よくわからないメッセージがでてマクロの実行ができない
とかまたトラブルが発生するんだろうな
セキュリティ設定強めで情弱顧客の組み合わせではありがちなパターンだな
最初からPowerShellにしときゃなんの依存もなく確実に動いたのにくだらないことで信用を失ってもったいないなあ
971デフォルトの名無しさん
垢版 |
2018/08/22(水) 19:46:22.95ID:jIQXHl+4
パワーシェルがバージョン間の差異まで吸収してくれると思ってるパワー系バカを探してるんだけどこの辺に来てない?
2018/08/22(水) 19:48:07.56ID:+UDLE+c7
>>971
なんも知らんなら黙ってた方がいいぞ
2018/08/22(水) 19:54:10.93ID:NmStLZEH
>>970
スゲー。
PowerShellだと削除したシートも甦らせてくれるとはシラナカッタ。
974デフォルトの名無しさん
垢版 |
2018/08/22(水) 19:56:16.90ID:jIQXHl+4
>>972
なんだ?俺はパワー系バカを探してるんだがおまえ知ってるのか?
2018/08/22(水) 20:05:38.43ID:HvlLP3Kg
>>970
PowerShellって使ったこと無いんだけど、ユーザー定義関数とか作れるの?
え?作れないの?ゴミじゃん
2018/08/22(水) 20:06:09.29ID:CGdGAG7L
ビット数の違いは条件付きコンパイルで吸収すれば良いだろ
2018/08/22(水) 20:10:18.16ID:+UDLE+c7
>>975
作れるぞ

>>976
うわめんどくさ
2018/08/22(水) 20:15:11.20ID:HvlLP3Kg
>>977
じゃあ作り方教えてよ。
参考ページでもいいから。
2018/08/22(水) 20:21:01.59ID:HvlLP3Kg
>>977
あとユーザーフォームの代わりになるものとか、ワークシートイベントとかが拾えるのかも気になる。
この3つがスムーズに作れない限りPowerShellなんて産廃
2018/08/22(水) 20:34:54.69ID:CGdGAG7L
ユーザーフォームなら.NETで作れるだろ
2018/08/22(水) 20:39:10.83ID:NmStLZEH
PowerShellね。
今日、さすがにExcelとは関係ないzipの解答とできたフォルダ名の変更だからかなり久々にVBAじゃなくてPowerShellで書こうとしたさ。

v5インストール?
実行ポリシー?
VBAで良いや。
2018/08/22(水) 20:45:35.66ID:6796EQ6v
>>962, >>965
>>945
2018/08/22(水) 20:45:55.31ID:DdpZS95R
>>975
お前がゴミじゃんw
2018/08/22(水) 20:48:11.66ID:JLjJESO/
csvファイルの中身を整理整頓して別シートに並べ直すマクロを書いてるんだけどもなんか下手くそだなあと思う
具体的に下手くそな場所が言えないから改善もできない
なんかこう微妙だなあというときどうしてるの?
2018/08/22(水) 20:53:16.42ID:zkT1nNYO
>>984
「正規化」という
そういうのは続けてれば慣れるよ
2018/08/22(水) 20:53:45.96ID:HvlLP3Kg
>>983ほどじゃないけどな?
2018/08/22(水) 20:57:54.17ID:FeRIeQCU
>>981
そこで躓くのは流石に意味分からん
というか最新は6だぞ
2018/08/22(水) 21:13:56.67ID:e5VZnZer
>>979
function
System.Windows.Forms
Register-ObjectEvent
2018/08/22(水) 21:17:30.80ID:e5VZnZer
>>981
shell.application
2018/08/22(水) 21:24:30.86ID:HvlLP3Kg
>>988
あ、ごめんユーサー定義関数って、ワークシート上で使えるユーザー定義関数のことね?
VBAなら普通に定義したらワークシート上で使えるから区別するの忘れてたわ。

で、PowerShellでfunctionで定義した関数はワークシート上で使えるの?

System.Windows.Formsってフォーム作成するところからゴリゴリコード書けってこと?しかもフル暗記しないと無理じゃない?
VBAならポチポチっとしたら10秒で作れるよね。
テキストボックスとボタン置いてちょっとした処理書くだけなら1分で出来るよね。
PowerShellでそれ出来るの?

Register-ObjectEventとか聞いたこと無いんだけど、これも暗記しないと無理だよね。
VBAならVBEで数クリックで作れるものに、どれだけ苦労すれば作れるの?
2018/08/22(水) 21:31:27.69ID:LgCz8h8z
>>987
配布前提だと実行ポリシーは面倒だわな
PowerShell -ExecutionPolicy RemoteSigned …
で逃げられるけど
2018/08/22(水) 22:46:05.33ID:e5VZnZer
>>990
フォーミュラのことなら知らない
ネイティブDLLとかJavaScriptなら定義できるみたいだがPSは無理じゃないかな

Add-Type -AssemblyName System.Windows.Forms
$f = New-Object Windows.Forms.Form
$t = New-Object Windows.Forms.TextBox
$b = New-Object Windows.Forms.Button
$p = New-Object Windows.Forms.FlowLayoutPanel
$b.Text = "Click Me!"
$b.add_Click({ Write-Host $t.Text }.GetNewClosure())
$p.Controls.Add($t)
$p.Controls.Add($b)
$f.Controls.Add($p)
$f.ShowDialog()
人によるだろうけど1分で十分作れる範囲だと思う
当然だけどコードなので再利用が簡単でどんどん生産性が上がっていく
VBE画面ポチポチでも再利用できなくはないけど面倒だよね

プログラミングはべつに暗記しなくていいと思うよ
わからなければ調べて自作ライブラリ化しておけば1行で済むようになるのがプログラムの魅力
何度もマウスをクリックしたくないというのが人情
2018/08/22(水) 23:10:51.30ID:9AKJRHSD
>>992
これ、どんなして使うのか教えて!
PS1に記述? Excelからどんなして呼び出すの?
2018/08/22(水) 23:52:09.50ID:HvlLP3Kg
>>992
フォームを作る部分で調べなければならないようでは凄くハードル高いよね。
誰でも(一度でも作った経験がある人なら)1分かからずフォーム作れるからVBAが良いのであって・・ベテランしか1分で作れないようなものはダメ
自作ライブラリ化しても、ある程度増えてきたら、何ていう名称だったかとか探さなくちゃいけないし結局、時間かかるよね。

>>993
たしかに、そもそもどうやって呼び出すんだろう。
エクセル上のボタンにハイパーリンク付けて実行する感じ?でもカレントディレクトリの・・・って指定出来たっけ。
2018/08/23(木) 00:22:02.48ID:5czy+V1T
>>994
そうか?
VBEのどこをどう操作したらどうなるんだってのすごくわかりにくいと思うけどな
.NETのコードを覚えるほうがずっと簡単だったよあっちはドキュメントも充実してるし

例えば自分がさっき書いたFlow Layoutの上にTextBoxとButtonが乗ってるサンプルだけど
初心者になった気持ちでExcel FormsでFlow Layoutってどうやってつくるんだろう? って考えて
Excel VBA Forms Flow Layoutとか検索キーにいれてググッてみたのだがコレだというのがいっこうに出てこない
検索してもすぐにはわからないならデザイナ頼りの初心者じゃなおさらこの時点で詰みだよね
2018/08/23(木) 01:13:45.31ID:CnER65fr
>>995
フローレイアウトが便利なのは分かるが、そもそもVBAで作るようなフォームでフローレイアウトが必須な場面はまず無い。
少なとも長年ExcelVBAで開発してきて可変サイズのフォームを作った経験はほぼ皆無。
普通にボタン置くだけで目的は達せられるのに、わざわざ不要な機能実装する必要はないと思う。
2018/08/23(木) 01:33:04.25ID:ufkyuu0q
自分が使ってないから不要理論
2018/08/23(木) 02:10:42.43ID:MddzC4G8
>>997
不要なのはフローレイアウトを使わなくても実現できるからで、自分が使ってないと言うのは実例
2018/08/23(木) 05:59:50.61ID:kThmoP0z
>>996
それ言っちゃうとVBA自体使わなくても目的を達せられるからVBAは必要ないってことになる
自分がその実例
2018/08/23(木) 07:10:59.23ID:Vto4tcSz
1000?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 31日 16時間 57分 41秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況