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


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

Excel VBA 質問スレ Part70



1 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 22:08:43.71 ID:jtngtgXU0.net]
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

159 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 19:26:47.90 ID:o5ukQupNM.net]
>>157
ちなみに今回使おうとしたのは3次元配列なんだけど、3次元配列にした理由は同じような2次元配列に順番にアクセスしたかったから
こういう場合は2次元配列を複数用意すればいいのかな?
3次元配列にした方がスマートに記述できると思ったんだけど

160 名前:デフォルトの名無しさん [2021/04/09(金) 19:41:20.17 ID:H0DC02Cp0.net]
行、列、シートで、3次元
配列で重くなるならセルに入れてしまうという手も

161 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 21:04:50.47 ID:v0s3XxNT0.net]
>>159
シートを余計に食うけど場合によってはそれもひとつの有効手段だよね。
あまり見せたくなければVerryHiddenとかにしてしまえばいい訳だし。

>>158
使い処によると思うよ。使い方が単純でスピードが速い方がいいならそれでいいと思う。
ただ、これはあくまで「俺が」なんだけど実はあまり配列が好きじゃないんだ。
だからと言うわけでもないんだけどある程度大きなプログラムを組むときは
配列を使うこともあるにはあるけど、2次元配列の代わりにプロパティだけのエンティティクラス作って
それをコレクションやディクショナリに詰め込んで使ったり、
レコードセットを使ったりすることもあるし、
3次元では上記したような仕組みのものやそういった仕組みを持つクラスを作って、
それをまたコレクションやディクショナリにいれたりするように作ったりとか。
何でこんなまどろっこしいことするのかと言えば、要素と言うか項目やレコードの追加や
データ抽出が楽なんだよね。

シート足していいと言うなら先程の>>159の人の案も有りだと思う。
削除系は使えないけどシートにはその気になればSQLが投げられるから
抽出や計算、変換、加工とかする必要があるならかなり楽に作れることもあるからね。

162 名前:デフォルトの名無しさん [2021/04/09(金) 21:29:44.17 ID:H0DC02Cp0.net]
三次元配列は単純に頭がしんどい
三次元空間の様にそれぞれの次元が同じ重みを持っているなら仕方ないけど、
それ意外なら行列の二次元+シート一次元、のように分けたほうがスッキリすると思う

163 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 21:34:45.69 ID:VGCoQhdKa.net]
省略したら値渡しでしよ
再帰かけるときには値渡しにしないと、いろいろ都合がある

164 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 21:37:45.95 ID:VGCoQhdKa.net]
>>161
賛成、エクセルのシート使うよね

165 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 21:50:51.12 ID:v0s3XxNT0.net]
>>162
これな
実はVB.Netの場合は省略するとByVal(値渡し)で
旧VB6やVBAの場合は省略するとByRef(参照渡し)で
両方やってる人はよく間違えるんだよね。

再起の場合は確かにどれを反映させてどれを反映させないか結構大事になるけど、
まぁ基本デフォルト使わないで明示的に書くだろうからあまり気にしなくてもいいかもね。

166 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 00:28:07.23 ID:xAikY8XJ0.net]
みんなありがとう
>>160
VBAは基本の参考書を読んで一通り分かったつもり
でもクラスは上級者すぎて分からないや
一応自作のオブジェクトという理解でいる
色々案を考えてくれてありがとう、もう少し勉強してからそのあたりも試してみる

167 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 06:57:57.98 ID:+Fv9eRvVa.net]
シートに書き出すととピポットにできるから
ピポットなら何重にも次元が増やせるし
処理もはやい
ピポットとvbaを組み合わせると、
けっこうはやい



168 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 08:02:59.36 ID:GLiDRYw80.net]
>>165
頑張って
クラスはObject指向言語だと必須だけどVBAでは無理して知ってる必要もないから気が向いたときに覚えればいいと思うよ

とは言ってもクラス自体はそんなに難しいものじゃないんだけどね。よく、ひとつの纏まった機能を他のモジュールに書くよね。
あれを標準モジュールの変わりにクラスモジュールに書けばクラスの出来上がり。
後は他のオブジェクト使うときと同じようにNewして変数に入れて、変数名.メソッド名、変数名.プロパティ名とか書けば使えるよ。

