VBAでシコシコ自動化しているやつ、Pythonを覚えろ! Pythonで「脱VBA」する方法(反応まとめ)

1: エアロモナス(宮城県) [US] 2020/02/09(日) 12:28:46.70 ID:uhkBIXIL0● BE:601381941-PLT(13121)

Pythonで「脱VBA」、Excelの行番号を記述せずにセルを指定する方法

Excelデータをプログラムで扱うのなら、プログラミング言語はVBA(Visual Basic for Applications)が定番です。
しかし必ずしもVBAを使う必要はありません。筆者はPythonを使ってExcelデータの操作を自動化することを
お勧めします。Pythonを使えば「脱VBA」を進められます。

PythonでExcelデータを操作するには、前回までに解説してきたように、行/列を指定してワークシートのセルに
アクセスするのが基本です。ワークシートはイテラブル・オブジェクトとして行を返しますし、行も同様にセルを返します。
イテラブル・オブジェクトを活用すれば、直接行番号、列番号を記述せずに読み込むセルを指定することができます。

sample.xlsxというExcelファイルを作って、動作を確かめてみましょう。Excelファイルは「.¥data」フォルダーに入っているとします。

no title

このファイルのワークシートには、データはA1からF5まで整然と入力されています。

次のプログラムを使うと、sample.xlsxを読み込んでworkbookのsheetからrow(行)を取得し、rowからcell(セル)を
取得して順に出力していくことができます。

no title

■対象のワークシートから、データ範囲を自動で取得するプログラム

このコードを、Pythonの開発環境、ここでは「Visual Studio Code」で入力し、動かしてみます。処理結果を、
画面下部の「ターミナル」で確認してみましょう。

no title

ワークシート上の各行のセル内容が、列順の通りに1行ずつ出力されていることがわかります。
このようにデータが1つの範囲(Range)に規則的に入力されている場合は、for row in sheet:でデータ範囲の
各行での繰り返しを指示し、for cell in row:で処理対象の行のセルに順にアクセスすることができます。
異なるファイルから読み出す時でも、いちいち「どこからどこまで」をプログラムで記述し直す必要はありません。便利ですね。

でも、データが整然と並んでいなかったり、データのないセルが範囲内にあったりする場合はどうなっているのでしょうか。
列の終わり、行の終わりをどうやって判断しているのか、調べてみましょう。

続きはソースで

https://tech.nikkeibp.co.jp/atcl/nxt/column/18/01174/011700003/

以下、反応

174: アナエロリネア(空) [BO] 2020/02/09(日) 14:55:09.13 ID:iZacRpkT0
>>1
シートの特定部位が変更されたら
って判定もできるの?Pythonで

 

204: グロエオバクター(空) [CN] 2020/02/09(日) 15:27:44.57 ID:4dbD8vPT0
>>1
最近JavaScriptの勉強を始めたのに
Pythonのがいいのか?

 

7: スファエロバクター(ジパング) [US] 2020/02/09(日) 12:32:57.61 ID:nDgn4qiT0
ピジョンじゃ仕事ないだろ
ブーバーは仕事豊富だけど

 

16: プロピオニバクテリウム(神奈川県) [ニダ] 2020/02/09(日) 12:38:58.75 ID:oomL69JG0
>>7
AIブームでPythonの方が需要多くね?

 

11: バクテロイデス(神奈川県) [US] 2020/02/09(日) 12:35:45.87 ID:9aDfiyYk0
他の人に通じない。
渡したあとにvba で作り直して!
いわれる

 

192: クテドノバクター(やわらか銀行) [US] 2020/02/09(日) 15:09:42.60 ID:0pluE+7k0
>>11
自分だけPythonできても、デバッグが業務分担できないと自滅。
VBAだとある程度行き渡ってるから、マクロいじれる上司に指示出して対応してもらうこともできる。

 

12: フィンブリイモナス(東京都) [ID] 2020/02/09(日) 12:36:56.05 ID:j2GLjhe30
JavaでPOIじゃあかんのか?

 

240: ミクロコックス(ジパング) [JP] 2020/02/09(日) 17:12:35.61 ID:5C1rPx+60
>>12
仕事でPOI使えば分かることだが、POIで出来ることなんてのは、VBAで出来ることの10%くらいだ。
特に画像や図形なんてほとんど触れない。
ちゃんと有償の製品使うべき。

 

