Excel VBA 質問スレ Part55

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


※前スレ
Excel VBA 質問スレ Part54
https://mevius.5ch.net/test/read.cgi/tech/1527334657/

0952デフォルトの名無しさん2018/08/22(水) 10:23:52.61ID:fEBzZlfO
他のプロシージャを呼び出してる行の次の行とかにブレークポイントを設定してから普通に呼び出し元のプログラムをF5で実行して、ブレークポイントで止まったところからF8でステップ実行を再開すれば良いと思う
呼び出された側のプロシージャのステップ実行をすっ飛ばせるよ

0953デフォルトの名無しさん2018/08/22(水) 11:06:16.49ID:y1N7+R1N
>>951
Shift + F8

0954デフォルトの名無しさん2018/08/22(水) 11:17:52.07ID:uHHsRsQ2
どうでもいい雑談で1スレ消費してしまった…

0955デフォルトの名無しさん2018/08/22(水) 11:59:18.29ID:g9Ou6iy2
>>949
ユーザーはアプリを使いたいんだ
それなのにデータのロードを強要する1ファイルスタイルは最悪と言っていい
エクセル自体遅いのに起動時にデータまでロードするとか遅すぎて話にならん

0956デフォルトの名無しさん2018/08/22(水) 12:01:42.56ID:g9Ou6iy2
>>950
セルに色つけたりグラフ作るのにわざわざスプレッドインターフェースを開く必要はない
色をつけたりグラフを作るコマンドを書いてそのコマンドにデータを流し込むだけ
データと分離しているからこのコマンドは何度も再利用できる

0957デフォルトの名無しさん2018/08/22(水) 12:08:18.81ID:khg6W7e6
もう質問スレ消して雑談スレだけでいいよ。匿名掲示板なんていくつもあるし。

0958デフォルトの名無しさん2018/08/22(水) 12:08:58.02ID:NmStLZEH
>>955
>>956
バカだろw
君はExcelでブックを開いたことが無いと言いたいのかいw

0959デフォルトの名無しさん2018/08/22(水) 12:13:01.39ID:NmStLZEH
データを見ながらどうするかというのがExcelなんだね。
コマンドで流し込むなら、それ以前に表の表示閲覧全てを業務システムでやれば良いわけで、Excelなんぞというアプリの需要も存在しない。

したがってExcelなどというアプリは見たことが無いと言いたいのか?

0960デフォルトの名無しさん2018/08/22(水) 12:26:13.82ID:sTWd/c17
excelは帳票出力ツールでもDBでもメモ帳ですら無い
表計算ソフトだって言いたいの

0961デフォルトの名無しさん2018/08/22(水) 13:28:13.92ID:S7ILKLj9
Excel開いてデータ見ながらアレコレ弄る場合、ささっと書けたほうが便利
なのでそういう場合irb(rubyの対話実行)使ってる
書き捨てプログラムはやっぱりrubyが強い

0962デフォルトの名無しさん2018/08/22(水) 14:43:36.16ID:wdTatf/S
でましたRubyヴァカ wwwwwwww

0963デフォルトの名無しさん2018/08/22(水) 14:49:19.76ID:S7ILKLj9
ヴァカって久しぶりに聞いた

0964デフォルトの名無しさん2018/08/22(水) 15:37:29.47ID:KXBQcxdn
リアルタイムプレビューは簡単に実現できるのでエクセル固有の優位性とは言えないな
そしてリアルタイムじゃなくてもデータ編集、処理編集、コマンド実行のループならエクセルの狭いウィンドウでシートとIDEを行ったり来たりよりもずっと早く作業できる

0965デフォルトの名無しさん2018/08/22(水) 16:46:23.26ID:bHLnqjZ4
RubyとかいうゴミクズはVBA以下

0966デフォルトの名無しさん2018/08/22(水) 19:03:37.04ID:I61xiysx
スパークラインをVBAで挿入したいんだけど範囲指定のところがうまくいきません。
わかる方いたら教えてください。よろしくお願いします。

call cells(10 , h ).SparklineGroups.Add(xlSparkLine, "n5: n100")

"n5: n100" のところなのですが、 
range(worksheets(h).cells(14,5) , worksheets(h).cells(14 , G ))

のようにして ワークシートごとの数値群をスパークラインにしていきたいのですが、、、
何か良い方法を教えてください。
よろしくお願いします。

