[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/22 05:48 / Filesize : 289 KB / Number-of Response : 1047
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part57



1 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:42:39.57 ID:K1uuwFLt.net]
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part56
mevius.5ch.net/test/read.cgi/tech/1534976724/

201 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 06:01:57.35 ID:S2C8yCMr.net]
おっと野田工房さんの悪口はそこまでだ
https://qiita.com/nodakoubou/items/1c92d33855cfd09ccc57

202 名前:デフォルトの名無しさん [2018/09/19(水) 06:47:53.78 ID:wCu+CcEF.net]
office.tanakaのコードには俺も前から疑問持ってた。vbaにクソコードが多い原因とまで言っちゃうのはちょっと言過ぎだが。
vbaの場合、入門書にロクなのが無いってのが大きいと思う。

203 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:11:46.01 ID:3pMh17++.net]
少なくともオブジェクトが解放されてないとか文句言ってるのは別言語に移行すれば解決するな

204 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:16:58.74 ID:Q3mSx79m.net]
他人のせいにしちゃいかんな
モダンな文法や機能の導入
Excel.Applicationのインターフェース改善
洗練されたIDEの導入
これらを怠った結果でしょう
特にIDEの影響が大きいと見たね
インテリセンス、サジェスチョン、ワーニング、リファクタリングツールが充実してると大分変わる

205 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:27:16.54 ID:qT/e110f.net]
すくなくともVBEは変えるよな
素人マクロじゃなくて業務開発ならば

206 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:30:56.76 ID:LVCMaoiR.net]
>>163
それでもスレに来るのは何なの

207 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 09:05:12.30 ID:eB9Wvzp/.net]
>>198
とにかくVBAをけなして自分のチンケなプライドを満足させたい、その一点のみ w

208 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 09:07:56.31 ID:hRx0sgGQ.net]
啓蒙してユーザー需要を減らせれば、皆がハッピーになると信じている…のかも

209 名前:デフォルトの名無しさん [2018/09/19(水) 11:59:42.56 ID:9eFLiOtU.net]
暇つぶしの問題
あるセルとその下のセルに数値データが入っている
この2つのセルの中身を他のセルを使わずに入れ替えてください



210 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 12:11:03.24 ID:3D7E1PKU.net]
○○では××できない!糞!って騒ぎ立てることで
いや○○でもこうすれば××できるんやでという回答を引き出すメソッドや

211 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 12:13:54.07 ID:3D7E1PKU.net]
なおVBAの場合ほんとにできないのであまり効果的でない模様

212 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 12:39:07.72 ID:f2RidzcJ.net]
>>201
Dim Rng_Target As Range
Dim Val_Target As Long

Set Rng_Target = 目的のセルを取得するexpression
Val_Target = Rng_Target.Value
Rng_Target.Value = Rng_Target.Offset(1, 0).Value
Rng_Target.Offset(1, 0).Value = Val_Target

213 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 18:17:37.52 ID:r5xYEE0l.net]
If Not RangeA Like RangeB then
RangeA = RangeA Xor RangeB
RangeB = RangeA Xor RangeB
RangeA = RangeA Xor RangeB
End If

214 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 18:40:15.75 ID:AVetNhWj.net]
xor交換て数値型全部に使えるんだっけ

215 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 18:41:10.33 ID:5nElZyy0.net]
>>198
確認だけど日本語は読めるよね?
VBAの使い道を探してるって書いてあるけど見えなかったのかな

216 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 18:52:28.00 ID:0/ft7j2l.net]
>>207
いや、必要もないのに探す意味がわからないし
暇なの?

217 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 18:58:31.13 ID:5nElZyy0.net]
>>208
ん?
高い金出して買ったExcelを使い

218 名前:アなさなきゃもったいないだろ []
[ここ壊れてます]

219 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 19:21:40.70 ID:0/ft7j2l.net]
>>209
プライベートで有効に活用できないかってことね
趣味にもよるしなあ



220 名前:デフォルトの名無しさん [2018/09/19(水) 23:25:17.18 ID:J1A7PsDE.net]
プロも実はエクセル使えないの悔しいんやなwプロさんのくせにw