どっちかっていうと考え方と使いどころに慣れるまでがちょっと大変かもね。
それ以上の多態性とかデザインパターンとかの知識を身につけるころには他の言語やってるだろうから
今そんなに深く考えることもないと思うよ。

169 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 09:30:59.12 ID:ASUPMck3M.net]
>>165
VBAの範疇ならクラスは忘れてもいいと思う
コンストラクタに引数も持てないし継承もできないから普通にユーザー定義型と操作ルーチンをモジュールにまとめるのとたいして変わらんし

170 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 10:08:24.05 ID:+Fv9eRvVa.net]
エクセルというクラスを使いこなせば
ビジネスなら十分
エクセル以上のobject作るのは無理だから

なんつてセカンドオニオンでした

171 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 15:51:59.07 ID:duTza7EGd.net]
自分もクラスで挫折して今はユーザー定義型で幸せです

172 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 16:02:42.86 ID:4ha6UGTxp.net]
自分もユーザー定義にした途端お金が入って彼女が出来ました。今ではとっても幸せです。

173 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 17:05:30.13 ID:eY7Q/L5k0.net]
そうかい

174 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 20:22:47.19 ID:mgDf3XRg0.net]
>>170
プロパティとかコンストラクタとかあとは鯛焼きの型とかいきなり説明しだすから分かりにくいんだよな

175 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 20:23:09.87 ID:mgDf3XRg0.net]
最初はクラス内の変数と関数だけでプロシージャ内のコードがこれだけ簡潔書けるようになります程度でいいのに

176 名前:デフォルトの名無しさん [2021/04/10(土) 20:31:08.56 ID:u4vdYafN0.net]
EXCELvbaで、クラスってどういう時に使うのでしょうか
ゲームのように細かいオブジェクトが多数ある状態なら分かりますが、
表の状態になったデータだと、今ひとつピント来ないです
社員classや顧客classを作るのでしょうか

177 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 20:42:21.31 ID:r9QO1mE4M.net]
無理に使う必要は無い。
「使わなくては!」と閃く状況が来るときまで。



178 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 21:10:26.00 ID:2jN52YXT0.net]
>>175
よく使うけど毎回書くのが面倒な処理がある時
DB接続とかUIAutomationとか長げぇよってやつ

179 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 21:22:16.81 ID:GLiDRYw80.net]
>>175
どう使うかを決めるのも自分。
だからクラスそのものより
考え方や使いどころに慣れるまで
そっちの方が大変だって言ったんだよ。

まぁ表であればあくまで俺であれば、
項目をプロパティにして
1レコードをクラスにして、
それをコレクションやディクショナリに
登録して使うよ。前記したけどね。

180 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 22:23:34.34 ID:duTza7EGd.net]
オレ知ってる!
クラスってニューして使うんだよな!

181 名前:デフォルトの名無しさん [2021/04/10(土) 23:22:47.33 ID:kj/emQZa0.net]
エクセルでガントチャートを作りたく極力簡単な方法を探しています。
(手順が少なく、エクセル苦手でも理解しやすい)

自力で探したところ
ttps://excel-master.net/cells-worksheets-control/gantt-chart-3/
の「条件付き書式でガントチャートをつくる」が一番簡単な気がしましたが
より簡単な方法があったらご教授いただきたく。

windows板で尋ねようかと思いましたがエクセル専用スレが無いため
詳しい人が多そうなこのスレにお邪魔しました。

182 名前:デフォルトの名無しさん mailto:sage [2021/04/10(土) 23:41:30.33 ID:KgXo78Rva.net]
要望は何回もやり直したほうがよいよ
さいしょは相手も自分もよくわかってないから
Ver3ぐらいでようやく完成する

183 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 00:00:57.05 ID:0+LhiyyI0.net]
>>180
あ、これ、俺は苦手だわ
WBS作ろうとするとどうしても
簡単に作ることより分かり易くする方に
力入れちゃうから多分そのリンク先に
載ってることよりややこしい数式にしてしまう

ま、WBSなんて基本、予定線と実績線、
あと遅れそうになった時のワーニング色と
遅れた時のアラート色、
あと遅延リカバリ用の枠付けとくくらいだから
大したもんじゃないからまぁ頑張って。

