Excel VBA 質問スレ Part65at TECH
Excel VBA 質問スレ Part65 - 暇つぶし2ch405:デフォルトの名無しさん (アウアウエー Sadf-Ho7r)
20/04/17 23:04:41 tPgd0P7Wa.net
現実問題として、VBAで複雑なマクロを書くと重くて動かないと思うんだけどな
それでも我慢して使っているのかな?

406:デフォルトの名無しさん (ワッチョイ ffda-Ho7r)
20/04/18 08:44:33 FzSpO5p/0.net
Excelでポリゴンゲー作るとか、
相当極端なことをしない限り大丈夫。

407:デフォルトの名無しさん
20/04/18 09:44:05.01 QhOAvRvA0.net
複雑な処理だからって重くなることはないだろ
重い処理をするから重くなるのであって

408:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 12:59:54 DE4BsnuO0.net
>>402
お前、事務員だろ。
自分のボロに気付いて無いw

開発会社で働いたことある奴ならすぐわかる。

409:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 13:06:18 DE4BsnuO0.net
>>405
スキルの低い奴はそうなる。
もちろんVBAは遅いけど、VBAで実施するようなことで、どうしても遅くなると想定されるような処理は殆ど無い。
VBAで実施するようなことじゃなければ別だが、そういう話はあまりない。

410:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 13:08:05 DE4BsnuO0.net
>>404
話には聞いたことがあるが、自分が目の当たりにしたのは今回が初めてだ。

411:デフォルトの名無しさん
20/04/18 13:16:31.33 XwSVwu50d.net
関数名だけ日本語ってルールにしてるところは見たことがある
意外と見づらくなかった

412:デフォルトの名無しさん (ドコグロ MMbf-h94e)
20/04/18 13:29:04 bylan2xBM.net
>>408
> 開発会社で働いたことある奴ならすぐわかる。
なら詳しく説明してみなよ
客のものを勝手に引き継ぐとか犯罪だぞw

413:デフォルトの名無しさん (ドコグロ MMdf-h94e)
20/04/18 13:33:12 jvR0dANmM.net
>>411
まあ、読むのは慣れだと思う
慣れればそんなに苦じゃないし意味不明な英訳調の関数名や変数名よりマシ
ただ入力がかなり面倒

414:デフォルトの名無しさん
20/04/18 13:38:19.65 DE4BsnuO0.net
>>412
???
日本語が理解出来ない人?
客が依頼していた開発会社を変えただけのことだろ。
10年前依頼されてた開発会社のコメントがソースにあったが、プログラムは客のもんだ。
今、依頼されてるうちの会社がどうして10年前に依頼されてた会社の了解を取る必要がある?

415:デフォルトの名無しさん
20/04/18 13:43:26.52 DE4BsnuO0.net
>>412
というかね、こんなの普通によくあることだぞ。
別会社のコメントなんて何度も見たことある。
開発会社で働いたことあれば、そんな所に違和感なんて感じないだろ。

416:デフォルトの名無しさん
20/04/18 13:53:22.59 oUZZgMAe0.net
ソースコードの著作権をどっちがもつかは契約によるぞ
著作権をシステム会社側がもってるのに違う会社に開示したらそれは違法行為
知らずにやってるってのは昔はよく聞いた
10年前に依頼されてた会社の了解を取る必要はないが
普通はソース開示受けるなら開示元に著作権の確認はする

417:デフォルトの名無しさん
20/04/18 14:00:07.44 DE4BsnuO0.net
>>416
そんなの常識だろ。
だが、そこまで分かってるなら結論も容易に想定出来ると思うんだが。
VBAの開発ではExcelならブックそのものにソースが付いてくるし、実質派遣のような形態も多い。
つまり、契約上客のもんになってると想定するのが普通。

418:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 14:01:39 DE4BsnuO0.net
ここで言ってる想定ってお前のことだからな。
そんな想定も出来ずにいちゃもん付ける奴に言ってる。

419:デフォルトの名無しさん (ドコグロ MMdf-h94e)
20/04/18 14:04:14 p9WER9c7M.net
>>414-415
> 客が依頼していた開発会社を変えただけのことだろ。
それ引き継ぐなんて言わんだろ
お前の会社から見たら単に客から改修を依頼されただけ
元のソースを別会社が作ってたか客が作ってたかなんて関係ないし

> 日本語が理解出来ない人?
お前の日本語がおかしいだけ
まあどんどん辻褄合わなくなってるだけとも言うがw

420:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 14:05:27 DE4BsnuO0.net
>>419
???
言うだろw

日本語を理解出来なかった言い訳が見苦しいw

421:デフォルトの名無しさん (ワッチョイ bf2f-8Jcx)
20/04/18 15:07:20 oUZZgMAe0.net
>>419
日本語がおかしいというより、自分の脳内理解が共通認識だって信じて疑わない人だったようだぞ
かまった俺も悪かったが、俺は今後スルーするからお前もそうしろ

422:デフォルトの名無しさん (ワッチョイ d7ac-RTks)
20/04/18 15:20:13 mWjkYk7T0.net
スレ違いになってきてるとは思うが。

最初のほうの386には
「そもそもexcelVBAって素人が頑張って自動化してみましたってのが99%なんだから
そういうのをメンテしなきゃならない羽目になったって話だろ」
って書いてあって、
ここ数レスはプログラム(開発資産)として引き継いだ中のVBAソースコードに焦点が当たってるように見える

まず引き受けた方がプロ(仕事としてVBAをやる)として、
前者ならドキュメントとかなくても(時間さえあれば)改修も簡単だろう。
後者ならドキュメント残してないやつ、もしくはそれを知らずにスキルもなく引き受けたやつが悪い。

まあこんな、前提とゴールをあやふやにして不毛で幼稚な言い合いをしたいなら別にスレを立ててろ

423:デフォルトの名無しさん
20/04/18 15:25:44.82 R5ze2oyiM.net
>>420
> 言うだろw
言うのはお前だけなw
>>421
知ったかが盛って語ったら引っ込みつかなくなったパターンだと思う

424:デフォルトの名無しさん
20/04/18 15:45:18.98 DE4BsnuO0.net
>>422
開発やったこと無い奴だから簡単等と言えるw
確かにドキュメントは無いが、あっても他人のコード読むのは大変だぞ。

425:デフォルトの名無しさん
20/04/18 15:47:00.47 DE4BsnuO0.net
>>423
引き継ぎって言葉分かってる?
それに、想像力があれば一番最初の段階で想定できるような話なんだがw

426:デフォルトの名無しさん
20/04/18 15:51:30.21 DE4BsnuO0.net
引き継ぎ 開発でクグったら最初の3つとも他社からの引き継ぎのことが書いてあったわw
開発会社じゃ当たり前のことなんだけどなw

427:デフォルトの名無しさん (ドコグロ MM5b-h94e)
20/04/18 15:56:09 MLXwdj/hM.net
でもググったURL

428:デフォルトの名無しさん (ドコグロ MM5b-h94e)
20/04/18 15:56:30 MLXwdj/hM.net
は出せないw

429:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 15:59:10 DE4BsnuO0.net
>>422
ああ、素人のコードを引き継いだとしたらの話か。
まあ、素人の短い簡単なコードならその通りだな。

まあ、>>394に書いた通り、形の上では開発会社らしき所のコードだし、コード量も多いからねえ。
VBAはそういうの多いんだよ。
形では仕事で受けてても素人のコードとか。

430:デフォルトの名無しさん
20/04/18 16:01:12.79 DE4BsnuO0.net
>>427
出しても構わんがw
マナー的に出してないだけでw
というか、お前もググって見てから言えよ。
事務員の上にググることさえ出来ないのかよw

431:デフォルトの名無しさん
20/04/18 16:21:35.89 N9jsIxO7M.net
出しても構わんけど出せない
うんうん、そうだろねw

432:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 16:40:22 DE4BsnuO0.net
>>431
ググれないバカに出してやろうwww

システムの保守ベンダー変更による引き継ぎ
URLリンク(www.lanscope.jp)

他社開発システム・アプリケーション保守引継ぎ
URLリンク(www.stylez.co.jp)

他社が開発したシステムを引き継ぎます
URLリンク(www.tpc.jp)

他社が開発したシステムも開発を引き継ぎ保守します。
URLリンク(kusanagi.dht-jpn.co.jp)

他会社が受託開発したPHPのWEBシステムを引き継ぎ運用し、その後の改修対応などを行うことがあります。
URLリンク(qiita.com)

そのWebサイト・システムの保守引き継ぎます。
URLリンク(www.accent.co.jp)

433:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 16:46:17 DE4BsnuO0.net
>>423
な、お前のような素人だけだよw
客が依頼してた会社を変えて、引き受けたのを引き継ぎとは言わないのはwww

434:デフォルトの名無しさん (ドコグロ MMdf-h94e)
20/04/18 17:45:11 JSVuvQDyM.net
必死にググったのは褒めてやるよw
でも、それ運用とか保守の話だろ
そりゃそう言うのは連続してるから引き継ぎって言うだろうけど、10年前の他社のコードの改修を引き継ぎとは言わんわな

435:デフォルトの名無しさん
20/04/18 17:51:35.98 HTrBhqa/0.net
微妙にニュアンスがずれてる気がするけど
わざと?

436:デフォルトの名無しさん (ワッチョイ 1702-nex3)
20/04/18 19:45:41 SSjF6x8Y0.net
他でやれ

437:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/18 22:46:28 DE4BsnuO0.net
>>434
必死?
一発で出たぞwww

またボロが出る。
開発は作って終わりだと思っているのか?
普通は保守へと継続していくもんなんだが。
何も知らんのなw

438:デフォルトの名無しさん (ワッチョイ ff8f-Ho7r)
20/04/18 22:51:16 Yw55XdRL0.net
>>410
ブラック・ショールズ式ってのが金融の世界にあるんだが、これをググって
初めて日本語の変数見て目が点になったw

439:デフォルトの名無しさん (ワッチョイ 5701-7wDT)
20/04/19 05:44:09 wxLF5u+B0.net
質問していいのか?
グラフの近似式をセルにコピペするマクロだ。

440:デフォルトの名無しさん
20/04/19 06:21:55.35 fnnke5O7M.net
あらら、他社のコードの保守まで受託してるって話にするの?
そういうケースだと普通はドキュメントも貰ってるはずだけどろくなドキュメントがないって話かな
そんなハイリスキーな受託して>>325みたいな愚痴こぼしてるなら知能の足りない会社と言われてもしょうがないじゃん
まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す
でないと保守できないから
>>437は保守が何をするのかすらわかってなさそうw

441:デフォルトの名無しさん
20/04/19 06:29:22.92 NooYP4/SM.net
>>439
コピペは難しい、普通にセルに直接ぶち込め
って書かれてるぞ
URLリンク(detail.chiebukuro.yahoo.co.jp)

442:デフォルトの名無しさん
20/04/19 08:34:09.85 /XkpxjBrr.net
近似式をテキストとしてセルに貼るとこまでできたが、そのテキストから係数を得る方法はないですか

443:デフォルトの名無しさん
20/04/19 08:38:32.44 /XkpxjBrr.net
近似式をセルに落とし、計算する作業が大量のあるためです

444:デフォルトの名無しさん
20/04/19 09:19:45.38 BXvk/jUs0.net
>>440
プw
引き継ぎって知らんの?
いい加減、恥を晒すだけだぞw
というか、VBA案件だけの話だと思ってる?
爆笑もんだw
1つの客から1つの案件だけのわけね―だろ。
寧ろVBAの開発はメインじゃね―ぞ。
DBにAccessなんて普通は無いんだ。
バックエンドとか知らんの?