221 名前:デフォルトの名無しさん [2018/09/19(水) 23:28:02.58 ID:xLP4ypV2.net]
プロはセルで関数つかっても
vbaはつかわない

222 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 23:34:32.23 ID:f2RidzcJ.net]
ワークシートでユーザー定義関数使いたいときはVBA使う

223 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 23:47:39.17 ID:3pMh17++.net]
>>193
なんやかんや言いつつ文句の対象がVBAだけなの草

224 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 00:20:27.12 ID:EYF8wRp8.net]
頭の悪い人がVBA覚えると数式でも工夫すればできることもVBAでやろうとするよね
VBAは所詮「実行できる操作手順」だから、慣れてしまえば頭が弱くても分かりやすい
数式の方が論理的な思考が必要で突き詰めれば難しい

225 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 00:23:10.21 ID:5+Hsdig+.net]
ハイハイ偉い偉い

226 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 00:37:45.52 ID:grTR8BoD.net]
まるでVBAで数式を表現できないみたいじゃないか
変なこというヤツだな

227 名前:デフォルトの名無しさん [2018/09/20(木) 00:41:53.76 ID:zLqp8E23.net]
むしろ数式の途中結果を使いながら何列もつかって最終結果にたどりつく
途中で確認するからな
複雑な数式を一行やろうとなんか考えない

228 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 01:26:44.94 ID:SZObeV+C.net]
語彙力、たぶん関数って書きたかったんだろ

229 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 01:42:01.91 ID:iN76uuvx.net]
VBの組み込み関数とワークシート関数のどっちの話をしてるんだか



230 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 05:12:33.95 ID:We2hiCPZ.net]
Visual Basic Editorは20年前に発売されてとっくに引退したVB6のIDEの流用?で
なぜか20年間全く変わらないままだな、もうアホかと

Visual Studioで言うところの「すべての参照の検索」ぐらいできないと不便でしょうがない

231 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 08:13:11.22 ID:nFH62DW3.net]
そりゃMSにとってはVBAはもはやレガシーもいいとこであり滅ぼしていきたいものだからだ
君の愛する Visual Studio にも昔はExcel VBAと同様にCOMオートメーションによるマクロ機能とその専用開発環境が付属してたけど、いつの間にか消えただろ?
完全に時代遅れの死んだ技術なんだよ
Excel VBAを削除したら大量の自称プロが露頭に迷って電車のダイヤに多大な影響が出るから踏み切れない、
でも車内のポリシー的にレガシー技術への新規投資はできない、というわけで放置するしかないわけ

232 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 11:47:27.86 ID:lix+OrrW.net]
プロなんてものの数に入らないだろう
圧倒的に多いのは一般のオフィスワーカー
なくなったらむしろプロの側はビジネスチャンスじゃん

233 名前:デフォルトの名無しさん [2018/09/20(木) 12:03:27.50 ID:xZtTWzui.net]
質問です

タブ区切りtxtファイルを複数読み取り,指定の場所に貼り付けるVBAをMacOS上で制作したいのですが,ファイルパスの仕様?などの関係でうまくいきません

どなたかMacOSでのVBAに詳しい方はいらっしゃいませんか?

234 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 12:07:06.97 ID:liPfzeAw.net]
>>224
まずコードを貼れよ。話はそれからだ

235 名前:デフォルトの名無しさん [2018/09/20(木) 12:24:51.29 ID:xZtTWzui.net]
>>225
恥ずかしながら,コードはまだ完成していないのです.
そもそも他ファイルの読み込みすらままならないので・・・

練習として,同じフォルダ内にあるEXCELファイル(Sample.xlsx)を開くだけのコードを描いてみたのですが,それすらうまく回りません.
同様のコードでwindowsでは問題なく回ったのですが・・・

Sub Sample()
 Workbook.Open Filename:=ThisWorkbook.Path & "./Sample.xslx"
End Sub

この問題の解決法から教えていただけるとうれしいです.
初心者で右も左も分からず,基本的な質問になってしまい申し訳ありません