こういうの作るときにもっと大事なのは
見積もりとそれに対するする人員と期間の
配分だから、そっちも任されているなら
そっちに作業の80%くらい割り振って
考えた方がいいよ。

184 名前:デフォルトの名無しさん [2021/04/11(日) 02:17:20.23 ID:x6o0gjqGd.net]
馬鹿ばっかのスレ

185 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 02:27:18.88 ID:C7VIYXjZa.net]
ガントチャートだとあんまり工程管理にならないんだよ
やってみるとわかるけど
8割がた遅延する、というか遅れてないと進捗がわからないだよ
1、そもそもスタートしていなかった?
これがいちばんおおい
2、深刻で致命的なもんだいが、見つかるとはいちばん最後
だから

186 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 10:19:59.88 ID:Gib6KHmfM.net]
>>180
そのガントチャートで問題ないならそれが一番簡単だと思う
ただ>>184が言うような日程管理をしたいならもうちょい作り込むなり専用アプリを使ったほうがいい

187 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 11:13:40.17 ID:udnt6yH0p.net]
質問です

今後このスレ
こう言ったEXCELのとか
旧VB6とか許容すんの?

古参なら今までどういったことが
有ったか覚えていると思うけど



188 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 11:43:22.55 ID:TwIBijR2M.net]
質問者はワークシートでの作り方はある程度想像がつくけどVBAの知識がある人ならよりスマートな方法を知っているかもしれないと考えてここで聞いたんだろうし、
それに対してワークシートの機能でできることはVBA使うよりワークシートの機能でやった方がいいってのは極めて妥当で健全な回答だろう
そんなことでいちいちスレ違い警察さんが出動しなくていいよ

189 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 12:04:02.09 ID:0+LhiyyI0.net]
>>187
そう

許容するのね?

190 名前:デフォルトの名無しさん [2021/04/11(日) 12:41:42.70 ID:WBicdlML0.net]
excelのOnTime関数をPowerPointで使うこと出来ないよね?同じ機能を持った関数ってある?

191 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 12:55:23.83 ID:0+LhiyyI0.net]
>>189
無いからAPIで行うらしい
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1396587403

192 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 13:01:24.60 ID:J2w1eWX20.net]
Excelから呼び出せないのか
起動中のソフトを検索するワード関数をExcelから呼び出してるの見かけたことあるけど

193 名前:デフォルトの名無しさん [2021/04/11(日) 14:13:05.18 ID:WBicdlML0.net]
>>190
ありがとう
まったく理解できないけど、もっと楽な方法ないのかなー

194 名前:デフォルトの名無しさん [2021/04/11(日) 15:30:39.63 ID:VuRQUus/0.net]
vb.netでdllとか作った方が早いような

195 名前:デフォルトの名無しさん [2021/04/11(日) 20:16:20.16 ID:MoadxaFG0.net]
>>180
スレ作ればいいだろ
厚かましいにも程がある

196 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 21:10:22.11 ID:LXnW0jT40.net]
Python, Julia, Ruby などで使う、Jupyter Lab に、ガントチャートは無いのか?

197 名前:デフォルトの名無しさん [2021/04/11(日) 21:40:30.24 ID:VuRQUus/0.net]
>>196
あることはある
https://cafe-mickey.com/python/plotly-tutorial-6/

でも結局死ぬほどカスタマイズすることになるから、EXCELで作るのが一番マシ



198 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 23:13:09.15 ID:rV+Er0Dj0.net]
業務とはかけ離れた腕自慢スレになりつつあるなここは

199 名前:デフォルトの名無しさん [2021/04/11(日) 23:26:48.43 ID:ZRspFCij0.net]
>>180
です。スレ違いな質問に回答くださってありがとうございました。
>>187
さんのご推察どおりここの先生方を最も頼りにしております!

残念ながら任されているのはエクセル上の作業のみであり
人員期間の配分は担当外ですが
コレが一番スマートだと確信できました。
これで安心して作業に入れます。感謝します。

200 名前:デフォルトの名無しさん mailto:sage [2021/04/11(日) 23:52:08.05 ID:Omw3/P/WH.net]
>>197
昔から、質問の答えが出た後に別の方法を書き込む競争はやってた

201 名前:デフォルトの名無しさん [2021/04/12(月) 00:09:38.61 ID:zgwaoc/v0.net]
いつものあいつだな

202 名前:デフォルトの名無しさん [2021/04/12(月) 02:49:52.91 ID:Bvz5U6oCM.net]
まだ引っ掛かる馬鹿がいるのか

203 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 09:23:22.30 ID:H+Y94TUB0.net]
回答者さん同士で競争とか知恵袋と同じじゃんか
無駄にスレの無駄遣い

204 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 10:17:02.71 ID:5VvoR6W20.net]
無駄な書き込みを無駄にスレに書き込んでスレを無駄に使うことはスレの無駄遣いだと書き込むことはスレの無駄遣いかもしれない

205 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 10:35:19.07 ID:0gH2bD5Aa.net]
無駄な努力が、むくわれるのさ

206 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 10:49:33.17 ID:0gH2bD5Aa.net]
VLookupをつかったのは無駄な努力だったな

やめときゃよかった

207 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 10:56:04.87 ID:0gH2bD5Aa.net]
これをマクロでどうにかなりませんか

そういってわたされたのがVLookupが山のように貼り付けられた
エクセルシートだった
うまくと動くけと突然とまるw
けっきょくforループの検索に代えた

とここまで書いておもいだしたが
去年、メンタル悪化で退職した同僚がいたけど
のこしていってのはやはりVLookupの山だったな
動かないVLookupで退職するまえに本スレにご相談ください



208 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 12:12:04.06 ID:8dcLaG4EM.net]
Excel初心者はVLookupしか知らないから
何でもこれでやろうとして自爆する傾向があるね

209 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 12:24:31.30 ID:H+Y94TUB0.net]
そのVlook関数はマクロ経由なのかが気になる

210 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 12:42:14.50 ID:HPbAbv3kH.net]
池の女神は言いました
あなたが落としたのはVLOOKUPですか、HLOOKUPですか
いいえ私が落としたのはXLOOKUPです

211 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 13:02:43.22 ID:A3OoULtt0.net]
質問です
>>209の言う
VlookupとHlookupの頭文字は
バーティカル(垂直)とホライズン(水平)
なのは分かるんですがXlookupの頭文字の
Xってなんですか?
EXCELの質問でスレ違いなのは
重々承知していますが
このスレにいる方々の知識の豊富さに縋らせてください
考えると夜も眠れない有様です

212 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 13:25:12.45 ID:QkakYyyta.net]
>>210
クロス

213 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 13:30:51.45 ID:A3OoULtt0.net]
>>211
クロスのスペルってCROSSではないんですか?
それともX_JAPANの「エーックス」のクロスですか?
分かりません><

214 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 13:34:07.13 ID:X9TSjYQR0.net]
XmasのX

215 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 13:36:54.52 ID:MyLZJXYdp.net]
向こうではCrossとかChristmasをXで省略するから、だと思う

216 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 13:41:07.52 ID:A3OoULtt0.net]
>>213
>>214
やっと分かりました
今日からぐっすりと眠れそうです
ありがとうございました

217 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 15:02:08.77 ID:3rdXwFWw0.net]
>>215
死ねよ



218 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 17:28:11.89 ID:H+Y94TUB0.net]
バツルックアップじゃないの??
事務のオバチャンにそう聞いたけど

219 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 19:56:57.26 ID:UqVxKohHa.net]
とんこつととんかつの違いはなんですか

そういう質問をうけたときがあったなぁ

220 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 20:02:02.68 ID:HPbAbv3kH.net]
とんかつ
とんかち

221 名前:デフォルトの名無しさん mailto:sage [2021/04/12(月) 22:40:18.25 ID:6cC4Cv/z0.net]
マジレスするとExtraやExtendのX

222 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 12:25:16.60 ID:XNPY+hAHa.net]
ガントチャートの欠点は
遅れの検出がおそいだよね
期限が過ぎないと遅れることがわからない

これでは手遅れですよ

223 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 12:40:10.17 ID:5GJi7nDK0.net]
>>221
あ、そうなんだ
EXCELの数式だったら予定線より実績線が
二日くらい前になったらワーニングで黄色、
予定線以降になったら赤とかにしとけば
ワーニングに入った時点でリカバリ案とか
会議で話し合えるのにね。

224 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 12:54:32.74 ID:mzxN/X4qM.net]
期限過ぎる前に進捗率がヤバくなればリスケで仕切り直し
いつまで経っても期限が過ぎることは無い

225 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 13:24:50.99 ID:5GJi7nDK0.net]
>>223
本当にありそうで怖いわ!

226 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 17:28:26.59 ID:XNPY+hAHa.net]
開始日でだいたいわかる
おおくのばあいはまともにスタート出来てないからw

人がいない、資料がそろってない、仕様がきまってない
だも
スタートできなきゃゴールするわけがない

227 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 20:57:49.87 ID:5GJi7nDK0.net]
>>225
開発あるあるだなw
そうか、確かにVBAだと後ろが伸びるだけになるかも知れないね。
他のある程度大きいシステムになると
・客先から上がって来ない要件定義
・客先だから強く言えないチームのリーダー
・差し迫る納期
・焦りが出てきてイラつく俺ら。それを宥めるリーダー

この辺からが違うところかな

・システム間の連携や他システムとの連携のため伸ばせない納期
・更に焦る俺ら。宥めきれなくなるリーダー
・上がって来る要件定義、血眼で設計書を作る俺ら
・時間がなくて客先との対面レビューのはずが回覧レビューになる設計書
・PGしながら単体テストケース作りながら単位テストしながらエビデンス取る俺ら
・超える納期、無くなる休日、伸びまくる勤務時間、倒れる仲間
・覆る要件定義、設計種ミス発覚、他の嶋から助っ人入るも焼石に水、発狂する助っ人
・何とかSTまで終了。飛ばされるリーダー、バグだらけの成果物、昇天する俺ら

最悪こんな感じかな。



228 名前:デフォルトの名無しさん [2021/04/13(火) 21:11:48.26 ID:QqfAiqTvM.net]
>>225
開発あるあるだなw
そうか、確かにVBAだと後ろが伸びるだけになるかも知れないね。
他のある程度大きいシステムになると
・客先から上がって来ない要件定義
・客先だから強く言えないチームのリーダー
・差し迫る納期
・焦りが出てきてイラつく俺ら。それを宥めるリーダー

この辺からが違うところかな

・システム間の連携や他システムとの連携のため伸ばせない納期
・更に焦る俺ら。宥めきれなくなるリーダー
・上がって来る要件定義、血眼で設計書を作る俺ら
・時間がなくて客先との対面レビューのはずが回覧レビューになる設計書
・PGしながら単体テストケース作りながら単位テストしながらエビデンス取る俺ら
・超える納期、無くなる休日、伸びまくる勤務時間、倒れる仲間
・覆る要件定義、設計種ミス発覚、他の嶋から助っ人入るも焼石に水、発狂する助っ人
・何とかSTまで終了。飛ばされるリーダー、ハゲだらけの社員、昇天する俺ら

最悪こんな感じかな。

229 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 21:15:01.18 ID:5GJi7nDK0.net]
うーん、何か接続がおかしいのかな
他のスレに誤爆になってこのスレでも2回載ってしまった
すまんこ

230 名前:デフォルトの名無しさん [2021/04/13(火) 21:34:03.40 ID:QqfAiqTvM.net]
うーん、何か接続がおかしいのかな
他のスレに誤爆になってこのスレでも2回載ってしまった
おまんこ

231 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 21:38:41.78 ID:5GJi7nDK0.net]
>>229
おいw

232 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 07:51:01.50 ID:EILUghab0.net]
ウンコマクロ

233 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 19:17:03.44 ID:hXL/FQf4a.net]
まあ。そんなんだ

234 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 19:29:05.82 ID:jCprHRHj0.net]
EXCEL VBAは好きだし凄く肌に合ってると思うけど、案件単価がちょっとなぁ

235 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 19:47:31.92 ID:kMGrei9fM.net]
EXCEL VBAが肌に合う様な奴が案件単価とか生意気。

236 名前:デフォルトの名無しさん [2021/04/14(水) 20:39:37.17 ID:E4KyUeCU0.net]
一般事務が仕事中に覚える→結婚・退職→主婦の傍ら有り余る時間で糞みたいな単価で受注
まぁ、悪い事でもなんでもないんだけどね、うん

237 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 20:45:27.19 ID:ijCB3EYv0.net]
あたまが鉛のようにおもい



238 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 20:47:48.07 ID:cTgQ8ZPt0.net]
1時間で作れるような案件が高いわけない

239 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 20:52:06.82 ID:ijCB3EYv0.net]
冷戦時代日本がロケットのことでロシアに教えをこうたとき
一言ジャイロに問題があるといって
100億ぐらいもって去っていったそうな

240 名前:デフォルトの名無しさん [2021/04/14(水) 21:21:01.64 ID:tTtaKpUk0.net]
VBA Seleniumdriveで
driver.ExecuteScript ("XXXX")
でonclickをクリックするとモーダルコンテンツが表示されます。
コンテンツ内のXpathをクリックしてもボタンを押すことが出来ないんですが、
SendKeys "{TAB}", Trueで該当のボタンをクリックする以外に
要素を指定してクリックする方法ってありますか?

241 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 22:43:58.06 ID:bsTwIiw80.net]
下記「やりたいこと」のようにhtmlから抽出したいのですが、
下記「前提」があって、どうしたらいいのか分かりません。
なにか方法ありますでしょうか?

--- やりたいこと ---
下記htmlにおいて、"ヘッダ"のすぐ次に存在しているtableタグ内の項目1,2、要素1,2を取得したい

--- 前提 ---
@"ヘッダ"は特定できる
Atableは特定できない
 ・tableのidや要素から特定できない
 ・tableの数から特定できない(取得したいtableが何個目なのか分からない)

--- html例 ---
 ・・・
<h2>ヘッダ</h2>
<table>
<tr><th>項目1</th><th>項目2</th></tr>
<tr><td>要素1</td><td>要素2</td></tr>
</table>
 ・・・

--- プログラム例(Microsoft Internet Controls、Microsoft HTML Object Libraryは参照設定済み) ---
Dim objIE As New InternetExplorer
objIE.Navigate "***"
Do While objIE.Busy = True Or objIE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
For Each obj In objIE.Document.getElementsByTagName("h2")
If InStr(obj.innerText, "ヘッダ") > 0 Then  ヘッダは見つけることができるが、この後どうしたらいいのか・・・
End If
Next obj

242 名前:デフォルトの名無しさん mailto:sage [2021/04/14(水) 23:08:27.54 ID:mIFbuL/UH.net]
>>240
<HTML>タグか<BODY>タグで全体のソースを取り込んで、あとは文字列として処理

243 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 01:36:52.92 ID:E+h/Uieza.net]
VBAでやる意味あんの?

244 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 02:03:12.55 ID:Un6DIa9Z0.net]
>>241>>242
ありがとうです。
もう少し考えます。。

245 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 06:20:29.14 ID:5JoH8OD60.net]
>>240
jQuery なら、2重ループで、

<h2 id="id-1">ヘッダ</h2>
<table><tbody>
<tr><th>項目1</th><th>項目2</th></tr>
<tr><td>要素1</td><td>要素2</td></tr>
</tbody></table>
<table><tbody>
<tr><th>項目3</th><th>項目4</th></tr>
<tr><td>要素3</td><td>要素4</td></tr>
</tbody></table>

$( function ( ) {
let table = $( '#id-1' ).next( ); //次の兄弟要素

// table > tbody > tr を、1行ずつ処理する
$( table ).children( ).children( ).each( function ( index, row ) {
// 1列ずつ処理する
$( row ).children( ).each( function ( index_2, col ) {
console.log( `${ index }行 ${ index_2 }列`, col.textContent );
} );
} );
} );

出力
0行 0列 項目1
0行 1列 項目2
1行 0列 要素1
1行 1列 要素2

246 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 06:53:10.31 ID:r2UxJQfIM.net]
>>244
VBAの構文に変換してくれ

247 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 11:25:51.10 ID:c60l0/FJ0.net]
>>244
VBAに対してHTMLの集約やメソッドチェーンが使える言語をぶつけてくるのは卑怯だと思うの



248 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 12:05:58.59 ID:nvZZu+k0a.net]
スクリプトぐらいなら良くねの

249 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 12:18:14.12 ID:ivOr0/mk0.net]
>>244
結局総当りか
まあそうだよね

250 名前:デフォルトの名無しさん [2021/04/15(木) 16:07:09.80 ID:MUSbI6ab0.net]
質問です。
今は下記のようなコードとvlookupを組み合わせて連続で請求書を印刷しています。
一つのジョブにまとめて印刷するにはどのようにしたらよいでしょうか?

Sub 連続印刷()
Dim i As Integer
Dim LastRow As Integer

Worksheets("請求書").Select

With Worksheets("データ")

For i = 3 To 5
Range("d1").Value = .Range("A" & i).Value
Range("n1").Value = .Range("A" & i + 1).Value
i = i + 1
ActiveSheet.PrintOut
Next
End With
End Sub

251 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 17:29:43.21 ID:c2wrGnlaM.net]
>>249
vlookup部分もVBA化して組入れれば一つのJOBに出来るよ

252 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 17:46:43.97 ID:BAka9uDVM.net]
>>249
3つぐらいなら請求書シートを必要分コピーして各々値を入れて複数シートを一気に印刷するしか思い付かない

253 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 17:53:55.45 ID:c2wrGnlaM.net]
請求書シートも複数有るなら、それをFor Nextで繰り返すぐらいだろうね

254 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 19:09:26.62 ID:pI0uqt930.net]
UI Automationの質問てここでいいの?
VBAでゆっくりムービーメーカー4のキャラクター切り替えをやりたいんだけど、
うまくいかず。
キー操作をWindowsに送ることでごまかしている。

”追加してシーク”ボタンを押すだけならこんな感じでできるんだけど、

Set iCnd = uiAuto.CreatePropertyCondition(UIA_NamePropertyId, "追加してシーク")
Set elmYukkuri_Button = elmYukkuri_timeline.FindFirst(TreeScope_Subtree, iCnd)

Dim InvokePattern As IUIAutomationInvokePattern
Set InvokePattern = elmYukkuri_Button.GetCurrentPattern(UIA_InvokePatternId)

ボタンじゃなくてコンボボックスでボタン内容が切り替わるときはどうすればいいんだろう?

255 名前:デフォルトの名無しさん [2021/04/15(木) 21:08:32.60 ID:fGNDJEoP0.net]
>>249
俺もそれ使ってたわ
100セットとか印刷するとコピー機占領するからすごい迷惑なんだよね。
色々あって、vbaは逆に使わなくなった

方法はは>>251にかなり近くて、

・シートを連番で用意しておく
・シート名は「3」〜「5」
・vlookupのキーはシート名にする
Range("d1").Valueには、 .Range("A" & シート名).Value
Range("n1").Value には、.Range("A" & シート名+ 1).Value
のように、予めシート名を引っ張ってvlokup部分は完結させておく

後はシート「3」〜シート「5」を選択し、印刷するだけ。ジョブは一つになるし、vbaも不要になる

シート内容が変更になる時は、vbaを使って連番のシートを再作成すると良い

256 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 22:20:13.95 ID:8+4wzY1VH.net]
直接印刷せずPDFにすればいいじゃん
PDFなら大量のファイルを1回のジョブで一気に印刷できるぞ

257 名前:デフォルトの名無しさん [2021/04/15(木) 22:56:26.48 ID:fGNDJEoP0.net]
>255
PDFに出力する時はvbaで制御できないんじゃ



258 名前:デフォルトの名無しさん mailto:sage [2021/04/15(木) 23:42:15.25 ID:rzqCvIH40.net]
>>253
ここで良いけど、
UIAutomationとムービーメーカー4両方知ってるレアな人じゃないとわからないと思うぞ。

俺は前者しかわからんからあてずっぽうで言うけど、
FindFirstじゃなくてFindAllして中身を調べれば良いんじゃないの?

259 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 04:48:18.88 ID:aO0hqHGi0.net]
>>257
とりあえずごまかしながら作ったのがこんなやつ
https://youtu.be/3RApNTTEkIs
ソースとかほしい?






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

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

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