15: シュードアナベナ(東京都) [NL] 2020/02/09(日) 12:37:37.98 ID:FgzMI9/q0
データを集計してエクセルにする処理を頼まれてたとき、pythonでスクリプト
を組んだことがある。pythonは起動速度が遅いんだよな。

 

19: パスツーレラ(兵庫県) [HK] 2020/02/09(日) 12:40:36.40 ID:g7MzSUeG0
「vbaでもpythonでもできます」じゃ誰新しくpythonに乗り換えるやつなんていないだろ

 

23: デイノコック(千葉県) [ニダ] 2020/02/09(日) 12:42:18.69 ID:qoQ+7pev0
今更vbaでシコシコ自作するよりはPythonで既存のモジュールとか使った方が楽じゃないの?

 

28: カルディオバクテリウム(東京都) [US] 2020/02/09(日) 12:43:09.64 ID:lnEvo0e+0
こんなにforを入り子にしたらわけがわからなくなるだろ

 

30: ジアンゲラ(東京都) [US] 2020/02/09(日) 12:44:00.01 ID:UdhnlH9u0
>>28
ネストの深いプログラムを組んじゃだめって理解できてない証拠だよな

 

77: クトニオバクター(神奈川県) [ニダ] 2020/02/09(日) 13:13:31.37 ID:NLbuBZ/T0
>>30
そんな深いかこれ?
繰り返し処理させたいんだからネストが深くなるのは仕方ないだろ。
この程度の処理に、いちいち関数分けて書けってこと?
そっちのほうが可読性落ちると思うけどね。

 

29: マイコプラズマ(東京都) [US] 2020/02/09(日) 12:43:49.35 ID:cfsjaRkB0
vbaはエクセルの関数使えるからぶっちゃけPython使うよりも便利

 

60: テルモミクロビウム(東京都) [LV] 2020/02/09(日) 13:04:36.80 ID:CKVjDh6N0
vscodeとPythonでツールを作るくらいだけど楽ですわ

 

61: ストレプトスポランギウム(東京都) [US] 2020/02/09(日) 13:05:20.46 ID:IIrf34e70
pythonには包括表記もある。

 

64: ストレプトスポランギウム(東京都) [US] 2020/02/09(日) 13:06:27.30 ID:IIrf34e70
そして何よりオブジェクト指向が気持ちいい。人生史上一番オブジェクト指向の恩恵を受けられる

 

73: パルヴルアーキュラ(やわらか銀行) [FR] 2020/02/09(日) 13:09:47.63 ID:kgOmfiFv0
DeepfakeつくってシコシコするにはPython覚えてColaboratoryで作業すりゃええんじゃろ?

 

80: 放線菌(東京都) [ニダ] 2020/02/09(日) 13:15:08.48 ID:vPaBUSgO0
環境構築なんてアナコンダ入れるだけだろ

 

92: ハロプラズマ(新日本) [FR] 2020/02/09(日) 13:29:48.97 ID:9jMsSQhJ0
>>80
モジュールが足りないとかPath設定とか
updateしたりすると動かなくなるとかある

 

81: ストレプトスポランギウム(東京都) [US] 2020/02/09(日) 13:15:46.63 ID:IIrf34e70
会社ではプロキシ通さないといけないから、アナコンダナビゲーターでつまづくかもな

 

83: レジオネラ(ジパング) [BR] 2020/02/09(日) 13:18:54.38 ID:3BRN7/Bv0
エクセルの処理でpythonってあんまり意味ないだろ。
python好き過ぎてしょうがない人くらいだろ。

 

100: スフィンゴモナス(滋賀県) [US] 2020/02/09(日) 13:35:58.90 ID:yo+6j7al0
pythonを仕事で使う人ってどんな開発環境なんだろ
書籍類では必ずってほどatom勧めてくるけど本当に使いやすいんかね?

 

103: オピツツス(西日本) [US] 2020/02/09(日) 13:37:18.88 ID:gWe2UwL30
>>100
今のトレンドはvscodeじゃないかなぁ

 

105: コルディイモナス(やわらか銀行) [HK] 2020/02/09(日) 13:38:31.00 ID:vYkPoRRP0
異動したときの引き継ぎどうすんだよ

 

