[過去ログ]
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1432173164/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
401: デフォルトの名無しさん [sage] 2017/09/24(日) 16:46:42.97 ID:jWeMnfEt >>400 仕事をしたことの無い奴には分かるまいw http://mevius.5ch.net/test/read.cgi/tech/1432173164/401
402: デフォルトの名無しさん [sage] 2017/11/08(水) 05:55:55.96 ID:mrDDFdOE こっちを再利用? http://mevius.5ch.net/test/read.cgi/tech/1432173164/402
403: デフォルトの名無しさん [] 2017/11/08(水) 09:41:10.42 ID:VRSOCYqC 再利用したいけどExcelの話をしたいときに困るのかな http://mevius.5ch.net/test/read.cgi/tech/1432173164/403
404: デフォルトの名無しさん [sage] 2017/11/08(水) 10:15:34.15 ID:6WBHyYXn そのうち立つんじゃね http://mevius.5ch.net/test/read.cgi/tech/1432173164/404
405: デフォルトの名無しさん [sage] 2017/11/08(水) 11:10:32.82 ID:JKxKdsR3 「Excelの話」したいんだったら総合相談所でやれ http://mevius.5ch.net/test/read.cgi/tech/1432173164/405
406: デフォルトの名無しさん [] 2017/11/08(水) 11:59:42.12 ID:VRSOCYqC なるほどなるほど http://mevius.5ch.net/test/read.cgi/tech/1432173164/406
407: デフォルトの名無しさん [] 2017/11/08(水) 12:50:47.32 ID:+KUB1/9h 早速質問 今vbaでマップ使って とある表の集計を行なっております 一つのkeyに対しアイテムが複数あるので 配列で入れようと思ったのですがうまくいきません 何か良い方法はありませんか? http://mevius.5ch.net/test/read.cgi/tech/1432173164/407
408: デフォルトの名無しさん [sage] 2017/11/08(水) 16:45:58.99 ID:pE/cp7rq もう少し具体的にどうぞ http://mevius.5ch.net/test/read.cgi/tech/1432173164/408
409: デフォルトの名無しさん [] 2017/11/08(水) 21:23:36.05 ID:+KUB1/9h >>408 一つのキーに対して複数のアイテムがある これをどうにかこうにか出来ないか やりたいことは キーが重複された二次元配列を グループ化&合計を取りたい http://mevius.5ch.net/test/read.cgi/tech/1432173164/409
410: デフォルトの名無しさん [] 2017/11/08(水) 21:28:10.43 ID:aQlO1Uq5 >>409 エクセルならピボットテーブルでいいんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1432173164/410
411: デフォルトの名無しさん [] 2017/11/08(水) 21:32:09.19 ID:+KUB1/9h >>410 自動で計算させるんだよ http://mevius.5ch.net/test/read.cgi/tech/1432173164/411
412: デフォルトの名無しさん [] 2017/11/08(水) 21:33:56.61 ID:aQlO1Uq5 >>411 ピボットテーブルをvbaで作ればいい http://mevius.5ch.net/test/read.cgi/tech/1432173164/412
413: デフォルトの名無しさん [sage] 2017/11/08(水) 21:38:43.05 ID:vt31E4Mm エスパーじゃないんだから、もっと具体的に説明しないと、何がしたくて何ができないのか判んないよ。 そして多分だけど普通にifで分岐するプログラムを書くだけだと思う。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/413
414: デフォルトの名無しさん [] 2017/11/08(水) 21:40:37.09 ID:0sSRKP/b いや多分forでループするプログラムを書くだけだと思う http://mevius.5ch.net/test/read.cgi/tech/1432173164/414
415: デフォルトの名無しさん [] 2017/11/08(水) 22:38:17.07 ID:+KUB1/9h データシート キー 金額a 金額b 1 10 20 2 20 50 1 30 90 結果(期待) キー 金額a 金額b 1 40 110 2 20 50 上のような感じのシートがあって 集計かけたり 平均とったり 最大値だったりしたい http://mevius.5ch.net/test/read.cgi/tech/1432173164/415
416: デフォルトの名無しさん [] 2017/11/08(水) 23:08:47.37 ID:aQlO1Uq5 >>415 そのくらいの事を自分でできないなら ピボット使った方がいいと思うぞ バグって計算結果が合わないから http://mevius.5ch.net/test/read.cgi/tech/1432173164/416
417: デフォルトの名無しさん [] 2017/11/08(水) 23:25:51.57 ID:0sSRKP/b そのくらいの事を自分でできないから質問してんだろ そのくらいの事を理解できないなら質問スレに来ない方がいいのに http://mevius.5ch.net/test/read.cgi/tech/1432173164/417
418: デフォルトの名無しさん [] 2017/11/08(水) 23:38:17.91 ID:aQlO1Uq5 そのくらいの事も判らない人にも実現できる方法を提案してるだろ http://mevius.5ch.net/test/read.cgi/tech/1432173164/418
419: デフォルトの名無しさん [sage] 2017/11/09(木) 00:17:55.65 ID:hDRDp7cw https://i.imgur.com/wtkTdlA.png 上のように各列の情報に応じて、一定の条件にヒットしたら評価欄に追記、ということをしているのですが、 上手い書き方が思いつかず、冗長で読みにくいコードになってしまいます https://i.imgur.com/cE0kOho.png どうすれば綺麗で読みやすいコードになるでしょうか? 特に、変数(ここでは「評価」)の参照先のセルに書き込みつつ、変数の値自体も更新するスマートな方法と If文で2つの条件が当てはまった場合に両方の処理を実行させる(ここでは40点以下と60点未満のIf文を一つで済ませるとか)方法があれば知りたいです http://mevius.5ch.net/test/read.cgi/tech/1432173164/419
420: デフォルトの名無しさん [sage] 2017/11/09(木) 03:11:02.61 ID:HAMnFTNh >>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を並べる今の書き方で別に悪くない http://mevius.5ch.net/test/read.cgi/tech/1432173164/420
421: デフォルトの名無しさん [sage] 2017/11/09(木) 08:39:48.02 ID:m3IDSHjM ありがとうございます、やってみます (コードは行数制限とインデントが反映されなかったのでつい画像に…すみません) http://mevius.5ch.net/test/read.cgi/tech/1432173164/421
422: デフォルトの名無しさん [] 2017/11/10(金) 08:15:39.86 ID:vvDXnBRS オートフィルの連続データでA1が0なら終わりでそれ以外なら下にオートフィルの連続データを追加して行くってどうやればいい? http://mevius.5ch.net/test/read.cgi/tech/1432173164/422
423: デフォルトの名無しさん [sage] 2017/11/10(金) 08:52:12.12 ID:EDTrdPIL 何をどこまで追加すんの? http://mevius.5ch.net/test/read.cgi/tech/1432173164/423
424: デフォルトの名無しさん [] 2017/11/10(金) 09:18:59.30 ID:vvDXnBRS 下に一つオートフィルの連続データを追加してもしもその数が0以外ならばその下に一つづつ追加してもし0になったら終わるってことです オートフィルの連続データまでは成功しました! http://mevius.5ch.net/test/read.cgi/tech/1432173164/424
425: デフォルトの名無しさん [sage] 2017/11/10(金) 12:58:08.94 ID:MIqJX5DT >>424 何をやりたいのかさっぱりわからんから > オートフィルの連続データまでは成功しました! のコードを晒してくれ http://mevius.5ch.net/test/read.cgi/tech/1432173164/425
426: デフォルトの名無しさん [sage] 2017/11/10(金) 22:07:12.41 ID:KbRkXeO5 何をどーしたいのかよーわからんが、 オートフィルの連続データが完成したならDo While Loopでも使えばいいんじゃね http://mevius.5ch.net/test/read.cgi/tech/1432173164/426
427: デフォルトの名無しさん [] 2017/11/11(土) 10:59:01.85 ID:t1iacSS7 そうですね連続データと探す作業分けてDo until使ってみたら目的は達成できました ありがとございます http://mevius.5ch.net/test/read.cgi/tech/1432173164/427
428: デフォルトの名無しさん [sage] 2017/11/16(木) 11:42:09.40 ID:DcGHOE5h 漠然とした質問で申し訳ない コレクションというのがあるけど、その利点というかこういう場合に使うとかという のを教えてくれないだろうか。配列は動的配列も含めてよく使うけどコレクション というのはあるのは知ってるけどどういう場合に使うものなのか判らない。 (まぁそれでも何とかなってるということは今の時点ではそれでも問題ないって ことでもあるんだけど) http://mevius.5ch.net/test/read.cgi/tech/1432173164/428
429: デフォルトの名無しさん [] 2017/11/16(木) 12:38:12.83 ID:Xd3mhum+ >>428 Dictinonaryだとキーが重複してたらエラーになるから 重複させたくない場合は便利だと思う あと既にそのキーが登録してあるか調べるメソッドがあるから便利 配列でも実現出来るけど生産性の問題だと思う http://mevius.5ch.net/test/read.cgi/tech/1432173164/429
430: デフォルトの名無しさん [sage] 2017/11/16(木) 12:40:16.53 ID:+IKZz2Nz >>428 Excelならコレクションは知らないうちに必ず使ってるから心配しなくてもいい オブジェクトを複数まとめた物がコレクションで、例えばワークシートオブジェクトをまとめた物もコレクションの一種 新規ブックを作るとワークシートが3枚あるじゃろ?それがもう既にコレクションなんだわ 名前をよく見ると「Worksheets」って複数形になっとるじゃろ?これが「複数まとめた」コレクションを示しておるのじゃ http://mevius.5ch.net/test/read.cgi/tech/1432173164/430
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 572 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s