445:デフォルトの名無しさん
20/04/19 09:25:23.89 BXvk/jUs0.net
>>440
あと、知らんのだろうけど、ドキュメント類についてはVBAの場合はそうならないことが多いんだよ。
今までいろんな案件で仕事したがドキュメント貰ったことなんて記憶に無いくらいだ。
で、ドキュメント作る時間も無いことも多い。
これはVBA案件の特殊性だろうな。
VBAが言語として糞呼ばわりされる原因の1つだろう。

446:デフォルトの名無しさん
20/04/19 09:40:28.30 VbzAXKcO0.net
もうウザイから消えろ

447:デフォルトの名無しさん
20/04/19 09:44:05.10 wN5KW3ZOM.net
>>446
無理にこのスレに居なくてもいいんですよ

448:デフォルトの名無しさん (ワッチョイ 1701-ycCE)
20/04/19 10:45:28 Shwu+G580.net
>>442
近似式a x + bからa とか bを切り出すってこと?
VBA使わずともエクセル関数で出来るでしょ
RIGHT、LEFT、MIDとか駆使しろ

449:デフォルトの名無しさん (ドコグロ MMbf-h94e)
20/04/19 10:51:03 ARSXQ48qM.net
>>444-445
今度はAccessガーとか言い出したのか
まあ言い出すのがAccess止まりなのが物悲しいけどねw

ドキュメントも作らずに何を保守するつもりなんだよ
言われたらその場であたふた調べてやっつけ仕事でテキトーに改修するのか?
そう言うクズ会社なのはよくわかったよ

450:デフォルトの名無しさん (アウアウエー Sadf-tHNm)
20/04/19 11:52:18 olPCwpAZa.net
自宅待機でストレス溜まってんだろなー

451:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/19 12:04:09 BXvk/jUs0.net
>>449
バーカw
今度はじゃね―よw

ある特定の案件だけと考えるバカに教えてやってるだけ。
客からの要望はたくさんある。
VBAなんてたくさんある中のごく一部なのがむしろ普通。

ドキュメント作らずってw
それは最初に受けた会社に言えよwww
現実を知らないニートにゃ分からないんだろうなw

452:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/19 12:05:45 BXvk/jUs0.net
日本語が通じないんだよな。
ドキュメント残してないのがコッチにされてる。

453:デフォルトの名無しさん (ワッチョイ 1791-N0vN)
20/04/19 12:08:31 BXvk/jUs0.net
トヨタ並に名前が知られた客から提示されたのがプログラム本体だけで、それ以外何もありませんってことだって有るんだけどな。
結構昔の話だが。

454:デフォルトの名無しさん (ドコグロ MMeb-h94e)
20/04/19 12:19:58 FGXaOjnDM.net
連投バカは日本語が理解できないらしい…
まあ無職の脳内妄想の限界かなw

> まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す

455:デフォルトの名無しさん (ワッチョイ 1701-xa8R)
20/04/19 22:09:40 5r3nTnp70.net
長文質問失礼いたします。

VBAを用いたAsc?コード129~159、224~252範囲の文字変換が上手くいきません。
環境:Windows10Pro excel2007 VB6.5

上記以外のアスキーコードでは、
?[Chrを用いた、Asc?コード→文字への変換] → ?[Ascを用いた、文字→Asc?コードへの変換]
の順序で2回変換すると最初と最後でコードが一致します。

しかし、129~159、224~252の範囲だと、
?変換では「・」、?変換では「-32443」が出力されます。(129~159、224~252の範囲ですべて同じ結果)

変換に適した別のコマンドがある、そもそもこのVerでは動作しない等、アドバイスをよろしくお願いいたします。
※大元の目的としては、オシロスコープから取り込んだ画像バイナリデータを画像データにするため、Asc?コード→文字への変換を行おうとしています。

456:デフォルトの名無しさん (ワッチョイ bf2f-8Jcx)
20/04/19 22:31:33 oozYSe6W0.net
文字として表示って、その範囲をどんな文字で表示したいんだ?
画像バイナリデータを画像データって、普通画像データはバイナリなんだが

文字として表示しないならとりあえずAscBとChrB使えば一致するんじゃね

457:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
20/04/19 22:31:47 lQLRo24I0.net
>>455
アスキーはAsc?じゃなくてAsciiな
あと、画像データはバイナリなのに、どうして文字に変換するのかもわからない

方法が間違ってないとして、どこかでデータが化けてる可能性があるけど、どこが悪いのかその文章だけではわからない
まずは変数の型をチェックかな

458:デフォルトの名無しさん (ブーイモ MMcf-csEB)
20/04/19 22:58:29 BbIK31/CM.net
-32443は文字化けした時に表示される文字のコードだから、根本的にデータの受け渡し方法を間違えてる

459:デフォルトの名無しさん (ワッチョイ 9fb5-5bTb)
20/04/19 23:08:35 Dosl7noD0.net
覚え初めてまだ三日だけどなかなかエクセル関数のように簡単にはいかんもんだね…
流石入門といえどプログラミング、敷居が高い
(A1:B1)から羅列されてる数字を(C1:D1)に
コピーしてABS関数で絶対数に変換
こんな事すらなかなか難しい

460:デフォルトの名無しさん (ワッチョイ 57ad-LzhE)
20/04/19 23:11:40 yAfHWdhM0.net
VBAは覚えることが多いだけで
やってることは関数と大差ない

461:デフォルトの名無しさん (ワッチョイ b77c-IHcq)
20/04/19 23:18:18 xFnV3YLr0.net
3日?勉強中とかいって1ヶ月近く経ってない?

462:デフォルトの名無しさん (ワッチョイ 1701-xa8R)
20/04/19 23:20:42 5r3nTnp70.net
>>456 >>457
長文の返答失礼します。

>>文字として表示って、その範囲をどんな文字で表示したいんだ?
10進数数字をASCii文字に変換しようとしています。
(66→B 77→M)

>>画像バイナリデータを画像データって、普通画像データはバイナリなんだが
呼び方が不適切だったかもしれません
?画像データ:BM>・・・(Bitmapファイルをテキスト形式で表示したもの)
?画像バイナリデータ:66 77 62 150・・・(上記を10進数変更したもの。オシロスコープからはこの形式でデータを取り込んでいる)

>>あと、画像データはバイナリなのに、どうして文字に変換するのかもわからない
取り込んだ?データを?データ(文字列)に変更、
得られた文字列をファイルに入力し、拡張子を変更して画像ファイルを作成する目的です。

>>文字として表示しないならとりあえずAscBとChrB使えば一致するんじゃね
Chr、ChrB、ChrWでそれぞれ確認したところ、
・Chr
Chr→Asc変換前後で一部データ一致せず。正規データとは一部不一致あり。
・ChrB
ChrB→AscB変換前後で全データ一致。正規データとはほとんど不一致。
・ChrW
ChrW→AscW変換前後で全データ一致。正規データとは一部不一致あり(Chrと正規データの不一致位置と同じ位置)。
※オシロの外付けFDで取り込んだ画像データを正規データ呼んでいます。
※ChrとChrWでは129~159、224~252の範囲のデータのみが正規データと不一致だったが、ChrBでは確認した範囲ではすべてのデータが不一致

>>まずは変数の型をチェックかな
オシロスコープから取り込んだ?データは配列のByte型、Chrで文字列に変換した?データはString型です。

463:デフォルトの名無しさん (ワッチョイ 9fb5-5bTb)
20/04/19 23:33:41 Dosl7noD0.net
>>461
やったというより訳も分からずここの人にただ完成させてもらっただけだから俺の本当のVBAの勉強はこれからという感じで
おかげで肩の荷が降りて基礎から学べる幸運な情況ですね
変数の宣言やデータ型は何となく理解して
こっから仕事で簡単に自分でやってけそうな関数をこなせるようにしていきたい

ここの列が空白になるまで指定の列に四捨五入した数値を貼り付け
とか絶対数を貼り付け
あとは数値のバラし
とか覚えていって自職場で簡単なVBAのテンプレート作って行けたらいいなと

464:デフォルトの名無しさん (ワッチョイ 1701-xa8R)
20/04/20 00:04:39 jmR48CvL0.net
>>458
アドバイスありがとうございます。

大部分(129~159、224~252以外)の文字変換は問題なかったですが、今一度変換方法を再確認いたします。

465:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
20/04/20 00:13:41 01IV/2aE0.net
>>462
もしかして、それって何も変換せずにそのままバイナリファイルに書き出せばいいのでは?
テキストファイルとバイナリファイルの違いは、出力方法はわかってる?

466:デフォルトの名無しさん
20/04/20 00:54:15.80 3RmvNNii0.net
>>462
だから例えば130や250という数値をどういう文字にしたいんだ?
>Bitmapファイルをテキスト形式で表示したもの
普通に言うビットマップファイルはバイナリだからテキスト形式で表示なんてできないが
というか、たんにいわゆる.BMPのファイル作りたいって話じゃないのか
お前がいってるBitmapファイルってどんなんだよ
なんにせよ出力したいデータフォーマットちゃんと確認しろ

467:デフォルトの名無しさん (ワッチョイ ff8e-eUuY)
20/04/20 01:18:49 ayPjQ7gM0.net
なぜ次から次へと馬鹿が出てくるのか

468:デフォルトの名無しさん (スプッッ Sddf-Ho7r)
20/04/20 01:59:49 7tfcEhPrd.net
>>467
外出を自粛したり自宅で仕事する人が増えたから
みんな体力とヒマを持て余してる

469:デフォルトの名無しさん (スフッ Sdbf-Ho7r)
20/04/20 02:13:58 ngLECqIpd.net
>>462
Asc?とかASCiiとか、なんでいちいち気持ち悪い書き方をするのか
こんなん入力するのも面倒だろうに
正式には全部大文字でASCII、許容範囲で小文字ascii、賛否ありそうだけど頭だけ大文字Asciiもギリ許せる、どれかにしてくれ

1文字たりとも間違いを許さない厳密さがないとプログラミングは無理だぞ

470:デフォルトの名無しさん
20/04/20 02:14:21.83 ngLECqIpd.net
とにかく、説明がへたくそすぎて、何が悪いのかさっぱりわからん
動かない今のプログラムをここにそのまま書いてくれ
たぶんそれ見た方が早い
あとオシロスコープの機種名も

471:デフォルトの名無しさん
20/04/20 03:07:35.60 HepRq5En0.net
勉強しても仕事より辛い

472:デフォルトの名無しさん (スフッ Sdbf-csEB)
20/04/20 03:16:22 0LewM/0Ud.net
たぶん、こうだな

Open "オシロ画面.bmp" For Binary Access Write As #1 'ファイル名を指定
Put #1, , 変数名 'バイト配列をそのまま全部出力
Close #1 '終了

473:デフォルトの名無しさん (ワッチョイ 77da-Ho7r)
20/04/20 06:02:11 1SCvgf4l0.net
>>471
就職先間違えたんじゃね

474:デフォルトの名無しさん
20/04/20 09:42:05.89 kpWyfGjqd.net
>>454
日本語が理解出来て無いバカニートはお前だろw
>要望に答えるためには、今動いてるものも解析しないと答えられるわけが無い。
>そのコ一ドが何やってるかわからずに機能追加なんてできるわけが無い。
だから>>325で四苦八苦してるんだろ。
ついでに言うと、こっちはちゃんとドキュメント残してる。
でもな、VBAの場合で今まで見聞きした前任者、前任の会社は残して無いことが非常に多い。
開発やってればそういう話、よく聞く話なんだよ。