0967デフォルトの名無しさん2018/08/22(水) 19:06:12.75ID:NmStLZEH
A「送った2つのファイルの内、拡張子がrbのファイルをダブルクリックしてください。
B「なんかファイルが開けませんとエラーが出るよ」
A「ん?・・・!ああ、それはRubyがインストールされて無いということですね。」
B「で、どうしたらいい?」
A「〜というぺージでダウンロードしてからPCにインストールしてください。」
B「分かった。」

しばらく後、
B「インストールしてたらさ、変な警告メッセージが表示されてさ、暫くしたらウチの会社の情シスの人がやって来て、勝手にソフトをインストールしないで下さいって怒るんだよ。で、Rubyのインストールはダメだって。」
A「そうなんですか。」
B「これさあ、どうしたら良いんだろう。もう駄目ってこと?」
A「・・・・・・。わかりましたVBAで組んで送ります。」
B「VBAってのは何だい?」
A「〜が〜で、〜というわけなんですよ。」
B「ふ〜ん。何となく分かったけど、どうして最初からそのVBAってのを送ってくれなかったんだい?」
A「・・・・・・・・・・・・」

0968デフォルトの名無しさん2018/08/22(水) 19:10:31.37ID:3pfLjmIv
excelは入ってる前提ですか

0969デフォルトの名無しさん2018/08/22(水) 19:13:15.55ID:S7ILKLj9
>>967
ocra使えよハゲ

0970デフォルトの名無しさん2018/08/22(水) 19:43:28.97ID:+UDLE+c7
>>967
んでVBAを送ったらバージョン違いやビット数違いで動かないとか
ちょっとシートをいじったら壊れて動かなくなったとか
よくわからないメッセージがでてマクロの実行ができない
とかまたトラブルが発生するんだろうな
セキュリティ設定強めで情弱顧客の組み合わせではありがちなパターンだな
最初からPowerShellにしときゃなんの依存もなく確実に動いたのにくだらないことで信用を失ってもったいないなあ

0971デフォルトの名無しさん2018/08/22(水) 19:46:22.95ID:jIQXHl+4
パワーシェルがバージョン間の差異まで吸収してくれると思ってるパワー系バカを探してるんだけどこの辺に来てない?

0972デフォルトの名無しさん2018/08/22(水) 19:48:07.56ID:+UDLE+c7
>>971
なんも知らんなら黙ってた方がいいぞ

0973デフォルトの名無しさん2018/08/22(水) 19:54:10.93ID:NmStLZEH
>>970
スゲー。
PowerShellだと削除したシートも甦らせてくれるとはシラナカッタ。

0974デフォルトの名無しさん2018/08/22(水) 19:56:16.90ID:jIQXHl+4
>>972
なんだ?俺はパワー系バカを探してるんだがおまえ知ってるのか?

0975デフォルトの名無しさん2018/08/22(水) 20:05:38.43ID:HvlLP3Kg
>>970
PowerShellって使ったこと無いんだけど、ユーザー定義関数とか作れるの?
え?作れないの?ゴミじゃん

0976デフォルトの名無しさん2018/08/22(水) 20:06:09.29ID:CGdGAG7L
ビット数の違いは条件付きコンパイルで吸収すれば良いだろ

0977デフォルトの名無しさん2018/08/22(水) 20:10:18.16ID:+UDLE+c7
>>975
作れるぞ

>>976
うわめんどくさ

0978デフォルトの名無しさん2018/08/22(水) 20:15:11.20ID:HvlLP3Kg
>>977
じゃあ作り方教えてよ。
参考ページでもいいから。

0979デフォルトの名無しさん2018/08/22(水) 20:21:01.59ID:HvlLP3Kg
>>977
あとユーザーフォームの代わりになるものとか、ワークシートイベントとかが拾えるのかも気になる。
この3つがスムーズに作れない限りPowerShellなんて産廃

0980デフォルトの名無しさん2018/08/22(水) 20:34:54.69ID:CGdGAG7L
ユーザーフォームなら.NETで作れるだろ

0981デフォルトの名無しさん2018/08/22(水) 20:39:10.83ID:NmStLZEH
PowerShellね。
今日、さすがにExcelとは関係ないzipの解答とできたフォルダ名の変更だからかなり久々にVBAじゃなくてPowerShellで書こうとしたさ。

v5インストール?
実行ポリシー?
VBAで良いや。

0982デフォルトの名無しさん2018/08/22(水) 20:45:35.66ID:6796EQ6v

0983デフォルトの名無しさん2018/08/22(水) 20:45:55.31ID:DdpZS95R
>>975
お前がゴミじゃんw

0984デフォルトの名無しさん2018/08/22(水) 20:48:11.66ID:JLjJESO/
csvファイルの中身を整理整頓して別シートに並べ直すマクロを書いてるんだけどもなんか下手くそだなあと思う
具体的に下手くそな場所が言えないから改善もできない
なんかこう微妙だなあというときどうしてるの?

0985デフォルトの名無しさん2018/08/22(水) 20:53:16.42ID:zkT1nNYO
>>984
「正規化」という
そういうのは続けてれば慣れるよ

0986デフォルトの名無しさん2018/08/22(水) 20:53:45.96ID:HvlLP3Kg
>>983ほどじゃないけどな?

0987デフォルトの名無しさん2018/08/22(水) 20:57:54.17ID:FeRIeQCU
>>981
そこで躓くのは流石に意味分からん
というか最新は6だぞ

0988デフォルトの名無しさん2018/08/22(水) 21:13:56.67ID:e5VZnZer
>>979
function
System.Windows.Forms
Register-ObjectEvent

0989デフォルトの名無しさん2018/08/22(水) 21:17:30.80ID:e5VZnZer
>>981
shell.application

0990デフォルトの名無しさん2018/08/22(水) 21:24:30.86ID:HvlLP3Kg
>>988
あ、ごめんユーサー定義関数って、ワークシート上で使えるユーザー定義関数のことね?
VBAなら普通に定義したらワークシート上で使えるから区別するの忘れてたわ。

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

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

Register-ObjectEventとか聞いたこと無いんだけど、これも暗記しないと無理だよね。
VBAならVBEで数クリックで作れるものに、どれだけ苦労すれば作れるの?

0991デフォルトの名無しさん2018/08/22(水) 21:31:27.69ID:LgCz8h8z
>>987
配布前提だと実行ポリシーは面倒だわな
PowerShell -ExecutionPolicy RemoteSigned …
で逃げられるけど

0992デフォルトの名無しさん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行で済むようになるのがプログラムの魅力
何度もマウスをクリックしたくないというのが人情

0993デフォルトの名無しさん2018/08/22(水) 23:10:51.30ID:9AKJRHSD
>>992
これ、どんなして使うのか教えて!
PS1に記述? Excelからどんなして呼び出すの?

0994デフォルトの名無しさん2018/08/22(水) 23:52:09.50ID:HvlLP3Kg
>>992
フォームを作る部分で調べなければならないようでは凄くハードル高いよね。
誰でも(一度でも作った経験がある人なら)1分かからずフォーム作れるからVBAが良いのであって・・ベテランしか1分で作れないようなものはダメ
自作ライブラリ化しても、ある程度増えてきたら、何ていう名称だったかとか探さなくちゃいけないし結局、時間かかるよね。

>>993
たしかに、そもそもどうやって呼び出すんだろう。
エクセル上のボタンにハイパーリンク付けて実行する感じ?でもカレントディレクトリの・・・って指定出来たっけ。

0995デフォルトの名無しさん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とか検索キーにいれてググッてみたのだがコレだというのがいっこうに出てこない
検索してもすぐにはわからないならデザイナ頼りの初心者じゃなおさらこの時点で詰みだよね

0996デフォルトの名無しさん2018/08/23(木) 01:13:45.31ID:CnER65fr
>>995
フローレイアウトが便利なのは分かるが、そもそもVBAで作るようなフォームでフローレイアウトが必須な場面はまず無い。
少なとも長年ExcelVBAで開発してきて可変サイズのフォームを作った経験はほぼ皆無。
普通にボタン置くだけで目的は達せられるのに、わざわざ不要な機能実装する必要はないと思う。

0997デフォルトの名無しさん2018/08/23(木) 01:33:04.25ID:ufkyuu0q
自分が使ってないから不要理論

0998デフォルトの名無しさん2018/08/23(木) 02:10:42.43ID:MddzC4G8
>>997
不要なのはフローレイアウトを使わなくても実現できるからで、自分が使ってないと言うのは実例

0999デフォルトの名無しさん2018/08/23(木) 05:59:50.61ID:kThmoP0z
>>996
それ言っちゃうとVBA自体使わなくても目的を達せられるからVBAは必要ないってことになる
自分がその実例

1000デフォルトの名無しさん2018/08/23(木) 07:10:59.23ID:Vto4tcSz
1000?

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 31日 16時間 57分 41秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。