120: ディクチオグロムス(埼玉県) [GB] 2020/02/09(日) 13:51:49.21 ID:Qr5j2Xqi0

「ねぇあの超必殺技のコマンド長いからめんどくさくない?」とか言っちゃって

ずーーーーーーーーーーーーーーと小パンチとかだけで格ゲーしてて楽しいんすかね?wwww

そんなんだからイットハケンなんっすよwwwww

まぁその程度のイットハケンに与えることができる職場は発注元に対してこんだけ増援して頑張ってます感をだすだけの超炎上銀行系システムのでバッグあたりだけだろうから

そんなマヌケな現場で体を壊す前に田舎にでも帰って介護職について世のため人のために感謝されながら一生を過ごした方が身のため世のためですよ

 

200: ハロプラズマ(新日本) [FR] 2020/02/09(日) 15:21:25.34 ID:9jMsSQhJ0
>>120
自分が派遣だから他人も派遣に見えるのか?

 

128: クトニオバクター(神奈川県) [ニダ] 2020/02/09(日) 14:17:07.86 ID:NLbuBZ/T0
powershellみたいに.netのライブラリ呼べるようにしてほしい。

 

132: エリシペロスリックス(愛知県) [US] 2020/02/09(日) 14:22:10.14 ID:34udXtjO0
バーチャルババァかと思った

 

146: アコレプラズマ(滋賀県) [KR] 2020/02/09(日) 14:32:33.54 ID:/dRQ9M4I0
あえてPython使うメリットがない気がするなぁ
どうせちょっとしたマクロ組むくらいだしVBAで十分だと思うけど

 

158: ストレプトミセス(大阪府) [US] 2020/02/09(日) 14:41:00.98 ID:w96cviHR0
環境整えるのがどうとか、明らかにpython向いてない奴まで
他人がやっているというだけの理由でpythonやるのは間違い
マニアの道具と仕事の道具を混同するな
機械学習には仕事の道具かも知れんがexcelに対してはそうではない

 

161: エアロモナス(福岡県) [US] 2020/02/09(日) 14:43:43.91 ID:JXr2EZ3A0
>>158
まあ、ほとんどの人はリンク先に書いてあるコードを
動かす所までたどり着けないだろうなw

 

164: ディクチオグロムス(埼玉県) [GB] 2020/02/09(日) 14:45:24.34 ID:Qr5j2Xqi0

>>158

実際マニアでもなんでもねーんだよね

もしこれから仕事の道具としてこれからPhytonつかいまっせってM$がホザき始めた時どうすんねんって

向上心がなくパープリンなくせして声だけデカイ奴らが日本のITをイット産業のママにして世界から遅れをとってっから腹立つんだ

例えばドキュメントに南トンスル語や支那語やタイ語まであるのに日本語はないとかザラにある

 

167: ディクチオグロムス(埼玉県) [GB] 2020/02/09(日) 14:48:59.22 ID:Qr5j2Xqi0

JavaScriptが向上心かwww

ワラえるwwwww

 

168: エアロモナス(福岡県) [US] 2020/02/09(日) 14:49:22.11 ID:JXr2EZ3A0
>>167
なにか中身があること言えよw

 

170: アコレプラズマ(滋賀県) [KR] 2020/02/09(日) 14:51:11.77 ID:/dRQ9M4I0
>>168
改行あけて構って欲しくてしかたない可哀想な子なんです
リアルに話し相手いない寂しがりやさんだから
そっとしておいてあげてください

 

171: ディクチオグロムス(埼玉県) [GB] 2020/02/09(日) 14:51:45.31 ID:Qr5j2Xqi0

>>168

その中身、ニコニコ大百科にかいてあっから

マジで

 

219: カルディオバクテリウム(東京都) [US] 2020/02/09(日) 16:07:35.96 ID:lnEvo0e+0
>>168
操作の記録じゃねーんだよ
やりたい事は

 

179: スネアチエラ(東京都) [JP] 2020/02/09(日) 15:00:06.66 ID:Aj97H0lI0
Excelだけ弄くるならVBAのみがシンプル
裏でスクレイピングしたり他のExcel以外との組み合わせするのならpythonは便利

 