475:デフォルトの名無しさん
20/04/20 09:53:56.27 k6bRrEuIM.net
>>474
マジで日本語理解できないの?
時系列ってわかる?
それとも無職の妄想だから同じ話を繰り返すしかなくなったのか?w
> まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す
できてないから今アタフタしてるだけだろ

476:デフォルトの名無しさん
20/04/20 10:02:13.61 8H2k4fX/d.net
>>475
???
出来てるから今、四苦八苦してるんだが。
解析に苦労してると書いてるだろうがw

477:デフォルトの名無しさん (スップ Sd3f-N0vN)
20/04/20 10:04:53 8H2k4fX/d.net
ついでに言っとくと、正直に言えばたった今じゃねえ。
2週間程度前の話だ。
でも掲示板で、そんな説明することは無いだろ。
どーでも良い話だからな。

478:デフォルトの名無しさん
20/04/20 10:07:15.13 8H2k4fX/d.net
>>475
さらにいうと、お前の言うとおりなら、日本にはまともでない会社だらけになっちまうけどなw

479:デフォルトの名無しさん (ドコグロ MM5b-h94e)
20/04/20 10:21:33 RWBNH8g+M.net
>>476-477
できてるって何が出来てるんだ?
どんどん話が壊れてるぞ

>>478
他社コードの保守はリスク高いから基本受けないし受けるとしたらそれ相応の対価を要求するなんて常識だぞ
言いなりになってそういうのを受けないと死んじゃうクズ会社なら愚痴ってないでまともに働けよw

480:デフォルトの名無しさん (ブーイモ MMcf-9YMR)
20/04/20 10:51:40 Smt4njnQM.net
>>479
常識が通用しない現場なんていくらでもある
お前の経験値が足りないのはよくわかったから、あと15年ぐらい、もっと修羅場を経験してから出直してこい

481:デフォルトの名無しさん (ドコグロ MMdf-h94e)
20/04/20 12:53:38 zSz1bMm9M.net
>>480
うん、常識の通じないクズ会社があることは知ってるよ
それが当たり前とか思ってるのが痛々しい
って話ねw

482:デフォルトの名無しさん (アウアウエー Sadf-Ho7r)
20/04/20 13:20:10 +VtGXs+Fa.net
>>480
結果的に0から作るのと見積額が変わらなくなることも
0から作った方が見積もりが安いこともよくあるw

483:デフォルトの名無しさん (ブーイモ MMcf-IW4T)
20/04/20 17:29:22 LK5TIQvQM.net
C5とD5の平方根をE5に入力する
これをC列が空白になるで行う

のシンプルなコード教えてくだせぇ

484:デフォルトの名無しさん (ワッチョイ ff8e-eUuY)
20/04/20 17:33:09 ayPjQ7gM0.net
なぜ次から次へと馬鹿が来るのか

485:デフォルトの名無しさん (ワッチョイ ffcc-Ho7r)
20/04/20 17:47:32 gp23hNl10.net
>>483
Columns("C:C").ClearContents

486:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
20/04/20 17:58:37 01IV/2aE0.net
>>483 意味不明
>>485 なるほど、うまいな

487:デフォルトの名無しさん (ワッチョイ b77c-IHcq)
20/04/20 20:13:51 Y6XPlQfH0.net
まともに勉強してないだけだと思う

488:デフォルトの名無しさん (ワッチョイ d7ac-RTks)
20/04/20 20:20:08 xfj95GQN0.net
sqr(sqrt)関数あるんだな

489:デフォルトの名無しさん (ワッチョイ 5709-xa8R)
20/04/20 20:27:38 326Vj6040.net
皆様は、同一のブック内で複数のマクロがあり、それらの実行時に共通の処理を
させたいとき(実行しますか?の確認メッセなど)どういうコードを
書いておりますでしょうか。
私は開発→挿入→ボタン(フォームコントロール)にそれぞれマクロを登録して
実行させており、これらのボタンclick時に共通イベントを設定しようと
考えているのですが。非効率的でしょうか。

490:デフォルトの名無しさん (ワッチョイ 5709-xa8R)
20/04/20 20:30:00 326Vj6040.net
補足です。現在は共通処理sub作って、マクロごとにそれをcallしておりますが、
そのブックで日々マクロが増加してきており、そのcall一行すら面倒になってきました・・・

491:デフォルトの名無しさん (ワッチョイ b77c-IHcq)
20/04/20 20:37:06 Y6XPlQfH0.net
辞書登録でもしておくとか

492:デフォルトの名無しさん (オッペケ Sr8b-uk89)
20/04/20 20:57:06 +CR9zmner.net
>>489
application.callerとselect caseかな

493:デフォルトの名無しさん (ワッチョイ 5709-xa8R)
20/04/20 21:57:48 326Vj6040.net
>>492
おお、vba実行時に処理できるメソッドがあったんですね!
自分の勉強不足でした、大変助かりました。使わせていただきます。

494:デフォルトの名無しさん
20/04/20 23:00:14.60 mqB9NHYzM.net
Sub 関数SQRT練習() 'B2とC2の0に対してのズレ量でD2で位置度を求めこれを16行までやる。
Dim SQRT練習 As String
Dim Gyo As Long
Dim Ans As Double
Sqroot = ("SQRT練習")
Sheets(Sqroot).Select
For Gyo = 2 To 16
Cells(Gyo, 4) = Sqr(Cells(Gyo, 2), Cells(Gyo, 3)) * 2
Next
End Sub
論外ですか?もちろんピコンピコンエラーまくりです。
B1とC1がもしそれぞれ1なら2.828
それぞれ2なら5.657と
なってほしいのですがお手上げです

495:デフォルトの名無しさん (ワッチョイ ff8e-eUuY)
20/04/21 00:41:08 XAeWC18v0.net
なぜ次から次へと馬鹿が湧くのか

496:デフォルトの名無しさん (ワッチョイ b7e6-R0o5)
20/04/21 01:54:12 FdhLTsrP0.net
まさか足し算すら出来ないとは夢にも思わないじゃん

497:デフォルトの名無しさん
20/04/21 04:14:58.32 uRz5dWGWa.net
sqrt(4) って 2だよね

498:デフォルトの名無しさん
20/04/21 04:17:02.05 uRz5dWGWa.net
vbaではsqrか

499:デフォルトの名無しさん
20/04/21 08:23:54.51 1TfDEjo0d.net
>>479
あ~あ。
素人丸わかりw
SEとか、技術者の勉強してるニートかなw
できてるってのは解析する時間もドキュメント残す時間も貰ってるということ。
ということは=それにかかる費用も貰ってるということだよ。
こんなことも理解出来ないのか?
VBAの案件ってのは残念ながら能力の低い奴がやることも多く、常識が通じないことが多い。
なにしろ時給2000円とかでやってる奴も結構いるくらいだ。
俺の場合は時給換算じゃね―けど時給になおしたら最低でも1.5倍は貰わないとやってられねえ。

500:デフォルトの名無しさん
20/04/21 08:50:35.54 sDUb3bhdM.net
>>499
> できてるってのは解析する時間もドキュメント残す時間も貰ってるということ。
> ということは=それにかかる費用も貰ってるということだよ。

> 今、他人のそういうコードで四苦八苦してる。
> こんなことも理解出来ないのか?
で、何を理解しろって?
お前の頓珍漢さか?
あと3,000円/hってドヤるほど高くないぞw

501:デフォルトの名無しさん (ワッチョイ 77da-Ho7r)
20/04/21 10:52:51 mWboXDgG0.net
excelの事務処理で時給3000円は高くね?

502:デフォルトの名無しさん
20/04/21 11:40:05.07 Jp/GQMh30.net
何が分からんのか分からんから、とりあえず値2つの合計の平方根を求めるやつをかいた
シート
URLリンク(imgur.com)
Sub main1()
Dim StartRow As Long, EndRow As Long ' 処理開始行,処理最終行
Dim r As Long ' カウンタ
Dim FirstValue As Long, SecondValue As Long, SumOfValue As Long ' 値1,値2,値の合計
Dim ValueOfSquareRoot As Double ' 値の合計の平方根
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("SQRT練習")
StartRow = 2
EndRow = 6
' 指定行のみ計算。逐一セルに代入する。計算ステップは細かくしている。虚数となる場合は一律-1をセルに代入。
With ws
For r = StartRow To EndRow
FirstValue = .Cells(r, 2).Value
SecondValue = .Cells(r, 3).Value
SumOfValue = FirstValue + SecondValue
If SumOfValue > 0 Then
ValueOfSquareRoot = Sqr(SumOfValue)
Else
ValueOfSquareRoot = -1
End If
.Cells(r, 4).Value = ValueOfSquareRoot
Next
End With
End Sub

503:502
20/04/21 11:42:34.25 Jp/GQMh30.net
ちょっとだけ汎用的にも書いた
こっちはベテランの叩き台にしてほしい
長いしあんまり突っ込まれると恥ずかしいから画像
URLリンク(imgur.com)

504:デフォルトの名無しさん (スップ Sd3f-8lzQ)
20/04/21 12:31:16 1TfDEjo0d.net
>>500
日本語がまともに出来ないアホには理解出来ないからお前には無理w
何を理解しろって、別にお前に対して理解しろなんて言ってないぞ。
理解出来ないアホさ加減を嗤ってるだけだw

アホだから3,000円/hに突っ込むと思ったwww
最低でもと書いてるんだが。
そもそも、そこに突っ込むんじゃ無くて2000円/hに突っ込め。
そういう所はドキュメント無しで終わってもしようが無い。

505:デフォルトの名無しさん (スップ Sd3f-8lzQ)
20/04/21 12:40:09 1TfDEjo0d.net
>>501
派遣の場合は高い部類に入るだろうね。
力量があって派遣じゃなければVBAでも余裕で超える。
ExcelVBAでのセルとかシート操作の話では無くなるけど。

506:デフォルトの名無しさん
20/04/21 12:52:51.59 ADUc7MNZM.net
>>504
> 日本語がまともに出来ないアホには理解出来ないからお前には無理w
結局説明できなくなって理解力ガーとか低能が逃げる時によくやる手で笑うわ
まあどう言い逃れしようとしても
> 今、他人のそういうコードで四苦八苦してる。
って書いたのに突っ込まれたら何か知らんけどできてると言っちゃったアホがいた事実は消せないよw

507:デフォルトの名無しさん (ドコグロ MM5b-Wm+M)
20/04/21 12:57:31 zuguU9RsM.net
>>501, >>505
派遣で事務処理なら高いほうだと思うぞ
まあ大前春子みたいな奴は知らんけどw
ただ、>>499
> 俺の場合は時給換算じゃね―けど
とか言ってるから正社員なんだろ
ならわざわざドヤる程の額じゃねーよ
ってこと

508:デフォルトの名無しさん
20/04/21 14:56:45.54 PwHPaaVD0.net
>>494
「ズレ量」「位置度」の意味がわからん
図を書いて、「ここがズレ量」とか専門用語を使わずに説明してくれ

509:デフォルトの名無しさん (ワッチョイ ffcc-Ho7r)
20/04/21 15:08:54 VOMv0cPL0.net
>>494
たぶん
× Cells(Gyo, 4) = Sqr(Cells(Gyo, 2), Cells(Gyo, 3)) * 2
○ Cells(Gyo, 4) = Sqr(Cells(Gyo, 2)^2 + Cells(Gyo, 3)^2) * 2

510:デフォルトの名無しさん
20/04/21 20:34:28.31 1TfDEjo0d.net
>>506
日本語、本当に分からないの?
四苦八苦してたのはその通りだが。
お前は、時間とお金を貰えば穴掘って埋めるだけの仕事でも喜んでやりそうだな。