236 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 13:02:40.95 ID:liPfzeAw.net]
>>226
ドットが不要。マックは知らんけどWindowsは本来パスはバックスラッシュ、拡張子はxlsxな

237 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 13:09:09.59 ID:SZObeV+C.net]
今開いているファイルが
/boot/hoge/fuga.xlsm
だとして同じ階層の
/boot/hoge/Sample.xlsx
を開きたいなら
相対指定では../Sample.xlsx
.ではだめ。

238 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 17:49:38.92 ID:lix+OrrW.net]
グローバルなRangeプロパティへの参照を機械的に検知するアイディア
https://qiita.com/nukie_53/items/4e9226ac8f747e772afd

なるほどこの発想はなかった

239 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 18:03:18.90 ID:hYohggeS.net]
>>222
むしろプロは喜ぶね
Vbaそのものが目的化してるアマチュアのほうがきついんちゃう?



240 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 18:30:13.49 ID:5eDdLMhs.net]
VBAが使えるのを売りにしてる事務員は多いからね
さすがにそろそろVBEは標準では付属しなくなって、
MSのサイトの分かりにくい場所から別途ダウンロードが必要になるくらいの弾圧施策は打ってくるんじゃないかな

241 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 18:36:30.44 ID:49SYfM/r.net]
事務員にそんなもの期待してない

242 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 19:29:49.01 ID:lix+OrrW.net]
冷静に考えたらプロは喜ばないか
営業が喜ぶかもしれないってだけだな

243 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 20:28:39.42 ID:qGj9TL9d.net]
>>222
2019にPythonが実装されるという噂だが…
結局COMやらないと駄目、ってなったら旨味がほぼゼロ。
Excelが.NETに完全対応するんならVBAとか今すぐ無くなっていい。

244 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 21:44:20.01 ID:MjJalB6Y.net]
>>234
ん?
Excelに搭載するならVBA並みに使えるようにするだろ
COMで使うなら今でも使えるし

245 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 21:59:37.62 ID:whO82xMw.net]
マルチプラットフォーム、クラウドに注力してるのに
わざわざローカルのOSベッタリの技術にリソースは割きたくないでしょ

というかVBAの前にIEが消えると思う

246 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 22:42:00.54 ID:oVrOG/N2.net]
IEはガチのオワコンだからしゃーない

247 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 22:54:11.74 ID:tLKfXY5t.net]
>>234
そんな噂はねーよ
とっくの昔に否定されてる

248 名前:デフォルトの名無しさん [2018/09/21(金) 01:31:15.05 ID:MqKbhYRD.net]
ところがここだけの話そうでもないんだよねーあんまり詳しくは言えないけどね

249 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 02:38:37.17 ID:ITZv+Gmc.net]
>>239
負け惜しみ言ってるんじゃねーよ、死ねよ



250 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 09:35:36.97 ID:mvgA0QsA.net]
どんなのが搭載されても関係無いだろ。
それに合わせるだけだ。
逆に待ち望んでた奴らはまたコレジャ・・・がダメとか言い出すんだろう。

結局今と変わらない。
自分の能力の低さを言語のせいにするような奴らなんだから。

251 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 16:53:09.50 ID:Qvv9rksr.net]
事務仕事でVBA使えると業務効率すごく良くなるの?
作業自動化とか見て心がわくわくするけど、うちの会社誰もVBA使えなくていまいちどんな感じなのか想像できない

252 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 17:42:59.81 ID:CSX4ORRK.net]
>>242
自分でやってるExcelの仕事を、この部分を自動で出来たらどうなるかって考えてみたらよろしいやん。
出来るところ出来ないところ色々あるだろうけどさ。

253 名前:デフォルトの名無しさん [2018/09/21(金) 17:54:42.09 ID:r3aTV2Xy.net]
まだ始めたばったりで基本もまだまだだけど、実際の業務で自動化できそうな簡単な課題を考えて試行錯誤してるんだけどこんな感じで身につくかな?

254 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 17:56:20.06 ID:xQShnEjp.net]
>>242
今からやるならdotnetやpythonがいいよ
どの言語でもエクセルを処理できる
業務はエクセルだけじゃない
だからどうせなら簡単で色々できてパワフルな別の言語を使ったほうがいいというわけ

