VBA vs python(openpyxl)

  • このエントリーをはてなブックマークに追加

pythonのopenpyxlのよいところ

import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
hoge = ['10', '20', '30']
fuga=0; i=1
for h in hoge:
 fuga = fuga + int(h)
 sheet['A'+str(i)] = fuga
 i+=1
wb.save('test.xlsx')

pythonのエクセル操作をやるときによいところは、
sheet[‘A’+str(i)]とセルのところで式展開できることです。

VBAではどうなのか

VBAは

sheets(1).cells(i, 1)のようにcells()を使うことができます。
vbaのrange[“A1”]のような書き方は式展開はできません。

一方pythonにはcell(row=, column=)があります。しかしこちらは値の参照のみとなっているようで、実質書き込みには使えないようです。

普通にVBAを使ったほうがいいかも

VBAでもウェブスクレイピングはできるみたいですが、pythonだったらbs4やseleniumを使って取得したものをopenpyxlを使って書き込んだりできるようです。VBAの場合は隣にエクセルがあるというのが強い気がします。

 
  • このエントリーをはてなブックマークに追加
     

SNSでもご購読できます。

コメントを残す

*

CAPTCHA