vbaを学びたい。方法教えてくれ
VBA
1 : 2025/02/23(日)12:50:44 ID:CvJpuC8L0
どの方法が一番近道?
本借りてきてやったほうかいいかな?
3 : 2025/02/23(日)12:51:53 ID:VqsL8e8c0
写経
4 : 2025/02/23(日)12:52:02 ID:CvJpuC8L0
趣味で阿部寛みたいなサイト作った経験はある
だからド素人ではないが、vbaのコードみたとき、worksheet変数?がなにしたいのかとか、each分の書き方とか分からなかった
5 : 2025/02/23(日)12:52:13 ID:hTxR7BwJ0
わかりやすい本借りてきてやるのが最初は早いと思う
8 : 2025/02/23(日)12:52:53 ID:CvJpuC8L0
>>5
やっぱそうか
オススメある?
11 : 2025/02/23(日)12:53:55 ID:hTxR7BwJ0
>>8
最近のはわからない。けどチラ見してなんとなく気に入ったものでもいいと思うよ
6 : 2025/02/23(日)12:52:32 ID:hTxR7BwJ0
いや買おうぜ
9 : 2025/02/23(日)12:53:42 ID:Oy6XysgyH
外注にまわす
10 : 2025/02/23(日)12:53:47 ID:Hr5W/5oR0
なんでもいいからなんかしら目的を持ってプログラムを書く
学習が目的では結局身に付かない
12 : 2025/02/23(日)12:54:00 ID:CvJpuC8L0
ちなみにworksheet変数ってあれなんなんだ?
cell変数とかも。
あれいちいち定義する必要あるのか?
静的型付けとかいうやつで、別の型を入れられないために一応やってるだけ?
14 : 2025/02/23(日)12:55:08 ID:hTxR7BwJ0
ワークシートとかセルを表すオブジェクトだ。Cell.Valueとかするとセルに入力されてる値が取れる
17 : 2025/02/23(日)12:56:41 ID:CvJpuC8L0
>>14
あーなるほど
つまりvbaはオブジェクト思考で作られてるのか
じゃあworksheetってcellオブジェクトを包括してる関係になるよな
50 : 2025/02/23(日)14:08:48 ID:hTxR7BwJ0
>>17
そうそうそう言う事。アプリケーションはワークブックを包含してワークブックは行列を包含してワークブックはセルを包含してって作られてる。ワードとかアクセスも似たような構造があるよ
16 : 2025/02/23(日)12:56:00 ID:iTb+ymhB0
仕事してりゃ勝手に身につく
3ヶ月ぐらいだな
19 : 2025/02/23(日)12:57:14 ID:CvJpuC8L0
>>16
ちなみに意識したほうがいい点とかコツとかある?
21 : 2025/02/23(日)12:58:11 ID:iTb+ymhB0
>>19
こんなんもできるんかなって思ったらchatgptに聞いてる
24 : 2025/02/23(日)12:59:33 ID:CvJpuC8L0
>>21
いいね。ありがとう
コパイロットとGPTに力借りるわ
20 : 2025/02/23(日)12:57:49 ID:+esJB8Pa0
いまってPythonでもできるんじゃないっけ
22 : 2025/02/23(日)12:58:55 ID:CvJpuC8L0
あと知りたいのが、今はvbaの記述を自動化したいエクセルファイルに直接書き込んでるんだけど、これvbaファイルだけ別に作るとかはできないの?
そのvbaファイル開けば毎回同じことを、他のファイルでもできるようにしたいんだが
25 : 2025/02/23(日)13:00:05 ID:iTb+ymhB0
>>22
workbook指定したらいいよ
28 : 2025/02/23(日)13:01:38 ID:CvJpuC8L0
>>25
workbookだとエクセルファイルの指定になるってことか?
けどこのエクセルファイルに使いたいって指定はどうするんだ?
毎回そこだけ書き換えるのか?
30 : 2025/02/23(日)13:03:51 ID:eg3XXI3Z0
>>28
関数にして引数でファイル名渡せばいい
33 : 2025/02/23(日)13:07:57 ID:CvJpuC8L0
>>30
よく分からんが、vbaのあるファイルを開いたら窓がでてそこからエクセルファイルを選ぶような感じか?
36 : 2025/02/23(日)13:17:09 ID:ol3g3RfN0
>>33
filedialog関数で選択したファイルパスを取得してワークブックのパスに取得したパスを引数に入れれば他のブックの操作が可能
23 : 2025/02/23(日)12:59:02 ID:jJngnE9C0
やっぱ実務やらないとだめだよ
実務でなにかやるときにこれマクロでやったほうが早いなぁってことが多々ある
それを作るだけ
31 : 2025/02/23(日)13:04:40 ID:CvJpuC8LF
ぶっちゃけ生成AIの使い方学ぶのが一番早かったりする
35 : 2025/02/23(日)13:13:05 ID:DzgcU5thd
vbaは仕事すれば勝手におぼえる
37 : 2025/02/23(日)13:18:24 ID:CvJpuC8L0
最後に質問なんですが、vbaってWindowsのバージョン?エクセルのバージョン?で書き方や動作しないとかありますか?
38 : 2025/02/23(日)13:20:34 ID:ol3g3RfN0
>>37
windowsAPIを使うときはofficeの32bit版か64bit版かで変数の宣言の仕方が異なる
42 : 2025/02/23(日)13:21:55 ID:CvJpuC8L0
>>38
おー!じゃあ32か64かの違いだけで、他は同じなわけか
そりゃ良かったありがと
39 : 2025/02/23(日)13:20:36 ID:jdSnIq/F0
excelで操作をvbaマクロに記録できるでしょ
記録したマクロを開いて解読
41 : 2025/02/23(日)13:21:45 ID:ol3g3RfN0
>>39
selectionとか入るじゃん
処理性能やメンテ考えるとマクロの記録なんて覚えないほうが吉
44 : 2025/02/23(日)13:25:44 ID:HSiC12mG0
プログラムの学習はChatGPTに聞くのが1番の近道になってるよな
48 : 2025/02/23(日)13:44:04 ID:jR2XcT+g0
最近のOffice365はJavaScript が使える
多分こっちの方が先々残るだろう
49 : 2025/02/23(日)13:45:41 ID:CvJpuC8L0
>>48
エクセルにも?まじ?
引用元: vbaを学びたい。方法教えてくれ
PAGE TOP
タイトルとURLをコピーしました