255 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:04:23.10 ID:liVyxOie.net]
メモ帳でC#組めるし.NETはオススメだね

256 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:06:59.84 ID:2TZ1ouJm.net]
VBAスレまできてPythonのステマとか
やっぱりPython信者は一味違うな

257 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:11:58.90 ID:mvgA0QsA.net]
dotnetもpythonもExcel上で使うには力不足。
VBAが一番都合が良いんだね。

258 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:16:59.14 ID:xQShnEjp.net]
エクセルはビジネスのごくわずかな領域でしかない
なのでエクセル依存のVBAはビジネスではイマイチなんだね

259 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:29:31.75 ID:liVyxOie.net]
やっぱり.NET、Python、PowerShellで決まりだよ



260 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:33:05.98 ID:MQAmc69g.net]
ユーザー定義ワークシート関数作れるようになってから出直せ

261 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:35:03.52 ID:uQKWYjQl.net]
>>242
凄く良くなるかは分からん
業務の種類と自分が出来る自動化のスキルによる
うちはシステム化ダメダメだったから日報を2時間掛けて作ってたらしいそれを2分で出来るようにした
土日も作ってるらしいからそこそこになった

262 名前:デフォルトの名無しさん [2018/09/21(金) 18:40:23.75 ID:Qvv9rksr.net]
なるほどー。普段の業務考えてみたらルーチン作業ばっかしてるし自動化できそう


>>252
まさにそんな感じで日報も作ってるわ。部署ごとにわけて〜で2時間は余裕でかかってる
これがもし2分で終わったりしたら夢あるなぁ

263 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:44:00.14 ID:liVyxOie.net]
C#あたり使ってVBEのコードペインにユーザー定義関数用のVB6コードを差し込むようにすれば大丈夫だと思うの

264 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:46:12.21 ID:MQAmc69g.net]
>>254
で、そのファイルは他の人が開いたらどうなるんや

265 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:50:57.60 ID:liVyxOie.net]
ブックのコードペインに差し込んでスタンドアロンなVBAプログラムとして保存すれば他のユーザーがそのブックを開いても普通に関数として使えるじゃん

266 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:56:13.68 ID:xQShnEjp.net]
>>251
何に使うの?
ユーザー定義関数を定義する事が目的化してない?

267 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:01:09.32 ID:MQAmc69g.net]
>>257
標準関数で書くと低速になるような式のとき、VBAに移す事で大幅に高速化できる。
必要になった時にその場で作るものだから、c#の場合VS起動してコンパイルしてとか論外。
その後、計算書完成したから後よろしくって上司に渡すとかよくある

268 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:17:25.97 ID:FvpQrvJK.net]
計算書なんて何度も計算するものじゃないだろ?
それに経過の計算を残すことが重要な書類じゃないのか?

無意味に速度なんて気にして誰も解読できないオナニー関数とか使うなよハゲ

269 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:22:37.61 ID:xQShnEjp.net]
え?それだけ?
定義した関数をデリゲートとして渡してコレクションをソートしたり
メタデータを取得してデコレーターを生成したり
再利用



270 名前:ツ能なモジュールとしてシステムに登録したり
とかできないの?
使い捨てのシートに表示するのを高速化するだけのために重いエクセルとVBEを開いてVBAで我慢強くコーディングして動作確認とか辛いんですけど
[]
[ここ壊れてます]

271 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:30:10.67 ID:liVyxOie.net]
必要になったときに手軽に使うのはPowerShell

272 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:31:16.07 ID:MQAmc69g.net]
そういうのが作りたいなら好きにしてくれ。
VBAが適している場面もあるって話や
あと数秒で計算終わるなら必要ない。物によっては諸元入力のたびに再計算に1分かかる場合とかあるんよ。
エクセルエアプには分からなくても仕方がないが。

273 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:35:55.04 ID:FvpQrvJK.net]
どうせSUMPRODUCTとか使いまくって悦に浸ってんだろ
エクセルプロ()さんは凄いですね