213: ディクチオグロムス(ジパング) [US] 2020/02/09(日) 15:40:58.29 ID:/PJVkkie0
VBAはエラー表示が曖昧すぎてデバックしにくいから死んで欲しい

 

226: グリコミセス(山梨県) [BR] 2020/02/09(日) 16:25:24.68 ID:dvvZCZgk0
pythonの必然性ないだろ

 

232: エアロモナス(福岡県) [US] 2020/02/09(日) 16:51:10.04 ID:JXr2EZ3A0

昔マクロウイルスが流行ったときのことを知っていれば、
ExcelにPythonとかありえないんだわ

Pythonなんか乗っけたら、ウイルスがまた増えてしまう
ウイルスが実行できないようにするためには、
ローカルへの書き込みを著しく制限しなければいけないが
それをやるにはPythonのコアや各種ライブラリに
手を加えなければいけない。

つまりPython資産がそのまま使えないのだから
そんなの誰も望まない

 

259: カルディオバクテリウム(東京都) [US] 2020/02/09(日) 18:26:14.17 ID:lnEvo0e+0
>>232
別にJavaScript使わなきゃできない作業じゃないじゃん?操作の記録なんて
VBAで充分だと言いたいだけよ

 

268: エアロモナス(福岡県) [US] 2020/02/09(日) 19:05:23.79 ID:JXr2EZ3A0
>>259
VBAはブラウザで動かない

 

237: メチロフィルス(茸) [US] 2020/02/09(日) 16:59:22.27 ID:DV/C9z1s0
セルを結合したりすると一番上のセルとしか認識してくれないから
それをどうにかしてほしい。

 

242: メチロフィルス(岡山県) [US] 2020/02/09(日) 17:25:15.56 ID:Z3YVeM1p0
エクセルのデータを参照するんじゃなくて、外部データを参照してエクセルに落とし込む使い方してたけど

 

251: バクテロイデス(東京都) [DE] 2020/02/09(日) 17:46:58.97 ID:pFZ/c26g0
vba禁止

 

282: アルテロモナス(東京都) [US] 2020/02/09(日) 19:51:26.74 ID:fCkelxcv0
Excelは大半の現場で入ってるけどPythonは入ってないし自由に入れられるわけないじゃん、、、
仕事したことないの?

 

via: VBAでシコシコ自動化しているやつ、Pythonを覚えろ! Pythonで「脱VBA」する方法

tag

今日のピックアップ

ピックアップ記事


 

【GEARBEST】~2/18日の特選クーポン~

商品名 倉庫 クーポンコード クーポン価格(円) 限定回数 終了日 備考
スマホ&周辺商品
Xiaomi Mi Note 10 (CC9 Pro) 108MP Penta Camera Global Version – Green HK
GBXMNT10BF 50246 円 200 2月29日 在庫充実
oneplus 7T 8+256 blue HK
GBOP7TG8256 58732 円 200 2月29日
OnePlus 7T Pro 8GB 256GB BLUE HK
フラッシュセール 72577 円 200 2月29日
ASUS ROG Phone 2 Gaming 8GB RAM 128GB ROM International Version – Black HK
フラッシュセール 59179 円 100 2月29日 在庫充実
OPPO Realme 5 Pro 4GB RAM 128GB ROM Global Version – Green HK
フラッシュセール 24564 円 50 2月29日 在庫充実
OPPO Realme 5 Pro 4G 8GB RAM 128GB ROM Global Version – Green HK
フラッシュセール 27914 円 50 2月29日 在庫充実
OPPO Realme 5 Pro 8GB RAM 128GB ROM Global Version – Blue HK
フラッシュセール 27914 円 50 2月29日 在庫充実
Ulefone Armor 6E HK
フラッシュセール 21214 円 100 2月29日 在庫充実
Ulefone Armor 3W HK
フラッシュセール 26797 円 100 2月29日 在庫充実
Lenovo Z6 Lite International Version 6GB RAM 64GB ROM- Deep Green HK
フラッシュセール 21214 円 100 2月29日 在庫充実
CUBOT X20 Pro HK
フラッシュセール 17306 円 100 2月29日 在庫充実
タブレット&ノートパソコン
Teclast F6 Plus 13.3 inch Laptop 360° Rotating Touch Screen Intel N4100 8GB/256GB – Gray China
フラッシュセール 36847 円 100 2月29日
CHUWI Hi10X 10.1 inch Tablet PC Intel Gemini Lake N4100 Quad Core CPU Windows 10 OS 6GB LPDDR4 / 128GB eMMC BT5.0 – Gray HK
フラッシュセール 30147 円 100 2月29日
CHUWI HeroBook Pro 14.1 inch Laptop Intel Gemini Lake N4000 Intel UHD Graphics 600 8GB LPDDR4 RAM 256GB SSD Notebook – Gray HK
フラッシュセール 16301 円 100 2月29日
スマートウォッチ
Xiaomi Mi Band 4 Smart Bracelet International Version – Black HK
GBBAND4MI 2969 円 500 2月29日
Amazfit GTR Lite 47mm China
フラッシュセール 12281 円 100 2月29日
“Lenovo Smartwatch E1 1.33-inch TFT Screen Sports Smartwatch Global Version – Black” China
フラッシュセール 3349 円 200 2月29日 40% OFF
Ticwris Max 4G Smart Watch Phone Android 7.1 MTK6739 Quad Core 3GB / 32GB Smartwatch Heart Rate Pedometer IP67 Waterproof – Black China
フラッシュセール 16301 円 100 2月29日
周辺製品
100 LED Solar Powered 600lm PIR Motion Sensor Wall Light Outdoor Garden Lamp 3 Modes China
フラッシュセール 1004 円 200 2月23日

 

