[過去ログ] VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
418: 2017/11/08(水)23:38 ID:aQlO1Uq5(4/4) AAS
そのくらいの事も判らない人にも実現できる方法を提案してるだろ
419
(1): 2017/11/09(木)00:17 ID:hDRDp7cw(1) AAS
画像リンク

上のように各列の情報に応じて、一定の条件にヒットしたら評価欄に追記、ということをしているのですが、
上手い書き方が思いつかず、冗長で読みにくいコードになってしまいます
画像リンク


どうすれば綺麗で読みやすいコードになるでしょうか?

特に、変数(ここでは「評価」)の参照先のセルに書き込みつつ、変数の値自体も更新するスマートな方法と
If文で2つの条件が当てはまった場合に両方の処理を実行させる(ここでは40点以下と60点未満のIf文を一つで済ませるとか)方法があれば知りたいです
420: 2017/11/09(木)03:11 ID:HAMnFTNh(1) AAS
>>419
配列を使え
あとソースを読んだり修正したりやりにくいから画像にせずそのままテキストとして貼ってくれ

科目 = Array("国語", "算数", "理科")
For j = 0 to 2
  点数 = i.Offset(0, j + 1)

  If 点数 <= 40 Then
    i.offset(0, -1).Value = i.offset(0, -1).Value & 科目(j) & "の点数が以下略" & vbCrLf

みたいな感じで教科の数に関わりなく記述を1回にできる
条件が3つ以上ある時はCaseで分ける方法もあるけど、どんどん文字列を追加するならIfを並べる今の書き方で別に悪くない
421: 2017/11/09(木)08:39 ID:m3IDSHjM(1) AAS
ありがとうございます、やってみます
(コードは行数制限とインデントが反映されなかったのでつい画像に…すみません)
422: 2017/11/10(金)08:15 ID:vvDXnBRS(1/2) AAS
オートフィルの連続データでA1が0なら終わりでそれ以外なら下にオートフィルの連続データを追加して行くってどうやればいい?
423: 2017/11/10(金)08:52 ID:EDTrdPIL(1) AAS
何をどこまで追加すんの?
424
(1): 2017/11/10(金)09:18 ID:vvDXnBRS(2/2) AAS
下に一つオートフィルの連続データを追加してもしもその数が0以外ならばその下に一つづつ追加してもし0になったら終わるってことです

オートフィルの連続データまでは成功しました!
425: 2017/11/10(金)12:58 ID:MIqJX5DT(1) AAS
>>424
何をやりたいのかさっぱりわからんから
> オートフィルの連続データまでは成功しました!
のコードを晒してくれ
426: 2017/11/10(金)22:07 ID:KbRkXeO5(1) AAS
何をどーしたいのかよーわからんが、
オートフィルの連続データが完成したならDo  While Loopでも使えばいいんじゃね
427: 2017/11/11(土)10:59 ID:t1iacSS7(1) AAS
そうですね連続データと探す作業分けてDo until使ってみたら目的は達成できました ありがとございます
428
(4): 2017/11/16(木)11:42 ID:DcGHOE5h(1) AAS
漠然とした質問で申し訳ない
コレクションというのがあるけど、その利点というかこういう場合に使うとかという
のを教えてくれないだろうか。配列は動的配列も含めてよく使うけどコレクション
というのはあるのは知ってるけどどういう場合に使うものなのか判らない。
(まぁそれでも何とかなってるということは今の時点ではそれでも問題ないって
ことでもあるんだけど)
429: 2017/11/16(木)12:38 ID:Xd3mhum+(1) AAS
>>428
Dictinonaryだとキーが重複してたらエラーになるから
重複させたくない場合は便利だと思う

あと既にそのキーが登録してあるか調べるメソッドがあるから便利

配列でも実現出来るけど生産性の問題だと思う
430: 2017/11/16(木)12:40 ID:+IKZz2Nz(1) AAS
>>428
Excelならコレクションは知らないうちに必ず使ってるから心配しなくてもいい

オブジェクトを複数まとめた物がコレクションで、例えばワークシートオブジェクトをまとめた物もコレクションの一種
新規ブックを作るとワークシートが3枚あるじゃろ?それがもう既にコレクションなんだわ