274 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:42:04.04 ID:xQShnEjp.net]
リアルタイム更新はエクセル弱っちいよね
非同期処理のサポートが残念だから
入力するたび重い計算を同期で待ちってユーザーが激怒する典型的なパターンだよ

275 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:54:44.02 ID:liVyxOie.net]
大容量データをエクセルで扱うならパワーピボット使おうよって思うし、ワークシートで行列計算の評価を何重にも行うならそれ全部外部の高速なプログラムにオンメモリでやってもらおうよって思うの

276 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 20:16:40.40 ID:4Tb64i1X.net]
>>260
お前、VBAに何やらせようと思ってるの?
VBAはあくまでOfficeアプリケーション上で使える便利機能でしかないんだよ?
お前が言ってることはデカいシステム作ることに対応した言語持ってきて
アレが出来ないコレが出来ないと騒いでいるに過ぎない。

そもそもそういうことをやるならそれなりのフレームワークを使ってEXCEL吐き出させろ。

277 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 20:23:25.18 ID:+w5W7Qw1.net]
>>258
標準の関数ってスピードすごい早いプログラムじゃないの?
自作のほうが上回るとかあるんか

278 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 20:28:26.36 ID:dSxNadcR.net]
>>267
VB6標準の組み込み関数じゃなくてエクセル組み込みの標準的なワークシート関数のことを言ってるんじゃないかと理解してたんだけど違うのか?

279 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 20:33:56.46 ID:xQShnEjp.net]
>>266
デカイシステム?
日常的な規模のツールもC#やパワーシェルのほうがいいよ
小規模ならまあほとんどパワーシェルだな

エクセルはスケールデカイときは論外だけど
便利で基本的なクラスや言語機能がないからスケールの小さいちょっとした物にも実はそんなに向いてないんだな

外部コマンドの出力結果をパースして並び替えてフィルターしてエクセルに出力してファイルをwebサーバーにHTTPポスト
これぐらいの簡単な作業ですら着手に躊躇してしてしまう



280 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 21:47:31.39 ID:c6u7OXiZ.net]
>>268
いやワークシート関数で合ってると思うけどあれを超えられるユーザー定義関数を作る自信はないわ

281 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 22:47:22.07 ID:oOcVj6Vd.net]
上で言ってるような重い処理じゃないけど、文字列操作系は自作したほうが便利なことが多いよな。

たとえばSplit関数がワークシートに無いのでパスをバラすときとか糞めんどい。
A1:C:\hoge\fugafuga\piyo