過去のクーポン一覧・購入方法はこちら

ニュース

安倍ちゃん 『政府はお前らの母親ではない』 
1: エリシペロスリックス(大阪府) 2020/02/27(木) 11:15:09.19 ID:2h3cfNXD0● BE:784885787-PLT(16000) sssp://img.5ch.net/ico/1fu.gif 丸投げの安倍政権 新型コロナ基本方針は“国は何もしない” https://www.nikkan-gendai.com/articles/view/news/269584 安倍政権は25日、満を持して新型コロナ対策の基本方針を公表したが、 フタを開けてみると中身はゼロ、 決めたことといえば「国は何もしない」ということのみだった。 すべて地方自治体と個人に丸投げした形だ。 専門家会議の議論を経て策定された基本方針について 会見で説明した加藤厚労相は、「お願い」「要請」「いただきたい」を連発した。  基本方針は、イベントなどの開催については「全国一律での要請」は否定しつつ、 地域や企業に対して「開催の必要性を改めて検討するよう要請する」としている。 要するに「イベント中止」は強制しないが、自己判断で中止してくれ、ということだ。 テ

続きを読む

【速報】全国の小中学校・高校に臨時休校要請へ 来週月曜日から 安倍首相が表明 ★6
【海外】豪州議員「アニメ『ソードアート・オンライン』は児童の性的搾取。他にも多くのアニメや漫画が児童の性的搾取にあたる」
【安倍首相】全国の小中高 臨時休校要請へ 来月2日~春休み入るまで
【新型肺炎】『不潔』のイメージそのまま…手を洗わないフランス人[02/27]

「ニュース」記事をもっと見る

ニュース 人気記事

【速報】牧野結美アナウンサー(29) 電撃結婚!!!!!!
【國岡徹容疑者】声優志望の女性にわいせつ行為 養成講師の職業不詳男を逮捕/警視庁
【松山尚人さん】ガチアスペ陰キャの人がヤクザに入門した末路wwwwwwwwww
【悲報】江戸川区立松江第三中学校の生徒、大体やばい(のあちゃむ/ひろと君)【閲覧注意】
【神戸教師いじめ】主犯・長谷川雅代さんらの顔写真が流出…
【平成の龍馬】多田光宏さん、埼玉県志木市議選挙で当選。
【火事】東京都荒川区町屋5丁目でマンションの一室が焼ける火事 男性1人重体
【悲報】昨年9月にAVデビューしたばかりの竹内乃愛、DMMから全作品が消える 発売予定の作品も消える
【芸能】大原優乃さんの中央大LINE流出事件はどうなったん?(´・ω・`)【捏造】
【過激動画注意】長崎県職員の福田美姫(22) 無修正性器をご開帳で逮捕「みきぷるんっ」「ひのたそ」などで活躍