511:デフォルトの名無しさん
20/04/21 20:37:32.58 1TfDEjo0d.net
>>507
正社員www
あの書き方で正社員だと思うかね。
>>505と併せて考えれば普通にフリーと分かりそうなもんだが。

512:デフォルトの名無しさん (ドコグロ MMeb-Wm+M)
20/04/21 20:56:47 PQUXM5VQM.net
>>510
で、何ができたんだ?
説明できないから穴掘りとかではぐらかそうとしてるのバレバレだよw

>>511
えっ、フリーだと激安だろw
なんでそんなの書いたんだ?

513:デフォルトの名無しさん
20/04/21 22:37:42.12 9g8Dif430.net
ブックをコピーするボタンを設置したくて
単純に
ActiveSheet.copy
msgbox "コピー完了"
にしてあるのですが
シートが6つある中で特定の2つのシートでそのボタンを選択すると
このシートはコピー不可 みたいなダイアログだしてコピーをしない
その他の4つのシートでは選択すると今まで通りにコピー
みたいな設定って可能でしょうか
すみません。

514:デフォルトの名無しさん (スップ Sd3f-D5eO)
20/04/21 22:59:56 bkj7Ha2sd.net
よろしくお願いします

AというブックのA1セルの値を
BというブックのリストというシートのA1からA500までで検索をし、
一致した値がある場合は同列のC~F行の値を取得し
元のAブックのC1~F1に貼り付けるVBAを
ご教授ください

515:デフォルトの名無しさん (ワッチョイ bf02-rm8A)
20/04/21 23:03:12 HzeK5leR0.net
今どこまで出来てるのかソース貼って
それと1個見つかったら2個以上あっても処理終了?

516:デフォルトの名無しさん (オッペケ Sr8b-uk89)
20/04/21 23:26:39 RBZ7Rq7nr.net
>>513
activesheet.nameでシート名取得し条件分岐
またはボタンを消す

517:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
20/04/21 23:30:41 PwHPaaVD0.net
>>513
s = ActiveSheet.Name
Select Case s
  Case "Sheet3", "Sheet6" ' コピーできないシート名を並べる
    MsgBox "コピー不可"
  Case Else
    ActiveSheet.Copy
    MsgBox "コピー完了"
End Select

518:デフォルトの名無しさん
20/04/22 00:16:20.28 G7FFveIV0.net
>>513
そのシートのボタン消せばいいんじゃないのか

519:デフォルトの名無しさん (ワッチョイ 7ab5-l81y)
20/04/22 01:31:05 6f1TA8hd0.net
>>517
出来ました。本当にありがとうございます。

520:デフォルトの名無しさん
20/04/22 01:41:45.18 tj5eX5rX0.net
いえいえ

521:デフォルトの名無しさん (ワッチョイ 0791-N0F4)
20/04/22 11:01:53 TBrfp0e60.net
>>512
本当に分かってないとはw

調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。
お前はバカだから金と時間そ貰えればただ穴を掘って、その場でその穴を埋めるだけの仕事やらされても喜ぶかもしれんが、金や時間貰っても糞コ一ド読まされるのは普通の奴にゃ苦痛なんだよ。

522:デフォルトの名無しさん (ワッチョイ 0791-N0F4)
20/04/22 11:03:37 TBrfp0e60.net
>>512
フリーだと激安だってwww
本当に何も分かって無いんだな。
VBAの場合は月70万も行けば良い方だ。

523:デフォルトの名無しさん (ドコグロ MMa8-f1XF)
20/04/22 11:40:39 yd/WL25UM.net
>>521
> 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。
ゴメンな、糞会社はそうなんだろうなw

>> まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す

まあ、そもそもまともな会社は
>>522
>> 日本語の理解力がないのかな?
>> 自慢にもならないことをいちいち書くとかバカじゃね?

まさかと思うけど3,000円/h相当の俺スゲーとか思ってる?w

524:デフォルトの名無しさん (ドコグロ MM85-f1XF)
20/04/22 11:48:33 JonPflQBM.net
すまん途中で送信しちまった

>>521
> 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。
ゴメンな、糞会社はそうなんだろね
お疲れ様

>> まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す

まあ、そもそもまともな会社は他社の糞コードの保守なんて滅多に受けないし

で、何ができたんだ?
>>510では過去形だけど>>325では今まさにやってることになってるけど、偶然この一週間で終わったのかな?
ますます辻褄合わせが大変になってるぞw

>>522
>> 日本語の理解力がないのかな?
>> 自慢にもならないことをいちいち書くとかバカじゃね?

まさかと思うけど3,000円/h相当の俺スゲーとか思ってる?

525:デフォルトの名無しさん (ワッチョイ 6cac-xf6K)
20/04/22 12:11:09 tj5eX5rX0.net
こういうのってこうやって段々長文になっていくよなw

526:デフォルトの名無しさん (ブーイモ MMfd-1Gce)
20/04/22 12:39:44 rSQQIqcfM.net
客は選べない
クソな仕事でも黙々とこなすやつが結局は上に上がってく
文句ばっかり言うやつはそこまでの人間

527:デフォルトの名無しさん (ワッチョイ 0791-N0F4)
20/04/22 12:42:08 TBrfp0e60.net
>>523
プw
他人の書いたプログラム見たことすら無いとはw

まともに開発に絡んだことがあれば100人が100人他人のコードなんて読みたく無いんだよ。

引き継ぎという言葉も知らない、ググることも出来ない、保守という仕事が何をやるかも分からない。
二―トが背伸びは恥の元だぞ。

528:デフォルトの名無しさん (ワッチョイ 0791-N0F4)
20/04/22 12:44:28 TBrfp0e60.net
3000円/hが自慢?
何を言ってるんだ?
3000円/hは最低限の話だが。

アホだからそこに反応する。
2000円/hが主題だと言ってるだろうに。

529:デフォルトの名無しさん
20/04/22 12:47:10.01 TBrfp0e60.net
>>526
客は選べない。
クソな仕事でも黙々とこなすやつが結局は上に上がってく
文句は客のいない所で発散する。
当然だがね。

530:デフォルトの名無しさん
20/04/22 12:51:44.35 M+DGBLrr0.net
暇なのはわかるけど
何日ひっぱるつもりなん

531:デフォルトの名無しさん
20/04/22 12:58:15.17 4ePZRvo/M.net
たびたび済みません
元のVBAのフォーマットから
新しいブックをコピーを教えて頂いたのですが
コピーする度に1回目にコピーしたブック内のシートの右に足されていく みたいな設定は可能ですか?

具体的に言うと4月分をコピー
その次に5月分、6月分とコピーすると
初回(4月分)にコピーしたブックのシート右に足されていく
さらに欲張ると元のフォーマットで4月とか5月とか特定のセルに入力した文字がそのままシート名になってくれる
すみませんがやり方ありましたら御教授を宜しくお願いします。

532:デフォルトの名無しさん (ドコグロ MMa8-f1XF)
20/04/22 13:20:05 RF8jAbo1M.net
>>527-529
指摘されて顔真っ赤になって3連投とかw

> 3000円/hは最低限の話だが。
自ら最低限を認めるとか偉いやん
で、なんでそんな恥ずかしい金額をいきなり出してきたんだ?w

533:デフォルトの名無しさん
20/04/22 14:11:10.05 PH7WDass0.net
>>514
例えばA!A1にリンゴっていれると単価だか購入数だかをB!から拾ってきてA!C1~F1に入れる感じの物?
多分VBAというよりエクセル関数VLOOKUPで済む話かと
VLOOKUP(A!A1, B!A:F, 3)

534:デフォルトの名無しさん (ワッチョイ 0101-g4zf)
20/04/22 14:31:43 YnJWUcMz0.net
社内システムで書類となったものの特定の場所の値とエクセルの上の特定の場所の値が合っているか照合したいです。

そういったマクロ組む場合
1. 書類をスキャナーでpdfにする。
2. pdfをocr機能使って照合に使うシートとは違うシートにデータ転記。
3. 2.でデータ転記したシートの値と確認元のシートの値を照合する。

というのがぼんやり浮かんでるんですが、1-3までの流れでよりスマートな方法があるなら上の流れをどう変えたらいいか教えていただけませんか?
よろしくお願いいたします。

535:デフォルトの名無しさん (ラクッペペ MM34-eHaU)
20/04/22 14:47:15 lF2YSEgcM.net
マクロで何とかなるスキャナーやOCRならいいんじゃないの?

536:デフォルトの名無しさん (ワッチョイ 0791-N0F4)
20/04/22 15:04:32 TBrfp0e60.net
>>532
日本語、ダメ過ぎwww
ここまで壊滅的に日本語出来ない奴は仕事も出来ないからニートになるw

"引き継ぎ"で恥かいたからってむきになるなよw

537:デフォルトの名無しさん
20/04/22 15:26:26.42 7QCXjzFAM.net
今度はニートとか言い出したぞw
恥ずかしい奴
>> 結局説明できなくなって理解力ガーとか低能が逃げる時によくやる手で笑うわ

538:デフォルトの名無しさん
20/04/22 17:33:29.11 jDnlGnaS0.net
>>534
OCR読み取りまでできるなら転記とかいらんけど
社内システムに、その数字をシステム的に参照できるAPIを準備してもらえよ

539:デフォルトの名無しさん
20/04/22 17:47:01.75 YnJWUcMz0.net
>>535-538
csvファイル関連のapiもかなり時間かかったので開発をつついてみます。
ocr使ってデータ転記しないと私の能力と使えるソフトやapiでは座標指定ができないから回りくどいやり方するつもりです。
今のところGoogleクラウドのocrがapi公開してるからそれにしようかなとぼんやり思ってるとこです。
アドバイスありがとうございました。

540:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/22 18:42:39 TBrfp0e60.net
>>537
最低限ってのは俺が受けるとしたら最低限3000円/hは貰わないと受けないという話。

こんなの分からないのお前以外いない。
これまでのやり取りも酷いし、"引き継ぎ"についても分からない。
致命的だよ。

541:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/22 18:50:25 TBrfp0e60.net
>>537
あと、その変な引用とアンカ―どうにかならんのか?

542:デフォルトの名無しさん
20/04/22 19:58:37.32 UdDG4RF8M.net
>>540
> 最低限ってのは俺が受けるとしたら最低限3000円/hは貰わないと受けないという話。
まじで言ってるのか?
勤め人ならそれでいいけどフリーだと税金や年金とかも自己負担だからやり始めた時ならともかく普通は5,000円/hでも不安だよ
> これまでのやり取りも酷いし、"引き継ぎ"についても分からない。
そういう御託は…
で、何ができたんだ?
>>510では過去形だけど>>325では今まさにやってることになってるけど、偶然この一週間で終わったのかな?
にまともなレスできるようになってからほざけよw
>>541
どこにアンカーがあるんだよw
あと>>の意味もわからんとか馬鹿すぎる

543:デフォルトの名無しさん (ワッチョイ d4da-1Gce)
20/04/22 20:13:28 bDGlwx+F0.net
おまえら能ある鷹は爪を隠すってことわざ知っているか?

544:デフォルトの名無しさん (ワッチョイ acce-1Gce)
20/04/22 20:18:29 Al75grru0.net
ここは質問スレ
ルールを守らないやつには誰も仕事なんか頼まない

545:デフォルトの名無しさん
20/04/22 22:05:00.09 M+DGBLrr0.net
爪出してないしとか言いそう

546:デフォルトの名無しさん
20/04/22 22:35:47.35 86ULQnrYa.net
そもそも爪がない

547:デフォルトの名無しさん
20/04/22 23:56:54.01 ioC/S0KO0.net
CSVはComma Separated Valueの略ですが、
Commaはわざわざ略さなくても、既に,があるんだから、そのまま,SVでいいと思うんですよ。

548:デフォルトの名無しさん (ワッチョイ 7cda-1Gce)
20/04/23 00:04:13 WrYMug8t0.net
で、VBAの質問なんですが、何にもないプロシージャって、何か使い道はありますか?
普通は全然意味ないと思うんですが、なんていうか0番スプライト的な感じで。

Sub Test()
End Sub

549:デフォルトの名無しさん (ワッチョイ 91ad-R0M4)
20/04/23 00:22:20 IA7mxVD60.net
>>547
TXT,,SVより
TXT,CSVの方が誤読しにくい

550:デフォルトの名無しさん (ワッチョイ 7c7c-sVZV)
20/04/23 00:30:31 /DzsyJb70.net
誤読とか以前にわかりにくすぎるわ
一体何がいいのか

551:デフォルトの名無しさん
20/04/23 01:00:46.60 tvgCM2UH0.net
今さらcsvの命名にケチつけるなんて、極論が好きな反抗期なんだろ
中身のないプロシージャの意味とか、それ質問する理由も書かないしな

552:デフォルトの名無しさん (アウアウウー Saab-AGUX)
20/04/23 02:10:50 q29uZhI+a.net
>>548
あるかないかならある

553:デフォルトの名無しさん
20/04/23 02:29:45.14 4BIs3zJP0.net
>>542
バーカw
VBAで5000/hの仕事なんてあるわけ無いだろw
ニートはこれだからw
御託?
お前が"引き継ぎ"という言葉の使い方について反論出来なくなっているわけだがw
反論あるならどうぞw
>>510での過去形について、分からんのか?
レスもまともに読めないのか。
>>477を読めw
引用に>>使うアホはいない。

554:デフォルトの名無しさん (スップ Sd9e-Op/G)
20/04/23 03:04:53 Yau2aIj5d.net
木曜日にワッチョイが切り替わるんだよなあ
めんどくせえ

555:デフォルトの名無しさん (ドコグロ MM46-f1XF)
20/04/23 05:14:45 Bp33q84zM.net
> 今、他人のそういうコードで四苦八苦してる。

> ついでに言っとくと、正直に言えばたった今じゃねえ。
> 2週間程度前の話だ。

なんだそのバレバレな言い訳はw
流石に恥ずかしくないのか?

そもそもそれが本当だったとしても>>476
> 出来てるから今、四苦八苦してるんだが。
が意味不明なのは変わらんし
何ができて、何に四苦八苦してるのか書いてみ

> 引用に>>使うアホはいない。
まじでわかってないのかよ…
自分自身への引用を明示してるだけだぞ
馬鹿すぎるわ

556:デフォルトの名無しさん (オッペケ Sr39-xf6K)
20/04/23 08:02:32 WPkfNDtBr.net
VBA質問スレで必死になるのはちょっと恥ずかしいよなあw

557:デフォルトの名無しさん
20/04/23 09:42:16.36 4BIs3zJP0.net
>>555
日本語勉強しろw
言い訳?
何を言ってる?
何の言い訳だよw
四苦八苦してる(た)ことに何も変わりはないぞ。
これのどこが言い訳になるんだ?
2週間前に四苦八苦してたとしても、こういう掲示板で発言する時は今四苦八苦してると発言することは十分あり得ると>>477で言ってる。
発言の主旨が変わらないからな。
そして、それがお前に何か指摘されたとか、自己弁護の為に言っているわけじゃないことは時系列から明白。
言い訳?

558:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 09:51:26 4BIs3zJP0.net
>>555
解析する時間もドキュメント作成する時間も費用も貰っているが他人のコード解析するのに四苦八苦してるんだがね。
これのどこが変なのかさっぱり分からん。

何ができて何に四苦八苦してるかの前に、お前は俺が何が出来てないと思ってるのか言えよ。

今までの話じゃ、お前の主張は解析する時間、ドキュメント作成する時間や費用を貰うと四苦八苦することが無くなるということのようだが、そんなこたあねえぞ。

559:デフォルトの名無しさん (ドコグロ MMa8-f1XF)
20/04/23 09:51:33 dNGhRpxuM.net
>>557
「何ができて」の説明が一切なくて失笑

560:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 09:52:35 4BIs3zJP0.net
自分自身への引用でも>>なんて使わん。
>で十分だし、普通。

561:デフォルトの名無しさん (ドコグロ MM46-f1XF)
20/04/23 09:55:24 TqAmz8xEM.net
>>558
ドキュメント作成してるのに四苦八苦してるなら役に立たないドキュメントを作ったお前がアホなだけだけど?

あと、せめてレスを1つにまとめろよ
なぜかバカは同じ内容に複数レスで返すんだよな
まあ低能にまとめる能力を期待しても無駄かなw

562:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 09:55:54 4BIs3zJP0.net
>>559
バーカw
先にお前が、俺の何が出来ていないと思ってるのか説明しろ。
お前が俺の話のどこが理解出来て無いのかはこっちにゃ分からんのだよ。

563:デフォルトの名無しさん (ドコグロ MM36-f1XF)
20/04/23 09:56:33 6OPJP51MM.net
>>560
自身のレスとお前のアホレスを混同されたくないだけw

564:デフォルトの名無しさん (ワッチョイ 4642-PxOI)
20/04/23 09:57:01 BmbwEUgo0.net
いつまで続くんだコレ

565:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 09:57:12 4BIs3zJP0.net
>>561
バカ?
本当にバカ?

解析してドキュメント作るんだよ。
解析に四苦八苦してるんだぞ。

嗤えるわw

566:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 09:58:37 4BIs3zJP0.net
>>563
そんなもんは内容でわかる。
というか、むしろ邪魔で分かりにくいから>>541で指摘してるんだが。

567:デフォルトの名無しさん (ドコグロ MM40-f1XF)
20/04/23 10:00:29 80sunLmwM.net
>>562
アホなの?
>>476の「できてるから」の説明しろって話
自分で書いたことも理解してないのかよw

568:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 10:03:00 4BIs3zJP0.net
>>567
だから、金と時間を貰ってるというのが出来てると言ってる。

やり取り理解出来てる?
お前の指摘はまともな会社なら金と時間を貰ってるというものだった筈だが。

569:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 10:09:52 4BIs3zJP0.net
最低限、やり取りから解析に四苦八苦してるというのはまともな奴なら分かる筈なんだが。
とすれば、お前の言う金と時間を貰って、今まさにドキュメント起こす為の解析中(だった)なのが分かる筈。

これが前提なんだからドキュメントが既に出来上がってるなんてアホな誤解してたことは無いと信じたい。

570:デフォルトの名無しさん (オッペケ Srea-xf6K)
20/04/23 10:18:34 pyQ+IxFJr.net
関係ない人はこいつらをNGにすればいいで

571:デフォルトの名無しさん (アウアウエー Sa6a-BE4G)
20/04/23 10:24:08 EgVweMy+a.net
まだやってるのか
完全に自粛ストレスだろうな

572:デフォルトの名無しさん (ドコグロ MM46-f1XF)
20/04/23 10:29:06 TPtGWxWfM.net
>>566
専ブラで引用の引用したことないのか?
まあその手の文句は専ブラの作者に言ってくれ

>>568-569
> だから、金と時間を貰ってるというのが出来てると言ってる。
あれ?
> 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。
って糞ドキュメントしか作成できないアホって自白してますけど?
発注した客可哀想
まあ脳内だろうから問題ないか…

> やり取り理解出来てる?
うん、どんどんボロが出てるねw

573:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 11:08:06 4BIs3zJP0.net
>>572
???
ドキュメント作るための解析に四苦八苦してるのと、出来たドキュメントの出来に何の関係が?

お前がドキュメント作ったこと無いのがこれでバレたw

574:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 11:11:09 4BIs3zJP0.net
何か、お金と時間貰うとロボットが勝手に解析してドキュメント作ってくれると思ってるアホがいるようだ。

575:デフォルトの名無しさん
20/04/23 11:14:19.21 4BIs3zJP0.net
というか、解析に苦労しないんだったら、糞コードなんて言葉は無い筈なんだ。
どんなコードでも誰にでも理解出来て楽に読めるんだったら、綺麗なコードを心がけるというモチベーションすら起こらない。

576:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 11:21:51 4BIs3zJP0.net
>>572
あと自白っていうのがこれまたおかしい。
最初の主張通り、何ら矛盾が無いんだから自白じゃ無いだろ。
それとも、まだ理解出来て無い?

577:デフォルトの名無しさん (ドコグロ MM40-f1XF)
20/04/23 11:24:06 5d1aUYQtM.net
>>573-574
え゛っ、まじでドキュメント作成で四苦八苦してるって事で誤魔化せるとか思ってるの?

> 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。
そうすると何が何と変わらんのか説明できないだろw

578:デフォルトの名無しさん (ドコグロ MM02-f1XF)
20/04/23 11:25:47 RuZIZsvvM.net
>>575-576
レスをまとめることもできない無能
しかも内容スカスカw

579:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 11:32:54 4BIs3zJP0.net
>>577
えっ?
何度も言ってるのにまだ分からない?

「解析に四苦八苦するのは、時間とお金を貰っても変わらない」という日本語が分からない?

時間と金を貰って無くても、貰ってても、どっちでも四苦八苦はするという意味が理解出来て無かった?

日本人ですか?

580:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/23 11:35:35 4BIs3zJP0.net
日本語が通用しない程だから始末に負えない。
"引き継ぎ"も碌に理解してないぐらいだからな。

581:デフォルトの名無しさん
20/04/23 12:11:20.51 NJImmJ6MM.net
>>564
これから2週間が山場

582:デフォルトの名無しさん (ワッチョイ 7349-xf6K)
20/04/23 13:25:04 UY53iXGX0.net
うまい

583:デフォルトの名無しさん (ブーイモ MM5e-l81y)
20/04/23 18:35:48 9EduGPIyM.net
レベルの高すぎる人同士での口論はとてももったいない
俺はIf Then ElseとFor nextは辛うじて理解できそうなレベル

Do untillとかNextとかloopとか使いこなしたい条件が山ほどあって泣きそうだけど
ここの上級者たちは独学で覚えた?
同じ事やろうと調べでもどのサイトもいろんなやり方でどれが良いかも分からない

ここで聞くとさらりと答えだしてくれる人ってどういう頭の良さしてんだろ

584:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
20/04/23 18:56:32 9prkr8SY0.net
基本的には場数
よい文章を書くには良い文章をたくさん読め
良いプログラムを書くためには良いプログラムをたくさん読めば良いんだが
まあ、よいプログラムをたくさん提供してくれる場がなぁ

585:デフォルトの名無しさん (ブーイモ MMed-l81y)
20/04/23 19:20:59 R7RBEdEaM.net
>>584
ここ見てけばまぁ覚えやすいとか無難で間違いないとかそういったサイトありますか?
広告たくさんのサイトだろうが藁にもすがりたいほど身につけたくて…ノイローゼ気味

俺の業務に絞った時にVBAで何でもやらせようと無理せずに関数はエクセルである程度制御した方が後々メンテが楽なのがわかったので

恐らくloopの使い方を理解しないと絶対に乗り越えられない大きな壁が。。
それを作れたら後は数値の変更や応用でいけそうだけど脳が焼き付いてる

586:デフォルトの名無しさん (スップ Sd9e-Op/G)
20/04/23 20:03:22 6e93QXlJd.net
>>583
本当にレベルが高い人は口論なんかしないんだよ
スレを荒らすのはだいたい無職