C:・・・・・=MID(A1,1,SEARCH("\",A1,1))
hoge・・・=MID(A1,SEARCH("\",A1,1)+1,SEARCH("\",A1,SEARCH("\",A1,1)+1)-SEARCH("\",A1,1)-1)
fugafuga・・・=MID(A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1,
SEARCH("\",A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1)-SEARCH("\",A1,SEARCH("\",A1,1)+1)-1)

しかしこれを定義するだけでシンプルになる。
Function SPLIT2(v, deli, idx)
SPLIT2 = Split(v, deli)(idx - 1)
End Function

C:・・・・・=SPLIT2(A1,"\",1)
hoge・・・=SPLIT2(A1,"\",2)
fugafuga・・・=SPLIT2(A1,"\",3)

だから文字列変換が出てきたら大抵VBAで関数組むかな

282 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 22:52:30.61 ID:oOcVj6Vd.net]
>>271
書いてから思ったけど、パス分解するだけなら区切り文字で出来るから例が悪かったわ
上の関数は文字を数式で繋いでコネコネするときによく使う

283 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 22:53:01.55 ID:/N0VzHQb.net]
splitがめんどいのは同意だけどなんでワークシート関数にするの?
vbaで処理完結したほうが良いと思うけど

284 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 23:05:24.48 ID:oOcVj6Vd.net]
>>273
それも場合によるかと
帳票、単票みたいなのをササっと作るときは、セル毎に式を組まないといけないから適してる。
あと行・列挿入が多い表に埋め込むときとか。

たぶんPowerShellerが想像してる表から表に変換するような場合にはあまり適してないね。

あと元の値が頻繁に変化するものは、そのたびにマクロ走らせないといけないから更新漏れが起こるのが困る。

285 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 23:37:14.57 ID:3Rh/KByq.net]
考え方なんかなワークシートで式使われる方がめんどく感じる
大量にあったりすると重いしメンテしづらかったりするし

286 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 23:47:44.41 ID:dSxNadcR.net]
Lispの糞コードいじる気分になるよね

287 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 23:50:48.56 ID:UZbX0jXb.net]
ワークシート関数なら他にはマネ出来ない

データ処理するだけならPowerShell使えって奴も多いんじゃね

288 名前:デフォルトの名無しさん [2018/09/21(金) 23:50:54.80 ID:MqKbhYRD.net]
盛りすぎプロさんw

289 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:01:13.95 ID:96L85sWt.net]
SPLITみたいなのはワークシート関数にする派だな
汎用的な関数をワークシート内で使ったほうが見通しがいい
他にもMAP、FILTER、REDUCEみたいなのも自作して使ってるわ



290 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:04:01.76 ID:/LVptLz+.net]
JSPやASPの失敗を繰り返しとるな
帳票にデータを埋め込みたいなら式じゃなくシンプルにセル参照を使うといいよ
参照先はプレーンなデータ専用シートね
こうしとけばセキュリティ監査的に面倒なマクロ付きにしなくていい、
データ供給元の言語に依存しなくなる、
データ供給元のコードがシンプルになる、
データモデルがわかりやすくなる、などなどメリットが多い

291 名前:デフォルトの名無しさん [2018/09/22(土) 00:17:31.94 ID:T/6XWx9j.net]
>>279
MAPやREDUCEに渡す無名関数はどうやってる?

292 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 02:18:36.18 ID:niETRueG.net]
ワークシート関数って”使う”のにかかる手間が少ないのがメリットだと思う。
関数の入力と出力だけ書いておけばVBA読めない人でもすぐに理解できる。

ワークシート関数使うのは使い捨ての帳票が大半だろうし>>280は全然違うものを想像してそう。

293 名前:デフォルトの名無しさん [2018/09/22(土) 02:24:34.84 ID:FJlDOW+X.net]
お前ら本当にもっと会社の利益になる事を頑張ってくれよ
やらせてるのは女の子がやる様な簡単な仕事なんだからこんなどーでも良い大して役に立たないVBAなんかに時間を使わずに他の人を手伝うとかちゃんと勤務中は仕事してね
分かったね?

294 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 07:40:51.79 ID:z7BGc1C3.net]
自作のワークシート関数作るとエラー処理とか面倒
特にエクセルの柔軟すぎる型変換は予想しない結果になってしまう

>>283
君はまずハローワークに行こうな

295 名前:デフォルトの名無しさん [2018/09/22(土) 08:08:03.84 ID:T/6XWx9j.net]
>>283
老害かな

296 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 09:49:40.55 ID:/LVptLz+.net]
>>282
使い捨て帳票ならそれこそ手入力で十分
デザインするついでにデータも入れればいい
プログラムするものは何度も繰り返し出力するもの、何人もの社員が出力するものだ
そういうのは先ほどレスした理由でセル参照を使ったほうがいい

297 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 09:55:14.40 ID:MP8LoRbH.net]
質問です
パワーシェルって.Net Freamworkの寄生虫みたいなもので
単体だとただのシェルと変わらないって本当です?

298 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 09:58:32.80 ID:WimPZWqW.net]
VBAがOffice製品の寄生虫なのと一緒

299 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:14:47.29 ID:KDDLtPfl.net]
VBAは個々の重いOfficeアプリを起動しないと動かせないけどPowerShellはIDEでも普通のPSコンソールでもPSだけでサクサク動かせるからそこが違う



300 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:36:15.01 ID:mc091pM3.net]
PowerShell自体がたかがコマンドラインシェルのくせに起動ゲロ遅いから目糞鼻糞

301 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:38:46.45 ID:CkoNNNs2.net]
Cmdプロの人の嫉妬かな






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<289KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef