Excel VBA 質問スレ Part55
レス数が1000を超えています。これ以上書き込みはできません。
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part54
https://mevius.5ch.net/test/read.cgi/tech/1527334657/ じゃ、あんたはC言語とかJavaでExcelを操作すればいい >>897
当たり前のことを当たり前と認められないほどくやしいんだな
VBA質問スレでVBAで答えを出してやるのは当たり前のこと >>897
明らかに当たり前の話だと思ってたんだが、君は違うようだから聞きたい。
zip圧縮する必要が有る場合とzip圧縮する必要が無い場合で、それ以外全く一緒の時にどっちが手間がかかるんだい? >>897
Excelブックを移動する場面が思いつかない?
君、働いて無いだろ。
ニートはExcel使わなくても良いんだぞ。
表計算が必要ならOpenOfficeやGoogleスプレッドシートをお勧めするよ。 >>902
zip圧縮する場合はわざわざ単一ファイルにする必要がなくなるんだからそれ以外同じという条件が馬鹿げてる
あり得ない前提を元に妄想するの好きだなお前 反論出来なくて別の話に持って行こうとするのはやめたまえ。 >>905
???
複数ファイルの場合はzip圧縮すれば良いと言ったのは君だろう。
単一ファイルの場合はzip圧縮する必要が無い。
で、両者の機能が同じ場合に、それを扱うのに手間がよりかかるのはどっち? >>905
というか「わざわざ」と書いてるんだから、君自身明らかに分かってる筈なんだけどなあw こいつと話してると自分の日本語が不安になってくるんだがこいつが読めてないだけだよな??? >>909
誤魔化さずに答えてやれば?
レスしてるやつ以外も見てるしさ。 >>907
zip圧縮する場合とzip圧縮しない場合は、単一ファイルにするという制限が違うのだから、それ以外の手間が一緒になることはないよね
単一ファイルにしないほうが、作る手間は少なくなる(←ならないって言いそうだけど)
だから
> それ以外全く一緒の時
という前提は、意味がない
強いて比較するなら、
単一ファイルにこだわりzip圧縮しない手間 vs 単一ファイルにこだわらずにzip圧縮する手間
で考えるべきじゃない?
>>908
「わざわざ」が修飾してるのは「単一ファイルにする」こと
つまりここで言ってるのは、単一ファイルにする必要なんてないよねってことなんだ
どうも君は、zip圧縮する事が手間だと私が内心思っている、という解釈をしているみたいだけど
上の通り単一ファイルにする事が手間と思ってるんだ
単語をなぞるだけじゃなくて、落ち着いて日本語の文法を読み解こう
大丈夫、慣れれば難しくないさ
>>910
たすけて >>911
何を言ってる?
バカなの?
それ以外の手間とは言っていない。
それ以外に両者に機能的な差が無い場合と言ってる。
単ーファイル(圧縮ファイル)にする作業を必要とせず、最初から単一ファイルになっている場合と単ーファイルにする必要のある複数ファイルの場合で、作業の発生するのはどっち?
「つまりここで言ってるのは、単一ファイルにする必要なんてないよねってことなんだ」などと言いながら「配布するときに限ってもzipっていう素晴らしい技術があるんだからzipすればいいだろ」などとも言ってる。
つまりどっちなんだ? バカ丸出しだ。
>>895に反論するためにzip圧縮の話をしたんじゃなかったのかよ。
くだらない反論(zip圧縮の話)なんかせずに最初から>>895に反論出来ないと言えば良いのに。 根本的に日本語に弱いようだから、分かりやすく二者択一を用意してやるよ。
1.単一ファイルの方が>>895のリンク先に書かれてる通り、取り扱いに便利だ
2.複数ファイルの場合でもzip圧縮すれば取り扱いの便利さは同じになるが、その作業の分手間がかかる。
君の意見は1と2のどっち? プログラムをあちこち移動させるとかセキュリティリスクじゃん
プログラムは所定の場所に配置して呼び出すものだ
それを理解してれば単体ファイルにするメリットがほとんど無いことがわかる ブックをメールに添付したこと無い人?
仕事したこと無いのかな? 自分中心で今何の議論してるのかも忘れるような奴が増えたね。 ここは議論スレじゃない、てことは忘れていいんですかね >>915
excel.exeとかのアプリケーションファイルと個々のマクロ付きファイルの区別が出来てなくて草生える ここが分かりません ←質問
○○ってxxxなんですか? ←質問
お前そんなことも知らないの? ←質問
バカなの? ←質問 >>916
ないなぁ
ファイル交換は別のよりセキュアで楽な方法で行いメールは通知のみ
ビジネスの基本だと思うけど、まさかメールでエクセル送っちゃうようなガバガバな企業なの?大企業って嘘だったのか? まあ普通はマクロ付きブックなんて送られたら真っ先に不正アクセスを疑うわな >>922
プッ。
そのセキュアな方法でも同じことに気付いて無かったのかな?
こういうこと言う奴が出てくると思ったw 目先のことに囚われて噛みつく方向性が分かって無いんだよなあ。 >>924
メールしか使ったことないタイムトラベラーさんには現代のリソース共有はちょっとイメージできないのかもしれんなあ >>922
ここじゃなく世の中全体でアンケート取ったら絶望的な結果だと思うよ
(日本だけかもしれんけど) エクセルファイル1つで片がつく学生実験やママの家計簿みたいな仕事は楽そうで羨ましい
日頃から百や千をこえるエクセルファイルを扱ってるともう物理的な事情で複数のデータとマクロを1つになんて言ってられない >>926
バカだからまだ分かってないw
ちなみにうちの会社でも専用のセキュアでファイルをやり取りできるようなシステムがある。
それでもメールに添付する奴もいるが。
しかし俺はメールにファイルを添付するようなことはしないな。
それでも、同じことだ。
だからそんなシステムのことまで書くようなムダなことはしないだけの話。
君はおバカさんだからわざわざムダなことをするようだが。 >>928
???
そんなもんまでエクセルでやってるアホ会社の話か?
それはもうエクセルでやるような話じゃ無いだろ。
あるいは文書としてファイルが多数有っても、それぞれが全然別の文書ということなら1つ1つの文書にVBAが乗っかってる方が良いけどな。 >>930
メールで1つのエクセルファイル交換してよろこんでるような規模の会社だと想像つかんだろうな
住んでる世界が全く違うのに分かり合うことなんてさいしょから無理だったんだよ 毎回荒らしいるからすげー聞きづらかったんだけどいつまでもいるから今聞く教えて
javaとかc、pythonでexcelファイルの、あるシートのあるデータ利用して云々かんぬんして結果をそのexcelに上書き
て処理するとき一番楽に実装出来るのはどの言語なの
詳細だけど特に言語の指定無し 俺が使えるのがjava.c.python.powershellくらい
大抵はexcel内のデータ利用してスクレイピングとかwebapi叩くとかして情報取得してexcelに転機
実行速度も多少は気にするけどそれよりも正確さとユーザがどれだけ楽かが重要
具体的に言えば処理に15分掛かろうがユーザがマクロ実行ボタン押すだけでほか作業やっても良いなら十分許容される >>933
もしかしたらSQLかもしれないよ
対象のExcelシートがどんなものかによるけどね >>928
> 日頃から百や千をこえるエクセルファイルを扱ってる
どんな職場だよ w >>933
https://github.com/dfinke/ImportExcel
Import-Excel input.xlsx |
ForEach { スクレイピングとかwebapi叩くとか } |
Export-Excel output.xlsx >>933
似たようなことをpythonでやってるわ
openpyxlが便利
配布するつもりならpyinstallerでexe化 PowerShell は複雑なものは、ダメ!
ファイル・テキスト処理なら、Ruby。
数学系のライブラリを使うなら、Python
Selenium WebDriver なら、Ruby, Python ファイルならpowershellだろう
しかもなんでwindowsでRuby・・・ >>932
全く反論出来て無いし、こいつも日本語に弱いようだ。
ファイル移動はメールに限らず全部アウトなことも気付か無い。
それともどうにも反論出来なくて悔しいからメールの話で憂さ晴らししてるのかな。
まあ、よく分からんが君の会社よりはデカイと思うがね。 どの言語もExcel開いた状態で動かすのに向いてない。
あとは自分の環境だけで動かすだけならどれでも良い。
他の人も動かすならPowerShellとかJavaとかかな。
どれもデータとプログラムが分離されてるのが不便なんだが、どうしてもExcelブックということを忘れる人が多いね。
まあ、VBAでも分離できるからどちらにも対応出来るけどね。 どんな職場だよw
◯◯とかかな
みたいな疑問文が含まれていれば質問スレのレスとしてセーフという風潮 >どれもデータとプログラムが分離されてるのが不便
いや一緒になってるほうが不便だろ… >>942
素人はデータとマクロを一緒にしたがる
ブックとは分離したほうが再利用しやすくて良い
分離するからvbaを使う意味はない
どの言語でも開いた状態で動かすことは簡単 ホットキーでPSコンソールを開いてActiveオブジェクトや選択オブジェクトを処理するための自作コマンドを打つ
Excelとはいえマウスはできるだけさわりたくないじゃん >>946
ブックの場合は一緒の方が便利なことも多い。
Excel使ったことない奴はそんなことも気付かない。
VBAではデータとプログラムを分離することも出来る。
両方できる方が良いのは当たり前。
開いた状態から別ファイルダブルクリックなんてかっこ悪いやり方をしなきゃならんのはいかがなものか。 Excelというプログラムを真っ向否定してるバカが多いね。
データとそれを加工する部分が分離されてて、そこに人間の判断だとかが必要無いならExcelというソフト自体いらないはず。
実際、業務システムではそういうのが結構有るだろ。
人間の判断は業務システム内でやれば良いわけだ。
Excelの場合はそういうシステムを組むなどという大変なことをせずに人間の判断でいろいろできる所が良いんだぞ。
Excelが持っている機能は汎用的だからブックに結び付いていないが、データを見ながら作業をするというExcelの通常作業を考えればそのブック特有の機能はそのブックに結び付いていた方が良いことを示している。
Excelというソフトでの作業がブック開いた状態でアレコレするという、つまりセルに色をつけるとかグラフを作るとか、そういう作業はデータを見ながらやるわけでプログラムとデータが分離されてたら不便なことを証明している。
分離されてた方が良い場合ってのはデータの値があるしきい値によって自動的に分類され、それによってセルに色が付けられるなどの場合だ。 デバグのときF8でコード1行ずつ実行できるのはいいのですが
SubやFunction呼び出しのときはわざわざ見に行かなくてよくする設定はどうしたらいいですか? 他のプロシージャを呼び出してる行の次の行とかにブレークポイントを設定してから普通に呼び出し元のプログラムをF5で実行して、ブレークポイントで止まったところからF8でステップ実行を再開すれば良いと思う
呼び出された側のプロシージャのステップ実行をすっ飛ばせるよ >>949
ユーザーはアプリを使いたいんだ
それなのにデータのロードを強要する1ファイルスタイルは最悪と言っていい
エクセル自体遅いのに起動時にデータまでロードするとか遅すぎて話にならん >>950
セルに色つけたりグラフ作るのにわざわざスプレッドインターフェースを開く必要はない
色をつけたりグラフを作るコマンドを書いてそのコマンドにデータを流し込むだけ
データと分離しているからこのコマンドは何度も再利用できる もう質問スレ消して雑談スレだけでいいよ。匿名掲示板なんていくつもあるし。 >>955
>>956
バカだろw
君はExcelでブックを開いたことが無いと言いたいのかいw データを見ながらどうするかというのがExcelなんだね。
コマンドで流し込むなら、それ以前に表の表示閲覧全てを業務システムでやれば良いわけで、Excelなんぞというアプリの需要も存在しない。
したがってExcelなどというアプリは見たことが無いと言いたいのか? excelは帳票出力ツールでもDBでもメモ帳ですら無い
表計算ソフトだって言いたいの Excel開いてデータ見ながらアレコレ弄る場合、ささっと書けたほうが便利
なのでそういう場合irb(rubyの対話実行)使ってる
書き捨てプログラムはやっぱりrubyが強い リアルタイムプレビューは簡単に実現できるのでエクセル固有の優位性とは言えないな
そしてリアルタイムじゃなくてもデータ編集、処理編集、コマンド実行のループならエクセルの狭いウィンドウでシートとIDEを行ったり来たりよりもずっと早く作業できる スパークラインをVBAで挿入したいんだけど範囲指定のところがうまくいきません。
わかる方いたら教えてください。よろしくお願いします。
call cells(10 , h ).SparklineGroups.Add(xlSparkLine, "n5: n100")
"n5: n100" のところなのですが、
range(worksheets(h).cells(14,5) , worksheets(h).cells(14 , G ))
のようにして ワークシートごとの数値群をスパークラインにしていきたいのですが、、、
何か良い方法を教えてください。
よろしくお願いします。 A「送った2つのファイルの内、拡張子がrbのファイルをダブルクリックしてください。
B「なんかファイルが開けませんとエラーが出るよ」
A「ん?・・・!ああ、それはRubyがインストールされて無いということですね。」
B「で、どうしたらいい?」
A「〜というぺージでダウンロードしてからPCにインストールしてください。」
B「分かった。」
しばらく後、
B「インストールしてたらさ、変な警告メッセージが表示されてさ、暫くしたらウチの会社の情シスの人がやって来て、勝手にソフトをインストールしないで下さいって怒るんだよ。で、Rubyのインストールはダメだって。」
A「そうなんですか。」
B「これさあ、どうしたら良いんだろう。もう駄目ってこと?」
A「・・・・・・。わかりましたVBAで組んで送ります。」
B「VBAってのは何だい?」
A「〜が〜で、〜というわけなんですよ。」
B「ふ〜ん。何となく分かったけど、どうして最初からそのVBAってのを送ってくれなかったんだい?」
A「・・・・・・・・・・・・」 >>967
んでVBAを送ったらバージョン違いやビット数違いで動かないとか
ちょっとシートをいじったら壊れて動かなくなったとか
よくわからないメッセージがでてマクロの実行ができない
とかまたトラブルが発生するんだろうな
セキュリティ設定強めで情弱顧客の組み合わせではありがちなパターンだな
最初からPowerShellにしときゃなんの依存もなく確実に動いたのにくだらないことで信用を失ってもったいないなあ パワーシェルがバージョン間の差異まで吸収してくれると思ってるパワー系バカを探してるんだけどこの辺に来てない? >>970
スゲー。
PowerShellだと削除したシートも甦らせてくれるとはシラナカッタ。 >>972
なんだ?俺はパワー系バカを探してるんだがおまえ知ってるのか? >>970
PowerShellって使ったこと無いんだけど、ユーザー定義関数とか作れるの?
え?作れないの?ゴミじゃん ビット数の違いは条件付きコンパイルで吸収すれば良いだろ >>977
じゃあ作り方教えてよ。
参考ページでもいいから。 >>977
あとユーザーフォームの代わりになるものとか、ワークシートイベントとかが拾えるのかも気になる。
この3つがスムーズに作れない限りPowerShellなんて産廃 PowerShellね。
今日、さすがにExcelとは関係ないzipの解答とできたフォルダ名の変更だからかなり久々にVBAじゃなくてPowerShellで書こうとしたさ。
v5インストール?
実行ポリシー?
VBAで良いや。 csvファイルの中身を整理整頓して別シートに並べ直すマクロを書いてるんだけどもなんか下手くそだなあと思う
具体的に下手くそな場所が言えないから改善もできない
なんかこう微妙だなあというときどうしてるの? >>984
「正規化」という
そういうのは続けてれば慣れるよ >>981
そこで躓くのは流石に意味分からん
というか最新は6だぞ >>979
function
System.Windows.Forms
Register-ObjectEvent >>988
あ、ごめんユーサー定義関数って、ワークシート上で使えるユーザー定義関数のことね?
VBAなら普通に定義したらワークシート上で使えるから区別するの忘れてたわ。
で、PowerShellでfunctionで定義した関数はワークシート上で使えるの?
System.Windows.Formsってフォーム作成するところからゴリゴリコード書けってこと?しかもフル暗記しないと無理じゃない?
VBAならポチポチっとしたら10秒で作れるよね。
テキストボックスとボタン置いてちょっとした処理書くだけなら1分で出来るよね。
PowerShellでそれ出来るの?
Register-ObjectEventとか聞いたこと無いんだけど、これも暗記しないと無理だよね。
VBAならVBEで数クリックで作れるものに、どれだけ苦労すれば作れるの? >>987
配布前提だと実行ポリシーは面倒だわな
PowerShell -ExecutionPolicy RemoteSigned …
で逃げられるけど >>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行で済むようになるのがプログラムの魅力
何度もマウスをクリックしたくないというのが人情 >>992
これ、どんなして使うのか教えて!
PS1に記述? Excelからどんなして呼び出すの? >>992
フォームを作る部分で調べなければならないようでは凄くハードル高いよね。
誰でも(一度でも作った経験がある人なら)1分かからずフォーム作れるからVBAが良いのであって・・ベテランしか1分で作れないようなものはダメ
自作ライブラリ化しても、ある程度増えてきたら、何ていう名称だったかとか探さなくちゃいけないし結局、時間かかるよね。
>>993
たしかに、そもそもどうやって呼び出すんだろう。
エクセル上のボタンにハイパーリンク付けて実行する感じ?でもカレントディレクトリの・・・って指定出来たっけ。 >>994
そうか?
VBEのどこをどう操作したらどうなるんだってのすごくわかりにくいと思うけどな
.NETのコードを覚えるほうがずっと簡単だったよあっちはドキュメントも充実してるし
例えば自分がさっき書いたFlow Layoutの上にTextBoxとButtonが乗ってるサンプルだけど
初心者になった気持ちでExcel FormsでFlow Layoutってどうやってつくるんだろう? って考えて
Excel VBA Forms Flow Layoutとか検索キーにいれてググッてみたのだがコレだというのがいっこうに出てこない
検索してもすぐにはわからないならデザイナ頼りの初心者じゃなおさらこの時点で詰みだよね >>995
フローレイアウトが便利なのは分かるが、そもそもVBAで作るようなフォームでフローレイアウトが必須な場面はまず無い。
少なとも長年ExcelVBAで開発してきて可変サイズのフォームを作った経験はほぼ皆無。
普通にボタン置くだけで目的は達せられるのに、わざわざ不要な機能実装する必要はないと思う。 >>997
不要なのはフローレイアウトを使わなくても実現できるからで、自分が使ってないと言うのは実例 >>996
それ言っちゃうとVBA自体使わなくても目的を達せられるからVBAは必要ないってことになる
自分がその実例 レス数が1000を超えています。これ以上書き込みはできません。