名前をよく見ると「Worksheets」って複数形になっとるじゃろ?これが「複数まとめた」コレクションを示しておるのじゃ
431: 2017/11/16(木)16:08 ID:mcjOn36E(1) AAS
>>428
コレクションの便利さを実感できるのは、For Each 〜 Nextとか
432: 2017/11/16(木)17:01 ID:yjV64GpF(1) AAS
For Each
配列でも使えるけどね
433
(1): 2017/11/16(木)19:57 ID:NwFToy+4(1) AAS
広い意味では配列もコレクション
元質問のコレクションが何指してるか質問からは分からん
434: 2017/11/16(木)22:05 ID:CQAbf3aD(1) AAS
>>433
どの言語でもコレクションの定義は曖昧だからなあ。

配列のように物理的に連続したメモリ領域で動かせないものが配列。
435: 428 2017/11/17(金)16:52 ID:wkN6jGAZ(1) AAS
気付かないうちにコレクションを使ってたってのは、あぁそうなのかって感じですけど

>元質問のコレクションが何指してるか

思い浮かべてんのは連想配列とかディクショナリとかってやつですかね。
ディクショナリが重複チェックにも使えるってのは知りましたが。
今現在動かしているのをディクショナリに変えて見ようかなとと思ってます。
どちらにしろ自分で判らないことにはすすまんので。

後、曖昧模糊とした質問に答えてくれた皆さん、ありがとう
436: 2017/11/17(金)18:29 ID:71HLXjvB(1) AAS
連想配列は配列と言いながら実体はコレクション
437: 2017/11/18(土)09:55 ID:8LVfn2cG(1) AAS
配列数の制御がめんどいし
個々のデータ型も合わせんでいいし
438
(1): 2017/11/19(日)20:25 ID:TCtIBT5G(1) AAS
感覚的な話になるけど、例えばA列、B列、C列には○と×が入っててD列には何かの名前が入ってる時に、A、B、Cの組み合わせが×、○、○の時のD列の名前を表示したいとするわな。
こういう場合は一行ずつ見て行って×、○、○の組を探すわな。
こういう場合はFor Next使うわな。
つまり普通の配列が感覚に合う。

一方、A1:F100の範囲の各セルで1つだけ○、他は全て×の時に○のアドレスを知りたいなんて時には見つかるまで全てチェックすれば良いわけで、どう見ていくかなんて関係無いわな。
こういう場合はFor Each Next使うわな。
つまり連想配列が感覚に合う。
439
(1): 2017/11/19(日)22:00 ID:jY4FOG+m(1) AAS
>>438
そんなもん普通はvlookup使うわな。
440: 2017/11/20(月)09:52 ID:6BLE5ZLY(1) AAS
>>439
ばーか。
感覚を例として挙げてることが分からないバカは黙ってろ。
もっと上手い方法があるだろうことは最初から分かってる。

順番を意識しないIteratorの感覚を説明してる。
コレクションにだって順番は実際はある。
しかしそれを意識しないような場合にぴったりということだ。
441: 2017/11/20(月)11:39 ID:VyTKZ5qI(1) AAS
ああ言えばこういうわな
442: 2017/11/20(月)19:55 ID:9xFKx2hL(1/3) AAS
他人の回答の批判とかするほうがおかしいね
質問に対して自分の考えで回答すればいいのに
443: 2017/11/20(月)20:06 ID:Pkea+7u9(1/2) AAS
適当に批判してやらなきゃお前ら好き勝手に質問と関係ない事ばかり言うじゃん
批判してくれる奴に感謝しろよw
444
(1): 2017/11/20(月)22:04 ID:9xFKx2hL(2/3) AAS
質問と関係ないこと言ってもいいと思うけどなんでそれが駄目なのかな?
445
(1): 2017/11/20(月)22:24 ID:Pkea+7u9(2/2) AAS
>>444
自分は質問と関係ない自分語りするけどそれを批判されるのは許せないってか?
どんだけワガママに育てられたんだお前は
446: 2017/11/20(月)23:53 ID:9xFKx2hL(3/3) AAS
>>445
感謝しろよ
447: 2017/11/29(水)12:35 ID:rUGEU7g7(1) AAS
ドカタ仕事の憂さ晴らしをここでやるのはやめてほしいと思うのです
汚い言葉を使うのは本人は無頼漢的にイケてるつもりかもしれないけど
側から見ると貧乏くさいのです
1-
あと 555 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.033s