587:デフォルトの名無しさん (ワッチョイ acce-1Gce)
20/04/23 20:05:39 weP1rIDx0.net
>>585
まずはここにあるサンプルを、コピペせずに自分でキーボードから入力してみ
URLリンク(excelvba.pc-users.net)

588:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
20/04/23 20:07:24 9prkr8SY0.net
>>585
本買え
初心者むけのをまず数冊

昔はプログラム系の雑誌結構あったんだがなぁ

589:デフォルトの名無しさん (ワッチョイ 91ad-R0M4)
20/04/23 20:16:07 IA7mxVD60.net
>>583
VBAの本って多いから学習しやすいはず

プログラマなら他言語の経験から
基本的な制御構文くらいは自然と分かる
VBAはプログラム言語としてはやさしい方

590:デフォルトの名無しさん (アウアウエー Sa6a-e618)
20/04/23 21:01:06 72/Ynz/da.net
まずは何をしたいか、エクセルでこんな便利なのを作りたいとか、ヴィジョンをもてれば上達は早いと思う

591:デフォルトの名無しさん
20/04/23 21:28:22.57 IA7mxVD60.net
そうだね
エクセルは小物ツール作りやすいから
実益を兼ねた練習を積めば上達するな

592:デフォルトの名無しさん
20/04/23 22:53:32.79 nGyVitY00.net
VBAなんて本腰入れてテキストで勉強するにはコスパ悪すぎる言語だと思うが・・・
「VBA」にやりたいことを付けてググったソースをコピペした方が早くないか?

593:デフォルトの名無しさん (スプッッ Sd7e-1Gce)
20/04/23 23:13:30 /AKn5LJ4d.net
本を見てプログラミングを勉強する時代は終わりだと思ってる
紙の方が読みやすいと思う人が多いだろうけど、本格的にやろうとしたらオンラインのドキュメントは必須だし、
画面上で文字を読む訓練をして慣れていかないと、いつまでも能率が上がらない

594:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
20/04/24 00:05:26 4FfGWszI0.net
>>592
とりあえず動くものが作れればいいというなら、まあそうだな

>>593
学習リソースとしては、本かWEBかに本質的な差はないと思うが
中身の問題で、WEBは本ほど系統立てて編集されていないところが多いと思う

辞書だけで外国語マスターできるような人ならWEBだけでもいいけどな

595:デフォルトの名無しさん (ワッチョイ 91ad-R0M4)
20/04/24 00:19:26 aTlSrVmc0.net
>>592
>>593
書籍の学習は今でも必要だと
思うしさらにVBAだけでなく
他言語の経験があるといいな

VBAのスレで言うのも何だが
VBAプロパーのプログラムは
垢抜けない泥臭いのが多くて
その辺PHPと同じ感触がする

596:デフォルトの名無しさん (ワッチョイ 7ab5-l81y)
20/04/24 02:40:01 vJ3u9sjq0.net
>>531
どなたか…四苦八苦して終わりません、、
お時間ある方がいましたらお助けを

597:デフォルトの名無しさん
20/04/24 03:41:33.98 zeBff4Qi0.net
>>596
そうだな、取りあえず質問する時に相手に伝わるか考えながら質問した方が良いかな。
>元のVBAのフォーマット
???
これは何のこと?
何を言ってるの?
シートのコピーで書式だけコピーしたいということ?
だったらそんな機能は無いと思うから、あとは工夫でどうにかする。
Rangeの書式だけコピーはあるから、シートの追加と書式だけコピーの複合にするか、俺ならそもそもコピー元の書式を全部コードで実現してシ一トの追加とその書式を実現するコ一ドでやる。
右に追加というのが特定のシート(4月)の右というならコピーだろうがシートの追加だろうがそのものずばりの引数がある。
WorkSheets.Copy、WorkSheets.AddでクグるとMSのぺージが見つかるから、そこにサンプルもある。
一番右に追加していくというなら、上の特定のシートの部分に最後のシートを指定すれば良い。
最後のシートってのはシートの指定方法は名前と番号の2通り有るので、今回は番号で最後を表現する。
最後ってのはシート数が7個あれば7番目になる。
この場合の7個ってのはシートの個数。
シートの個数はこれまたそのものずばりのプロパティがある。
(これも上のページのサンプルそのもの。)

598:デフォルトの名無しさん
20/04/24 04:14:59.23 zODr3mBK0.net
>>531
5回読んだけど理解不能
画像や絵使って説明してほしいわ

599:デフォルトの名無しさん (ワッチョイ 2e9a-2b7E)
20/04/24 09:43:49 5xvA7bcI0.net
>>583
いつも同じこと感じています

600:デフォルトの名無しさん
20/04/24 12:06:13.25 EzpkTm1A0.net
他の人は知らんが俺は独学でコマンドマニュアル見たり参考書買ったりしてた
例えば数値でも加算を繰り返してどこでエラーがでるかとかを
実際にサンプル作って実行することをひたすら満足いくまで繰り返したりしたな
学校の勉強と並行してやってたからいつも寝不足だったし

601:デフォルトの名無しさん (ワッチョイ b701-Bsub)
20/04/24 16:20:00 Enw/zcBV0.net
>>594
学習するのに何が効率いいかっていうよりも、
VBAを学習すること自体に対するリターンって意味でコスパが悪いと言いたかった

特にオフィス製品上でしか実行できない、やりたいことは単純な事が多いっていう特性上、
学習することでググったソースのコピペ以上に得られる物はあるのか?と。

内容を理解することでちゃんとしたコードが書けるってメリットはあるかもしれないが、
VBAで綺麗なコードを書けてもねぇ・・・
VBAのコードを拘るリソースは他に回すべきだ

602:デフォルトの名無しさん
20/04/24 17:35:34.28 vJ3u9sjq0.net
Sub Macro1()
  ChDir "c:\tmp"
  f = Dir("*.txt")
  c = 1
  Do While f <> ""
    Open f For Input As #1
    For r = 1 To 6
      Line Input #1, s
      Cells(r, c) = Split(s, vbTab)(2)
    Next
    Close #1
    f = Dir
    c = c + 1
  Loop
End Sub
ここで↑の
「指定した場所に入ってる全てのテキストのエクセル化した時の特定の列と行をエクセルシートに一気に読み込む」
という神の様なコードを教わったものです。
列と行の開始はこのままでいいのですが、テキストの行が空白になるまでエクセルに読み込む
というやり方に変える事は可能でしょうか。
これが職場の環境を大きく変えすぎて2人、本当に課からいなくなって現場に飛びました。
効率化しすぎて他でも応用できるようにしろと皆の前で大声で怒鳴られ泣けても知恵が出てこない
ゆっくり本読んで覚えていきたいにもまず最優先で作れと室内であんなに大声で怒られて
ネットで調べても調べ方すらわかっていなく
異動したい、何卒すみません

603:デフォルトの名無しさん (ラクッペペ MM34-eHaU)
20/04/24 18:38:54 GFko4FvkM.net
>>601
普段の仕事がExcelならコスパいいだろ

604:デフォルトの名無しさん (ワッチョイ ae01-NnsP)
20/04/24 18:40:11 zODr3mBK0.net
一から十まですべて教わらないとできないような人はやめたほうがいいわ
実力以上のコードを教わったところで何も応用できず周囲の期待には応えられない
5chで教えてもらって作りました
これ以上は分かりませんって正直に言えばいい

605:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
20/04/24 18:49:29 4FfGWszI0.net
ForをDoにして、NextをLoop Until S=""かな
つか、二人分の人件費が浮くような作業なら、ちゃんとした会社にシステム化たのめよ

606:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
20/04/24 18:51:14 4FfGWszI0.net
まあこれで動いたら>>602がさらなるドツボにはまるのをニヤニヤしようぜ

607:デフォルトの名無しさん (オッペケ Sr5f-iTDC)
20/04/24 18:53:25 K658YEair.net
効率化して上司から怒鳴られるってどんな職場だ
上司がクソすぎ

608:デフォルトの名無しさん (ワッチョイ 91ad-R0M4)
20/04/24 19:12:23 aTlSrVmc0.net
背伸びしても上手くいかないもんだね?

609:デフォルトの名無しさん (ワッチョイ acce-1Gce)
20/04/24 19:16:29 sF/e/OCE0.net
>>602
ここに解決方法が書いてある
URLリンク(www.manpowergroup.jp)

610:デフォルトの名無しさん
20/04/25 00:00:18.00 /63/MmUO0.net
コードくれくれ君

611:デフォルトの名無しさん
20/04/25 00:25:36.55 gc0CgTOT0.net
画像上部の21~20日間隔の日付のセルの塗り潰しを下の1~30日間隔の日付に塗り潰し変えたいんですがどうしたらいいですか?
・上部をforで2行目の最終列までループ
・ifで塗り潰し判定がTrue
・???
・???
・下部をforで2行目の最終列までループ
・ifで対象年月日間隔だったら塗り潰す
と、こんなイメージなのかなと思ってはいるんですが、??らへんの処理がわかりません。
URLリンク(i.imgur.com)

612:デフォルトの名無しさん
20/04/25 00:30:28.43 XJisoOEM0.net
次から次へと馬鹿が出てくるのはなぜ?

613:デフォルトの名無しさん
20/04/25 00:36:47.04 8o24J96M0.net
Functionの任意引数(Optional)なのですが、初期値はstringかlong型のみだけしかダメなのでしょうか?
シート名objectの引数で、省略したときにActivesheetを返したいのですが、「定数式が~」のエラーが出てしまいます。
やはり、IFとIsMissingを使うしかないでしょうか。
Function test(Optional objシート名 As Worksheet = ActiveSheet)
End Function

614:デフォルトの名無しさん
20/04/25 00:42:53.79 l10aoXHL0.net
そもそも引数とか型の意味理解してる?

615:デフォルトの名無しさん
20/04/25 00:44:19.85 7EOq2zNJ0.net
>>613
規定値に使えるのは定数値だけ
変数、プロパティ、関数などは使えない
だからActiveSheetも対象外

616:デフォルトの名無しさん
20/04/25 00:50:04.58 7EOq2zNJ0.net
>>611
その画像で説明すると、D3:K3をコピーしてC10:J10に書式貼り付けするだけでは

617:デフォルトの名無しさん
20/04/25 00:52:04.34 lAut8yEK0.net
>>611
D2からK3をコピーしてC9に貼り付けて C2をK9に貼り付けるだけじゃないの?
VBA使わない方が早そうなんだけど

618:デフォルトの名無しさん
20/04/25 00:53:34.41 bDeh6DKGd.net
>>611
塗りつぶす条件がわからなければわからない

619:デフォルトの名無しさん (ワッチョイ 4c2c-Hty+)
20/04/25 00:58:07 a/EKdpBi0.net
>>602
Ruby なら、row.empty? で空行かどうか、判別できるけど

require 'csv'

CSV.foreach( "input.csv" ) do | row | # 1行ずつ処理
break if row.empty? # 空行なら、終了

puts "#{ row[ 0 ] } : #{ row[ 1 ] }"
end

入力ファイル・input.csv
あ,いう
a,bc

1,23

出力
あ : いう
a : bc

620:デフォルトの名無しさん
20/04/25 01:41:16.85 7EOq2zNJ0.net
>>602
読み込みを止める条件が空行とEOFの2つになると、とたんに処理が面倒になるんだよな
こういう時はLine Inputを別Functionに飛ばすとすっきりするんだけど、とりあえず汚い方法で書いてみた
Sub Macro1()
  ChDir "c:\tmp"
  f = Dir("*.txt")
  c = 1
  Do While f <> ""
    Open f For Input As #1
    s = "s"
    r = 1
    Do While Not EOF(1) And s <> ""
      Line Input #1, s
      If s <> "" Then Cells(r, c) = Split(s, vbTab)(2)
      r = r + 1
    Loop
    Close #1
    f = Dir
    c = c + 1
  Loop
