21/05/16(日)15:13:34 新しい... のスレッド詳細
削除依頼やバグ報告は メールフォーム にお願いします。個人情報、名誉毀損、侵害等については積極的に削除しますので、 メールフォーム より該当URLをご連絡いただけると助かります。
21/05/16(日)15:13:34 No.803335041
新しい業務でVBAマクロ作らされそうで辛い 今までやったこと無いんですけど!
1 21/05/16(日)15:14:03 No.803335203
まず操作記録でマクロ作ってそれの改良から始めたら
2 21/05/16(日)15:14:10 No.803335263
誰でも最初は初めてだぞ
3 21/05/16(日)15:14:54 No.803335510
足引っ張りまくればやらなくて良くなるぞ
4 21/05/16(日)15:16:00 No.803335849
まずOption Explicitを書くことから始めよう
5 21/05/16(日)15:18:14 No.803336593
>誰でも最初は初めてだぞ それはそうなんだけど なんかできて当たり前みたいな感じになってるのが困る いくら中途とはいえ今まで触るタイミング無かったら知るわけねーだろって思うんだけどな…
6 21/05/16(日)15:18:47 No.803336770
スレ立ててる間に勉強すればいいのに
7 21/05/16(日)15:19:54 No.803337138
教えてくれる人がいれば理解が早くなって有利 教えてくれる人がいなければ自分のペースで学習できて有利
8 21/05/16(日)15:20:23 No.803337299
マクロは目的がハッキリてたらそれに向けて調べたり操作記録したものを切り貼りして作れるんだが単に勉強しろってなっても難しい気がしている
9 21/05/16(日)15:21:52 No.803337802
Office TANAKAをブックマークに入れとけ
10 21/05/16(日)15:23:33 No.803338345
大体ググれば解決するぞ
11 21/05/16(日)15:23:35 No.803338354
>マクロは目的がハッキリてたらそれに向けて調べたり操作記録したものを切り貼りして作れるんだが単に勉強しろってなっても難しい気がしている Excel自体がそんな感じはする 業務で使わない機能を頑張って覚えても意味ないし
12 21/05/16(日)15:23:38 No.803338379
>スレ立ててる間に勉強すればいいのに やってるよ 息抜きにと言うかちょっと愚痴吐きたくて合間にスレ立てしまいました 後はエクセルにまつわる話にでも使ってくれればいいよ
13 21/05/16(日)15:23:40 No.803338386
ここでうだうだ言うよりやって慣れよう 誰だって最初は素人だ
14 21/05/16(日)15:24:13 No.803338590
操作記録って使ったことないな いつも一から書いちゃう
15 21/05/16(日)15:24:50 No.803338843
>Excel自体がそんな感じはする >業務で使わない機能を頑張って覚えても意味ないし そんな関数あったの!?ってなるのいいよね 最近知ったのはISNUMBERだ
16 21/05/16(日)15:25:08 No.803338965
>やってるよ >息抜きにと言うかちょっと愚痴吐きたくて合間にスレ立てしまいました >後はエクセルにまつわる話にでも使ってくれればいいよ そうなんだ ごめんね 勉強頑張って
17 21/05/16(日)15:25:35 No.803339143
勉強しろとか言ってごめんね…
18 21/05/16(日)15:25:59 No.803339284
目的がないと勉強しづらいのは他も同じだ といってもプログラミング心得があってもVBAは独自要素で取っつきづらいので 可能なら今のうちよく出る基本要素は勉強しとくのは吉だぞ
19 21/05/16(日)15:26:00 No.803339290
急に優しくなった いやまあ元から厳しくはないか
20 21/05/16(日)15:26:16 No.803339389
最初はExcelでこんな事出来るんだ!って感動して独学で色々勉強したけど 自分以外のvba触れる人が全員別のとこ行っちゃって面倒臭いメンテ全部押し付けられてやらなきゃよかった…ってなりかけてる
21 21/05/16(日)15:27:15 No.803339711
どんな時もOffice TANAKAだぞ
22 21/05/16(日)15:27:43 No.803339866
VBA「ISERROR()の中身がエラーになるから処理止めたよ」 俺「いやISERRORでエラー判定して処理分岐するコードなんだけど…」
23 21/05/16(日)15:28:00 No.803339963
そりゃ勉強の合間に愚痴くらい吐きたいわな…
24 21/05/16(日)15:28:16 No.803340059
python使わせてってお願いした方がいいぞ 普通の関数じゃできなくてVBAで出来るとこをやろうとすると苦痛すぎる…
25 21/05/16(日)15:29:18 No.803340463
>VBA「ISERROR()の中身がエラーになるから処理止めたよ」 >俺「いやISERRORでエラー判定して処理分岐するコードなんだけど…」 そういうのってIFERRORではダメなの
26 21/05/16(日)15:29:43 No.803340605
俺んとこはいい感じの関数作ったら300円から1000円貰えるから結構楽しい
27 21/05/16(日)15:30:18 No.803340829
TANAKAへの信頼が厚すぎる…
28 21/05/16(日)15:30:34 No.803340920
>俺んとこはいい感じの関数作ったら300円から1000円貰えるから結構楽しい そん
29 21/05/16(日)15:30:54 No.803341059
>俺んとこはいい感じの関数作ったら300円から1000円貰えるから結構楽しい お駄賃もらえるのは地味にモチベ上がりそうだ
30 21/05/16(日)15:31:49 No.803341387
勉強する社会人はすごく偉いよ…
31 21/05/16(日)15:32:25 No.803341563
>python使わせてってお願いした方がいいぞ >普通の関数じゃできなくてVBAで出来るとこをやろうとすると苦痛すぎる… 色々面倒すぎてなんでexcelでこんなことを…ってなるね
32 21/05/16(日)15:32:32 No.803341605
子供の小遣いじゃないんだから…
33 21/05/16(日)15:34:00 No.803342121
結局小遣いレベルでもいいから目の前にバナナぶら下げてくれるのが一番やる気が出る
34 21/05/16(日)15:34:06 No.803342156
イベントプロシージャー使えるようになったら色々捗るようになった これめっちゃ便利だね
35 21/05/16(日)15:34:17 No.803342219
>子供の小遣いじゃないんだから… ジュース代になるのは素直にモチベ上がると思うぞ!
36 21/05/16(日)15:34:54 No.803342417
VBA関連の関数はキュレーションサイトのおやつって感じで見たい情報が全く見つからないんだけど リファレンスどこ探してる?
37 21/05/16(日)15:35:20 No.803342565
>お駄賃もらえるのは地味にモチベ上がりそうだ うん 新人で入った時勉強がてらJISハンドブックから使いそうなの色々作って それが今の設計プログラムに使われてたりするし結構意味はあったんだなーと
38 21/05/16(日)15:36:56 No.803343121
>リファレンスどこ探してる? VBEのオブジェクトブラウザ
39 21/05/16(日)15:37:16 No.803343237
>子供の小遣いじゃないんだから… 晩酌のビール代が貰えると考えると嬉しい…
40 21/05/16(日)15:39:03 No.803343856
まずDeclare Functionだろ
41 21/05/16(日)15:39:49 No.803344115
何もないよりは圧倒的にマシだな
42 21/05/16(日)15:41:15 No.803344726
とにかくひたすらググってた覚えしか無い リファレンスがゲロをかき混ぜたゴミだから何が分かるのかさっぱりわからなくて 先人が作ったマクロを移植してようやく動いたとかそういうのばっかりだった 後年全部vlookupでできることに気づいて俺は相当無駄な時間を大学で支払ったな…と思った
43 21/05/16(日)15:41:20 No.803344784
ある程度命令覚えたらOLE経由で好きな言語でやったほうが幸せになれると思う… PythonとかJavaScriptとか
44 21/05/16(日)15:46:11 No.803346896
聞けば何でも答えてくれる歩くエクセル逆引き辞典みたいな同僚くだち
45 21/05/16(日)15:47:46 No.803347537
作業保存でマクロを作ってそれを手動で改良するときにこのコードは何の動作をしているのかなって検証したいときに段階ごとに追うのってできないのかな…
46 21/05/16(日)15:48:27 No.803347793
最近始めて標準誤差求める自作関数を作ったけど俺にはそれですらめちゃくちゃ大変だったよ
47 21/05/16(日)15:48:54 No.803347959
>作業保存でマクロを作ってそれを手動で改良するときにこのコードは何の動作をしているのかなって検証したいときに段階ごとに追うのってできないのかな… F8じゃだめなの?
48 21/05/16(日)15:48:58 No.803347986
>作業保存でマクロを作ってそれを手動で改良するときにこのコードは何の動作をしているのかなって検証したいときに段階ごとに追うのってできないのかな… コードの左端クリックすることでステップごとに色付けされるので それで動作検証なさる
49 21/05/16(日)15:49:28 No.803348173
>python使わせてってお願いした方がいいぞ >普通の関数じゃできなくてVBAで出来るとこをやろうとすると苦痛すぎる… 困ったことにPythonも分からんから どちらにせよ一からやるしかないんだ 勉強するのは全然いいんだけど 如何せん要求に対しての工数が足りん…
50 21/05/16(日)15:49:59 No.803348367
>聞けば何でも答えてくれる歩くエクセル逆引き辞典みたいな同僚くだち ググったら大半の機能は出てくるだろ!
51 21/05/16(日)15:51:24 No.803348882
>聞けば何でも答えてくれる歩くエクセル逆引き辞典みたいな同僚くだち といった検索キーワードで時折アクセスがあります。
52 21/05/16(日)15:51:33 No.803348934
オフィスTANAKAが攻撃されたら色んな人が立ち上がりそう…
53 21/05/16(日)15:51:45 No.803349022
>作業保存でマクロを作ってそれを手動で改良するときにこのコードは何の動作をしているのかなって検証したいときに段階ごとに追うのってできないのかな… debug.printで処理中の変数記録したり
54 21/05/16(日)15:52:08 No.803349167
>>python使わせてってお願いした方がいいぞ >>普通の関数じゃできなくてVBAで出来るとこをやろうとすると苦痛すぎる… >困ったことにPythonも分からんから >どちらにせよ一からやるしかないんだ 別にPythonじゃなくても好きな言語でできるんやで 一つも知らん奴は知らん
55 21/05/16(日)15:53:38 No.803349667
range("A1")とcells(1,1)ってどういう時使い分けたらいいの 全部後者で書いてたら見づらいって怒られたんだけど
56 21/05/16(日)15:53:47 No.803349727
何やるかしらんけどpyhonはエラーが親切だから 何すべきかはググりやすいしとても親切なのでそちらを進める 会社からマクロ限定と指定されてるならご愁傷様
57 21/05/16(日)15:54:56 No.803350046
>range("A1")とcells(1,1)ってどういう時使い分けたらいいの あくまで自分ルールだけどセル最終行関係いじりたいときはcells使う 特定セルの指定だけで済みそうなときはrangeにしてる
58 21/05/16(日)15:55:12 No.803350154
cells(i, 1)
59 21/05/16(日)15:55:51 No.803350399
rangeだと関数iとかで回しづらいからcells使ってた覚えがあるなあ まあどっちがどっちだったか分かんなくなるんですけど…
60 21/05/16(日)15:56:23 No.803350590
今は弊社はグレーだから多分使っていいんだろうけど必至こいてようやくpython覚えたら使うの禁止されそうで二の足踏んでる
61 21/05/16(日)15:56:53 No.803350749
技能分の報酬を上乗せされずに教育抜きでプログラミングを任される現状ですらどうかと思うのに 小学校でプログラミング教育されるようになったらますますできて当然扱いされて技能報酬なくなったりするのかな
62 21/05/16(日)15:57:04 No.803350821
特に計算に絡まない場合可読性上げるためにcells(1,"A")って書いたりもできる
63 21/05/16(日)15:57:34 No.803350984
文字通りセル単体を指定する時はcells 範囲指定はrangeにしてる
64 21/05/16(日)15:57:36 No.803350998
ループ処理だけはVBA使わないとなんともならんけど後はVBA使わなくても結構なんとかなる
65 21/05/16(日)15:57:51 No.803351085
range("A" + i)
66 21/05/16(日)15:58:24 No.803351280
>range("A1")とcells(1,1)ってどういう時使い分けたらいいの >全部後者で書いてたら見づらいって怒られたんだけど Cells(1, "A")みたいな書き方もできるよ
67 21/05/16(日)15:58:49 No.803351399
>range("A" + i) これできるんか!
68 21/05/16(日)15:58:53 No.803351414
義務教育化しても英語みたいな感じになるんじゃないかな… 特殊技能ではないけどできない人とか単位だけ取ってそれきりの人が多いみたいな
69 21/05/16(日)15:59:10 No.803351500
最近パワークエリで業務効率化できないか考えてる
70 21/05/16(日)15:59:11 No.803351510
>これできるんか! +じゃなくて&ならできると思う
71 21/05/16(日)16:00:01 No.803351788
それでいけるんだ…なるほど Aのほうは動かせないだろうけど
72 21/05/16(日)16:00:08 No.803351819
seから工場の情シスに転職したんだけどVBA触りたくなさすぎて専用アプリ作ってる
73 21/05/16(日)16:00:14 No.803351853
>debug.printで処理中の変数記録したり 変数ならローカルウィンドウで常時見れるよ
74 21/05/16(日)16:00:35 No.803351975
独学VBAしか知らないんだけどwith多用するのってあんま良くないの? 前にここでやめろって言われたけど理由教えてくれなかった…
75 21/05/16(日)16:01:17 No.803352214
ローカルウィンドウいいよね 配列に想定通り取得できてるかどうかすぐわかるのは本当にありがたい もはやこのままでも使えるんじゃないかと思う
76 21/05/16(日)16:02:15 No.803352522
はっきり言って楽勝だし 2、3日は勉強中ってことにして遊べるからボーナスタイム
77 21/05/16(日)16:02:16 No.803352535
>範囲指定はrangeにしてる Rangeで範囲指定ってRange(Cells(1,1),Cells(2,2))ってこと? 可読性やばいからCells(1,1).Resize(2,2)とかにしたほうが良いよ
78 21/05/16(日)16:03:03 No.803352789
っつーかなんでExcelでやろうとしてるの 本来外部ベンダーのソフトを使うか専用にソフト開発しなきゃいけない作業じゃないのかそれは
79 21/05/16(日)16:03:16 No.803352843
日本語変数使ってたら元本職っぽい人にこれ…動くのか…!?ってすごい驚かれた
80 21/05/16(日)16:03:19 No.803352860
インストール禁止とかわけわからん縛りのために 最初から入ってるPowershellも悪くない気がしている
81 21/05/16(日)16:04:02 No.803353095
>っつーかなんでExcelでやろうとしてるの >本来外部ベンダーのソフトを使うか専用にソフト開発しなきゃいけない作業じゃないのかそれは 上司に言って❤️説得して❤️
82 21/05/16(日)16:04:13 No.803353156
>Rangeで範囲指定ってRange(Cells(1,1),Cells(2,2))ってこと? >可読性やばいからCells(1,1).Resize(2,2)とかにしたほうが良いよ そうそうそうなってる 確かに可読性やばいね。。。
83 21/05/16(日)16:04:25 No.803353219
>日本語変数使ってたら元本職っぽい人にこれ…動くのか…!?ってすごい驚かれた 普通はしないから 出来るって知った時は衝撃を受けた
84 21/05/16(日)16:04:53 No.803353373
可読性とか知るか 動きゃええんじゃ!
85 21/05/16(日)16:05:41 No.803353613
Javaでもテストコードに日本語メソッド名入れる流儀とかあるしまあ
86 21/05/16(日)16:05:49 No.803353658
動きゃいいと言うか想定通りの動作をさせなきゃならん
87 21/05/16(日)16:06:06 No.803353741
一つの問題に対してアプローチがたくさんありすぎるせいでかえって体系的に覚えられない 全部覚えてることの組み合わせの力業で終わらせようとするから一向に成長しない…
88 21/05/16(日)16:06:31 No.803353878
>可読性とか知るか >動きゃええんじゃ! そして3年前の俺が何考えてこんなコード書いたのかが分からなくなる
89 21/05/16(日)16:06:38 No.803353922
>可読性とか知るか >動きゃええんじゃ! ころすぞ
90 21/05/16(日)16:06:45 No.803353956
>>可読性とか知るか >>動きゃええんじゃ! >そして先週の俺が何考えてこんなコード書いたのかが分からなくなる
91 21/05/16(日)16:06:54 No.803354001
可読性は高くないと困る 誰が困るかというとメンテしようとした自分が困る
92 21/05/16(日)16:07:27 No.803354206
>独学VBAしか知らないんだけどwith多用するのってあんま良くないの? VBAに限らずどの言語も暗黙的な理解をコード読む側に求める書き方は忌避される With句が長くなると何が省略されてるのかわかりにくくなるし With Sheets(1) .Range("A1").Value = "openis..." よりも dim sh as Worksheet set sh = Sheets(1) sh.Range("A1").Value = "openis..." のほうがいい感じ
93 21/05/16(日)16:07:39 No.803354275
誰かに投げつけてもう知りませんできるならどれだけごちゃごちゃでもよい
94 21/05/16(日)16:08:11 No.803354429
>とにかくひたすらググってた覚えしか無い >リファレンスがゲロをかき混ぜたゴミだから何が分かるのかさっぱりわからなくて >先人が作ったマクロを移植してようやく動いたとかそういうのばっかりだった >後年全部vlookupでできることに気づいて俺は相当無駄な時間を大学で支払ったな…と思った ピボットテーブルで良かったとかな
95 21/05/16(日)16:08:12 No.803354441
>Range(Cells(1,1),Cells(2,2)) これをSheet1.Range(Cells(1,1),Cells(2,2))って書いて動かなくなるのを経験した人間は多い
96 21/05/16(日)16:08:21 No.803354490
どうせ他の人触らんしと思っても半年後の俺はもう他人なんだ
97 21/05/16(日)16:08:27 No.803354512
>ググったら大半の機能は出てくるだろ! (出てくるVer違いやVBの情報)
98 21/05/16(日)16:09:23 No.803354812
>独学VBAしか知らないんだけどwith多用するのってあんま良くないの? あとWith句の中のコードを抜き出すと単体で成立しない状態になってるのが使いまわしが効きにくくて×
99 21/05/16(日)16:09:31 No.803354864
どんな時もOffice TANAKAだぞ
100 21/05/16(日)16:09:32 No.803354874
>これをSheet1.Range(Cells(1,1),Cells(2,2))って書いて動かなくなるのを経験した人間は多い なんでダメなのか未だによくわからない
101 21/05/16(日)16:09:54 No.803354988
>なんでダメなのか未だによくわからない cellsにもシート指定付けなきゃだめ
102 21/05/16(日)16:09:55 No.803354998
>これをSheet1.Range(Cells(1,1),Cells(2,2))って書いて動かなくなるのを経験した人間は多い Resize使っとくとこれも回避できるからおすすめ
103 21/05/16(日)16:09:56 No.803355002
with句はどうしても変数の寿命を短くしたいときだけ使ってる
104 21/05/16(日)16:10:19 No.803355123
積極的にコメントつけろという意見もあるし なるべくならコメントつけずに理解できるコードを書くべきという意見もあるし可読性高いコードとかわかんね
105 21/05/16(日)16:10:22 No.803355142
>っつーかなんでExcelでやろうとしてるの >本来外部ベンダーのソフトを使うか専用にソフト開発しなきゃいけない作業じゃないのかそれは ちょっとしたデータの整形とか計算程度にいちいち委託なんかしない
106 21/05/16(日)16:10:54 No.803355299
>独学VBAしか知らないんだけどwith多用するのってあんま良くないの? withのせいでコードを読むとき前後を探さんといけなくなるので可読性が下がる with使うときは他の処理挟まないような時限定のほうがいい
107 21/05/16(日)16:11:02 No.803355331
>積極的にコメントつけろという意見もあるし >なるべくならコメントつけずに理解できるコードを書くべきという意見もあるし可読性高いコードとかわかんね コードを日本語翻訳しただけのコメントは有害だから書かない方がいいよ コード修正したときにいつかコメント変更忘れるから
108 21/05/16(日)16:11:16 No.803355419
>なんでダメなのか未だによくわからない 多分Sheet1.Range(Sheet1. Cells(1,1), Sheet1. Cells(2,2))って書かないとダメだと思う
109 21/05/16(日)16:11:28 No.803355487
>とにかくひたすらググってた覚えしか無い >リファレンスがゲロをかき混ぜたゴミだから何が分かるのかさっぱりわからなくて >先人が作ったマクロを移植してようやく動いたとかそういうのばっかりだった >後年全部vlookupでできることに気づいて俺は相当無駄な時間を大学で支払ったな…と思った 後年がどれぐらい後か分からんけど vlookupがないエクセルバージョンだったとかの可能性もない? vlookupが追加されたバージョン把握はしてないけど