End Sub

621:デフォルトの名無しさん (ワッチョイ 1e09-w2of)
20/04/25 02:03:19 8o24J96M0.net
>>615
そうなのですね、ありがとうございました。

622:デフォルトの名無しさん (ドコグロ MM46-f1XF)
20/04/25 05:53:44 SWq+pauNM.net
>>613
If 文使うしかないのはその通りだけど IsMissing() は引数の型を Variant にする必要があるのであまり良くない

Function test(Optional objシート名 As Worksheet = Nothing) ' Nothing は既定値なので指定しなくてもいい
If objシート名 Is Nothing Then Set objシート名 = ActiveSheet
End Function

ってやるのが定番
ググると同じことをやってる人がいる
URLリンク(akashi-keirin.hatenablog.com)

623:デフォルトの名無しさん (ワッチョイ 211f-unif)
20/04/25 13:56:29 gc0CgTOT0.net
>>616
>>617
名前は下にたくさん羅列してるし、日付も右にもっとずっとあるからVBでやりたい。
日付間隔が上下で違うからどうやったらいいかと思って。

for 上部名前シートループ
 for 下部名前シートループ
  if 名前同一
   for 上部名前年月日列ループ
    if 塗り潰し
     ※下部シート塗り潰し
    end if
next
end if
next
next

※の部分がどう書くのかがわかりません。

>>618
塗り潰す条件は同じ名前の人に対して同じ日付の所へ塗り潰す。

624:デフォルトの名無しさん (オッペケ Sr5f-iTDC)
20/04/25 14:00:26 jVtajgfWr.net
>>623
元データのc列を消せば良いのでは

625:デフォルトの名無しさん (スフッ Sd94-S0vp)
20/04/25 14:21:24 y/AcnKi/d.net
>>623
上部のD列から見ていって塗ってあったら下部の一つ左の列を塗る

626:デフォルトの名無しさん
20/04/25 20:10:34.52 Z1BPhcf20.net
下記のコードで出力範囲1と2をまとめるにはどうすればいいでしょうか
Set OutputRange = Worksheets("Sheet1").Range("B2:C10")
For i = 1 To 9
For j = 1 To 2
For k = 2 To 3
OutputRange(i, j) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, k, False)
だとB,C列ともに列番号3をの値になる、というか列番号2で処理した後列番号3でもう一度処理を
しているため、すべて列番号3の値になるんじゃないかとは思うのですが、具体的にどう直せば
いいか教えていただけるとありがたいです
Sub Test()
Dim SerchKey As Range '検索値
Dim SerchRange As Range '検索範囲
Dim OutputRange1 As Range '出力範囲1 B列
Dim OutputRange2 As Range '出力範囲2 C列
Dim i As Long
Set SerchKey = Worksheets("Sheet1").Range("A2:A10")
Set SerchRange = Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A2:C10")
Set OutputRange1 = Worksheets("Sheet1").Range("B2:B10")
Set OutputRange2 = Worksheets("Sheet1").Range("C2:C10")
For i = 1 To 9
OutputRange1(i, 1) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, 2, False)
OutputRange2(i, 1) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, 3, False)
Next i
End Sub

627:デフォルトの名無しさん
20/04/25 20:18:25.81 /63/MmUO0.net
このスレにくる質問見ると、俺に読解力がないのかなといつも思ってしまう

628:デフォルトの名無しさん
20/04/25 21:06:29.21 OxGSjC7Q0.net
>>626
VLOOKUPは答えを複数返す関数じゃない

629:デフォルトの名無しさん (ワッチョイ 7c7c-sVZV)
20/04/25 21:14:48 OxGSjC7Q0.net
あ、質問の意味が今わかったわ
入れるセル変えずに関数の列番だけ変えてたらそりゃ同じ値しか入らない
中身がどうなってるか想像じゃなくて実際に確認すればどう直せばいいかわかるだろう

630:デフォルトの名無しさん (ワッチョイ bb5e-1Gce)
20/04/25 22:19:20 Z1BPhcf20.net
質問が説明不足だったようで失礼しました
出力範囲が複数列ある場合にそれぞれの列を「出力範囲1」「出力範囲2」と設定していけばいいという
ところまではわかったのですが、検索範囲が100列、出力範囲が99列、というように数が多くなった場合、
出力範囲のB列には検索範囲の列番号2  OutputRange1(i, 1)…… SerchRange, 2
出力範囲のC列には検索範囲の列番号3  OutputRange2(i, 1)…… SerchRange, 3
出力範囲のD列には検索範囲の列番号4  OutputRange3(i, 1)…… SerchRange, 4



という処理を99行書かずに変数で処理できないでしょうか、というのが質問の意図です

631:デフォルトの名無しさん (ワッチョイ 38ef-1Gce)
20/04/25 22:58:11 u3Cmop/t0.net
j の役割って何だろう?

632:デフォルトの名無しさん (ワッチョイ 7c7c-sVZV)
20/04/25 23:00:40 OxGSjC7Q0.net
だから>>626のループの中身がどうなってるか見て順番考えたらいいんじゃないの

633:デフォルトの名無しさん
20/04/26 00:49:06.95 1a87l4R/0.net
>>630
同じような処理を繰り返したい時は配列を使う
Dim OutputRange(10) As Range '出力範囲
Dim i As Integer
For i = 2 To 3
Set OutputRange(i) = Worksheets("Sheet1").Range(Cells(i, 2), Cells(i, 10))
Next
みたいな感じで、変数を使えば、何十個あっても簡単にまとめられる

634:デフォルトの名無しさん
20/04/26 02:34:49.27 LqR8iAxp0.net
なぜ馬鹿ばっかり来るのか

635:デフォルトの名無しさん
20/04/26 03:25:04.50 3JmljcZq5
東大院生と本気数学トーク!!【数学ボーイZ 数学野郎さんコラボ】
URLリンク(www.youtube.com)
中3で数Ⅲ先取り!? 京大数学系YouTuber古賀さんに開成中高時代を聞く!
URLリンク(www.youtube.com)
開成から京大理学部に進学した理由とは?古賀さんに京大の実態を聞く!
URLリンク(www.youtube.com)
高校数学と何が違うの?大学数学でつまずかないためのアドバイス![大学数学準備講座1/4]
URLリンク(www.youtube.com)
数学は「定義」にかえることが大事!
URLリンク(www.youtube.com)
数を創る話〜自然数から複素数への構成〜
URLリンク(www.youtube.com)
高校生でも雰囲気だけ分かるガロア理論
URLリンク(www.youtube.com)
高校生でも雰囲気だけ分かるゼータ関数とリーマン予想
URLリンク(www.youtube.com)
【高校生でもわかる】いろいろな積分 リーマン,ルベーグ...
URLリンク(www.youtube.com)
大学で本気で学問をしたい人へのアドバイス
URLリンク(www.youtube.com)

636:デフォルトの名無しさん (ワッチョイ d4da-1Gce)
20/04/26 06:16:38 +0ojgInc0.net
馬鹿ばっかり来るところにいるからじゃね
ってか自力でできるやつは質問なんかしないだろ

637:デフォルトの名無しさん (ワッチョイ 9602-TRCj)
20/04/26 09:08:46 rBKIu5KT0.net
>>636
それググレカスキッズだと思う
>>612

638:デフォルトの名無しさん (ワッチョイ 2c7f-KNAb)
20/04/26 10:18:45 LS9zyJ5J0.net
複数あるコマンドボタンをどれを押しても一つの処理に入り、押されたボタンを取得して、ボタンごとに判断処理ってできないのでしょうか。(activeXです)

具体的にはシリアルポートの処理で以下のことをやりたいです。
コマンドボタンが機器名、その機器ごとに存在する複数のコンボボックスにポート名やボーレートを設定。
あるコマンドボタンを押したら、対応するコンボボックス郡の設定を取得してポートを開く。(ポートオープンはモジュールに記述したWritefileでやってます)
ポートオープンで返ってきたハンドラが例外でなければ、押されたコマンドボタンの色を変更し、名前を"機器名+接続中"に変更。
また、コマンドボタンを押した時点で対応ポートのハンドラが存在すれば、そのポートを閉じて(ハンドラも初期化)、押されたコマンドボタンの色を戻す。

現在はボタンごとのプロージャを作成し、同じような処理を逐一書いてますが、機器が複数あって大変見にくいのと、記述が大変なのでまとめたいです。

639:デフォルトの名無しさん
20/04/26 10:39:23.22 oDDaXD960.net
>>638
それ、まともにやろうとするとかなり上級レベル。
上級者を自認する人でも出来ない人が結構いる。

640:デフォルトの名無しさん
20/04/26 10:39:50.30 1a87l4R/0.net
>>638
「コントロール配列」でぐぐれ
URLリンク(www.asahi-net.or.jp)

641:デフォルトの名無しさん (ワッチョイ acce-1Gce)
20/04/26 10:44:46 1a87l4R/0.net
>>638
同じような処理なら、ボタンクリックのイベントの中で変数にボタン名を設定してから、別に用意した共通部分のSubを呼び出せばいい

ヒント
URLリンク(woodbook.kir.jp)

642:デフォルトの名無しさん
20/04/26 10:46:58.47 oDDaXD960.net
おっ、それを貼るとは。
じゃあ、俺も。
以下の一連を全て理解し、使いこなせれば大分変わる。
URLリンク(addinbox.sakura.ne.jp)

643:デフォルトの名無しさん (ワッチョイ 2c7f-KNAb)
20/04/26 11:53:55 LS9zyJ5J0.net
ありがとうございました
手っ取り早くやれそうな感じではなさそうです

644:デフォルトの名無しさん (ワッチョイ 3563-Btmo)
20/04/26 12:03:24 3XXXGp1c0.net
>>640
懐かしいなコントロール配列
昔はよく使ったが最近使ってないな

645:デフォルトの名無しさん (ワッチョイ 0791-2b7E)
20/04/26 12:07:36 oDDaXD960.net
>>643
一応言っておくと、途中迄なら出来るかもしれないし(それで十分かも)、読み物としても読んどくと良いと思う。

646:デフォルトの名無しさん (ワッチョイ 2c7f-KNAb)
20/04/26 14:41:44 LS9zyJ5J0.net
>>643
紹介頂いたサイトの大元になるmougを参考にして押したボタンの色変えぐらいまでしかできません
この処理にシート画面上のコンボボックスの値を関連付けて取得する仕掛を入れたいのですが検討つかず

647:デフォルトの名無しさん
20/04/26 15:58:20.12 io10sll9a.net
各ボタン押した最初の処理だけわけて
引数つけて共通処理に飛ばせばよくね

648:デフォルトの名無しさん (ワッチョイ 7ab5-l81y)
20/04/26 18:40:06 IAQJrydO0.net
全部ここの人達のおかげで完全に憑き物が取れて教えて貰ったURLと持ってる本を参考にひたすら初歩のルールから愚直に
打っては実行を繰り返し練習してます

Do loop
For next
特にこれの破壊力は凄いですね
これだけの為に覚える価値すらあると感じました
あとはmsgboxの使い方の面白さ
感謝しかないです

Do loopでwhileとuntilがあるけどよほど複雑でない場合
書き方変えるだけで同じ処理させられる感じですが
基本どっちかでで使い方覚えていったほうがいいものですかね
質問というよりただただ楽しくここの上級者たちにも癖だったり自分ルールがあるのかなと
ああ楽しい

649:デフォルトの名無しさん
20/04/26 19:35:22.95 1a87l4R/0.net
>>648
繰り返す条件が明確な場合はwhile、終了条件に着目した方が処理の流れがわかりやすい場合はuntil
適切に使い分けると、プログラム全体が読みやすくなって間違いが減る

650:デフォルトの名無しさん (ワッチョイ acce-1Gce)
20/04/26 19:37:28 1a87l4R/0.net
よくない例
While Not 終了条件

適切な例
Until 終了条件

651:デフォルトの名無しさん (ワッチョイ 7ab5-l81y)
20/04/26 20:25:45 IAQJrydO0.net
>>650

Sub ループwhile()
 Dim i As Long
  i = 1
 Do While Cells(i, 1) <> ""
 Cells(i, 3) = Cells(i, 1) + 10
 i = i + 1
 Loop
 MsgBox i & "回whileでループ"
End Sub

Sub ループuntil()
 Dim i As Long i = 1
 Do Until Cells(i, 1) = ""
 Cells(i, 3) = Cells(i, 1) + 10
  i = i + 1
 Loop    
 MsgBox i & "回untilでループ"
End Sub

なるほど、空白になるまでループってのを練習してました
後者の方が一般的ですかね
勉強になります。

652:デフォルトの名無しさん
20/04/26 21:08:58.39 RAbG8RW6a.net
僕は wihle しか使わない
理由は c言語にないから
あと、なんとなくだけど、wihle と until は混ぜて使わない方がよい気がする
いや、混在する人がいても文句は言わないと思うけど

653:デフォルトの名無しさん
20/04/26 21:11:31.65 RAbG8RW6a.net
>>652
651 ですが、
理由は until はc言語にないから
です
すみません

654:デフォルトの名無しさん
20/04/26 21:21:03.37 wya5Zv+N0.net
ド・モルガンの法則なんてのを知ってるとループ条件が
劇的に易しく書けるようになったりするよ

655:
20/04/26 21:43:11.03 Whjp3eXS0.net
>>654
ドモルガンは法則ではなくて公理すなわち前提条件なのでは?

656:デフォルトの名無しさん (ワッチョイ acce-1Gce)
20/04/26 22:54:36 1a87l4R/0.net
Not Is Nothing
英語の否定文って日本語とロジックが違うから直感的にわかりにくい

657:デフォルトの名無しさん (アウアウエー Sa6a-1Gce)
20/04/26 23:37:47 x2OEBIkDa.net
少なくとも一回実行する必要があるとき until
一回も実行しないかもしれないとき while

658:デフォルトの名無しさん (ワッチョイ b05c-QpYc)
20/04/27 00:02:16 i1fhLCEO0.net
まぁ大事なのは自分の中でしっかりルールを固めておくこと
なんとなくで使い分けてると100%デスマに陥る

659:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
20/04/27 00:02:40 pzY5bj450.net
>>657
VBAでは、それはDo側に書くかLoop側に書くか

WhileかUntilかはその条件の意味的なもので使い分けるのが本筋だろうけど
書くときの話ならどちらかに統一するルールでも良いと思う

660:デフォルトの名無しさん (ワッチョイ ca56-nG0h)
20/04/27 00:32:05 7P4A4QOo0.net
シート1のA1セルにx1、x2、x3と設定し、このx1~x3をそれぞれx1をB1セルに設定されている値、x2をC2セルに設定されている値に置換するにはどのようにすればよいのでしょうか
Replaceでは検索文字列および置換文字列を一つずつ指定できないため、検索したい文字列が増えるたびに処理が無駄に増えてしまうように思うため効率的なやり方を教えていただきたいです

661:デフォルトの名無しさん
20/04/27 03:31:04.69 Rq5FZkLb0.net
もっとわかるように説明してもらわんと

662:デフォルトの名無しさん (ワッチョイ ae63-V/Lh)
20/04/27 04:12:22 NMjdVbpJ0.net
置換と言ってるからセル参照ではない事だけわかった

663:デフォルトの名無しさん
20/04/27 04:51:42.68 o+TU1QYP0.net
学習能力のないひとがやってきて
説明能力の貧弱さを露呈する場所か・・・

664:デフォルトの名無しさん (ワッチョイ 91ad-R0M4)
20/04/27 05:03:04 Nsh172gi0.net
>>648
IF文、For文と配列で簡単な処理はこなせる
上級者はまた別のパラダイムで書いているが
先走る必要もなく基礎を確実に身につけよう

>>655
ド・モルガンは定理になることが多いが
そうなるのは公理系しだいだから
名前がおかしいと感じたことはない

665:デフォルトの名無しさん
20/04/27 06:05:48.59 XYadQOO00.net
>>660
非効率なコードを上げてくれ

666:デフォルトの名無しさん
20/04/27 06:24:43.93 3fBcsBz5r.net
>>660
select case

667:デフォルトの名無しさん
20/04/27 08:38:39.18 MOHWKMXM0.net
>>660
x3をd3に入れる
置換にこだわらず、代入しなおす

668:デフォルトの名無しさん
20/04/27 09:24:40.63 JVYKLC34M.net
ワークシート名をsheet(i)みたいな感じで配列に格納して、
for i=i to X
sheet(i).cell(row,col) = data
next
の様な、ループで各シートのセルに値を代入する方法を教えていただけないでしょうか。

669:デフォルトの名無しさん
20/04/27 10:44:49.67 p6J78QU70.net
>>668
実際の要件知らんが、普通はもっといい方法があると思うが、質問通りに。
URLリンク(i.imgur.com)

670:デフォルトの名無しさん
20/04/27 10:47:33.37 o+TU1QYP0.net
Dim i As Integer
For i = 1 To 3
ThisWorkbook.Worksheets(i).Cells(1, 1) = 1
Next i
で済むようなものだと予想

671:デフォルトの名無しさん (ワッチョイ 0101-K+B8)
20/04/27 13:38:56 JH5ykH9R0.net
・ツールの作成
・バク対応、修正業務
・各種テスト
VBAを用いて上記の業務を行う場合、皆さん(自分の取り巻く環境以外)の現場で求められる頻度や重要度が高いスキルや業務を伺いたいです。
よろしくお願いします。

672:デフォルトの名無しさん
20/04/27 15:07:52.31 VtI6ihiD0.net
>>671
馬鹿は死ね

673:デフォルトの名無しさん
20/04/27 15:33:05.22 uroKfm2Gd.net
>>668
何でシート名で配列なの?
既にシートオブジェクトの配列として使えるのに。

674:デフォルトの名無しさん
20/04/27 15:35:59.76 MOHWKMXM0.net
>>668
シート名は普通に列挙したいんだと思った
コード内に記述したいのか: sheet=Array("hoge","fuga","piyo","puyo")
セル内に記述したいのか: sheet=WorksheetFunction.Transpose(WorkSheets("hoge").Range("a1:a4"))
どうか、わかんないけど

675:デフォルトの名無しさん
20/04/27 15:36:24.43 uroKfm2Gd.net
>>671
そいつは現場次第だよねえ。
現場に併せて何でも出来るってことかな。
AccessならSQLは必須だと思うけど。

676:デフォルトの名無しさん
20/04/27 16:19:32.17 JH5ykH9R0.net
>>672
生きる!!!
>>675
自分の周り以外だとどんなことにVBA使ってるか気になりましてね。他意はマジでなくて、単純な興味として質問してみますた。

677:デフォルトの名無しさん (JP 0H34-GHE+)
20/04/27 17:19:41 H2efCY7TH.net
既存のVBAをどうしてもメンテせざるを得ないときに使う
新規に使うことはない

678:デフォルトの名無しさん
20/04/27 18:02:05.74 fDdETITO0.net
ちょっとデータを加工したい時、軽い処理とか1回限りの計算はVBAでやってる
VisualStudioはその場限りの捨てコードを書くには大げさすぎる

679:デフォルトの名無しさん
20/04/27 18:06:27.58 JnEQ074MM.net
>>678
そんな貴方にPowershellオススメ

680:デフォルトの名無しさん (ワッチョイ 0101-K+B8)
20/04/27 18:40:53 JH5ykH9R0.net
>>677
>>678
レスありがとうございました。
ちょっとした作業を手軽に(環境構築とかなしで)効率化するときに使ってるってのが分かりました。
何気なく使ってるから頻度も重要度もクソもないと

681:デフォルトの名無しさん
20/04/27 19:15:08.58 XYadQOO00.net
昔は「値で貼り付け」とかキー割り当てしてたけど最近のは割と便利になったから使ってないな
他には初回印刷日の挿入とか
ファイルプロパティにタイトルの設定とかかな

682:デフォルトの名無しさん (ブーイモ MMfd-enkp)
20/04/27 20:04:15 GiQWIPCuM.net
「値で貼り付け」に関して最近のはどう便利になってるの?

683:デフォルトの名無しさん
20/04/27 20:24:28.01 Jy0k1GG60.net
VBAでの開発依頼がしょっちゅう来る…

684:デフォルトの名無しさん
20/04/27 20:30:04.12 XYadQOO00.net
>>682
URLリンク(i.imgur.com)

685:デフォルトの名無しさん
20/04/27 20:34:34.60 z3LiCQZGM.net
配列を使った方が良い場合ってどんな時?

686:デフォルトの名無しさん
20/04/27 20:48:23.14 XYadQOO00.net
>>685
相手は誰だ?
ワークシート? Dictionary? CSV文字列?

687:デフォルトの名無しさん (ワッチョイ 0101-K+B8)
20/04/27 23:24:48 JH5ykH9R0.net
>>681
自分の素朴な疑問に答えてもらってありがとうございます。

688:デフォルトの名無しさん (ワッチョイ 7a4b-R0M4)
20/04/27 23:26:56 g7wz6Zov0.net
ここの人ら凄い、
いつも感心しながら読んでるけど本当に勉強になる。
これだけ知識や経験あるならユーチューバ―とかになって上手くやれば副業も出来そう

689:デフォルトの名無しさん (ワッチョイ acce-1Gce)
20/04/27 23:27:29 fDdETITO0.net
>>685
処理したい変数がたくさんあって繰り返し同じことをする時
処理したいセルがたくさんあって繰り返し同じことをする時

690:デフォルトの名無しさん (ワッチョイ acce-1Gce)
20/04/27 23:28:15 fDdETITO0.net
office田中もいつのまにかyoutuberになってたけど、こんなおじいちゃんだとは思わなかった

691:デフォルトの名無しさん (ワッチョイ 64ad-Btmo)
20/04/27 23:42:25 RTbdScdC0.net
VBAを本を読んだりググったりして勉強中です。
他社システムからいただくCSVファイルをExcelに取り込んで編集する必要があります。
頭にゼロが付いて、長さが不定の数字のフィールドがあるので、そこは文字列で
扱わなくてはならず、そのままExcelで開けません。
querytables.add でインポートしてみたところ、セル内改行の含まれる列があるため、
1行であるべきデータが2行になってしまいます。
POWERQueryを使えば回避できる、という情報にに突き当たり、とりあえずマクロの
記録をしてみて、使えるように変えられないか、と思いましたが行き詰っています。
「ソース = Csv.Document(File.Contents(””CSVのパス””),… 」
のCSVのパスの部分を変数にしたいのですが、変数にすると
「 .Refresh BackgroundQuery:=False」のところで
[Expression error] インポート 変数 がエクスポートと一致しません。モジュールの参照が漏れていませんか?」
と親しげだけど、冷たく突き放されます。
知識が足りなさすぎるのですが、データをきれいにして早く次の処理を作らなくては
いけなくて焦っています。
先輩たちはテレワークで、あまり質問もできず困っております。
どうぞよろしくお願いいたします。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch