[過去ログ]
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1432173164/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
458: デフォルトの名無しさん [sage] 2017/12/02(土) 10:54:25.96 ID:7He58R5A >>457 ・プロジェクトエクスプローラが縦に長くなりすぎて使いづらい。 ・巨大なクラスになるとfacadeパターンを使って分割しているのですが、 その際に処理を委譲するクラス名にxxx_reader, xxx_outputter等つけています。 ファイルを分けられれば単にreader, outputterで済むのですっきりさせたい。 この辺が分けたい理由です。 触るのが久しぶりだったので忘れていたのですが、a→b→cで参照が連鎖している場合、 a→cの参照がないとaからcの関数を呼び出せないだけで、プログラム自体は動くんですね。 いくつも参照でやってみようと思います。 >>453 単一目的のマクロ(そのutilityを呼び出す側)はそれほど大きくならないのですが、 画像操作、データシート処理のラッパー、デバッグ機能など 汎用的に使える機能をutility一つにまとめて行ったら大きくなってしまいました。 この辺を別ファイルにしようと思っています。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/458
459: デフォルトの名無しさん [] 2017/12/02(土) 12:26:31.44 ID:zSxtsSJv どうせ使う時は全部必要なんだろw 無駄なことすんなw http://mevius.5ch.net/test/read.cgi/tech/1432173164/459
460: デフォルトの名無しさん [sage] 2017/12/02(土) 13:17:30.17 ID:7He58R5A 使うときは割と全部必要ですが、細かく分かれていないと 機能追加やリファクタリングが面倒なんですよ。 モジュールをディレクトリ分けしてツリー構造にするような ことができれば一番いいんですが。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/460
461: デフォルトの名無しさん [sage] 2017/12/03(日) 00:26:04.64 ID:R5bnWQiD 出来るかどうか知らんが 親のユーティリティで子を自動的に参照設定すればいいんじゃね たしか参照設定もVBAからいじれたはず http://mevius.5ch.net/test/read.cgi/tech/1432173164/461
462: デフォルトの名無しさん [sage] 2017/12/07(木) 12:49:30.75 ID:C5q9p8Fb ほまは http://mevius.5ch.net/test/read.cgi/tech/1432173164/462
463: デフォルトの名無しさん [] 2017/12/09(土) 18:42:21.44 ID:YxeiwW1g Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim objMe As Recipient Set objMe = Item.Recipients.Add("domon@sapporotakusho.co.jp") objMe.Type = olBCC objMe.Resolve Set objMe = Nothing End Sub 検索すると出てくるこのプログラムだと、 再送しようとした場合、BCCが複数追加されてしまいます Outlookで自動的にBCCを設置するプログラムは調べたら乗っているのですが BCCに既に設定したいアドレスがあった場合は追加処理をしないというプログラムを追加したいです http://mevius.5ch.net/test/read.cgi/tech/1432173164/463
464: デフォルトの名無しさん [sage] 2017/12/09(土) 22:22:36.98 ID:kQB3PqQK >>463 変数objMeを宣言している行の直前に以下の処理を追加 Item.BCCプロパティに設定されている文字列を取得して、その中にdomonなんたらっていうアドレスが含まれているかどうかをInStr関数で調べる 含まれていたらExit Sub http://mevius.5ch.net/test/read.cgi/tech/1432173164/464
465: デフォルトの名無しさん [sage] 2017/12/10(日) 10:15:21.59 ID:DS9ojUbh ありがとうございます 間違えてメールアドレスそのまま載せてしまいました やってしまった… もう一度頑張ってみます http://mevius.5ch.net/test/read.cgi/tech/1432173164/465
466: デフォルトの名無しさん [sage] 2017/12/16(土) 05:30:44.06 ID:LzUTFJWj 滅入るよね http://mevius.5ch.net/test/read.cgi/tech/1432173164/466
467: デフォルトの名無しさん [] 2017/12/18(月) 22:21:50.88 ID:gUtmU3pD Excelに「Python」搭載検討 Microsoftがアンケート実施中 https://headlines.yahoo.co.jp/hl?a=20171218-00000045-zdn_n-sci Python知らんけど余計なことすんなボケ http://mevius.5ch.net/test/read.cgi/tech/1432173164/467
468: デフォルトの名無しさん [sage] 2017/12/19(火) 07:02:00.39 ID:hrV3NPqq VBAとPythonが併用できるのかな? 前例あるの? http://mevius.5ch.net/test/read.cgi/tech/1432173164/468
469: デフォルトの名無しさん [] 2017/12/19(火) 08:02:47.16 ID:QIKPQsgo 一営利企業の一製品に過ぎませんから http://mevius.5ch.net/test/read.cgi/tech/1432173164/469
470: デフォルトの名無しさん [sage] 2017/12/27(水) 06:37:14.56 ID:LSGNQ/gQ ざんねん! http://mevius.5ch.net/test/read.cgi/tech/1432173164/470
471: デフォルトの名無しさん [sage] 2017/12/27(水) 11:51:23.41 ID:3pB/qkZc python入る言うてもどのバージョンかとかライブラリかとかアップデートはするのかとか色々課題あるだろ http://mevius.5ch.net/test/read.cgi/tech/1432173164/471
472: デフォルトの名無しさん [sage] 2018/01/25(木) 12:20:39.14 ID:HAPJI9RJ 質問なのですが、別表の項目から他の表の項目(セルの位置)にデータを飛ばしたいんですが、できますか? http://mevius.5ch.net/test/read.cgi/tech/1432173164/472
473: デフォルトの名無しさん [sage] 2018/01/25(木) 12:55:31.94 ID:MSU0yE0z できます。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/473
474: デフォルトの名無しさん [sage] 2018/01/25(木) 13:07:55.93 ID:HAPJI9RJ ご教授ねがいたいのですが http://mevius.5ch.net/test/read.cgi/tech/1432173164/474
475: デフォルトの名無しさん [sage] 2018/01/25(木) 13:19:32.33 ID:Hqq1J0vI ×ご教授 ○ご教示 あと、見も知らぬ他人にタダで教えてもらうんならそれ相応の作法は必要じゃないのって、端で見てて思う http://mevius.5ch.net/test/read.cgi/tech/1432173164/475
476: デフォルトの名無しさん [sage] 2018/01/25(木) 13:38:48.56 ID:ULmYwE81 >>472 もっと具体的にどんなのが作りたいか書いてもらわないと難しいです。 5列目を変更した時に同じシートの1列目を選択するようにしたい、とか。 あるいは、別のシートのA1セルを選択したいとか。 飛ばすといっても、そのタイミングが変更した時なのか、選択したときなのか、特定の数値が入ったときなのか。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/476
477: デフォルトの名無しさん [sage] 2018/01/25(木) 14:35:16.74 ID:HAPJI9RJ こんな感じの表Aがあって、似たような表Bが別シートにあるんですけど、 表Aのセルの色を付けると同時にB表のセルのイロを変える または、セルの文字も一緒に持ってくる できますか? https://i.imgur.com/u3mc1ot.jpg http://mevius.5ch.net/test/read.cgi/tech/1432173164/477
478: デフォルトの名無しさん [sage] 2018/01/25(木) 14:36:19.20 ID:HAPJI9RJ すいません、よろしくおねがいします http://mevius.5ch.net/test/read.cgi/tech/1432173164/478
479: デフォルトの名無しさん [sage] 2018/01/25(木) 16:44:16.87 ID:WTDPcIn+ できるけど、コード教えてもらって、それを標準モジュールなり、sheet1モジュールなりに書き写せます? それを使いやすいように改良できます? http://mevius.5ch.net/test/read.cgi/tech/1432173164/479
480: デフォルトの名無しさん [sage] 2018/01/25(木) 17:08:48.29 ID:WTDPcIn+ できるって書いたけど、色を変えるのをイベントにするのは無理だから、マクロをボタンに登録するか、何かほかのイベントに割り当てるかしないとダメだわ。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/480
481: デフォルトの名無しさん [sage] 2018/01/25(木) 17:26:04.37 ID:HAPJI9RJ 書き写しくらいはできます! http://mevius.5ch.net/test/read.cgi/tech/1432173164/481
482: デフォルトの名無しさん [sage] 2018/01/25(木) 18:45:37.13 ID:/25QAGMM >>477 RaiseEventを使う http://mevius.5ch.net/test/read.cgi/tech/1432173164/482
483: デフォルトの名無しさん [sage] 2018/01/25(木) 19:01:57.40 ID:KaDWqQ6/ >>482 お忙しいのにみなさんありがとうございます ちょっと詳しく説明すると、こんな感じです 左のsheetの表は一項目につき3段、その3段目の情報で仮にA,Bが記載されてある色つきのセルの情報のみを抜き出し、右にある別sheetの表に反映させたいのです 分かりづらかったらすいません どのように組めば行けるのか、詳しく教えて頂くとありがたいです https://i.imgur.com/M5bti06.jpg http://mevius.5ch.net/test/read.cgi/tech/1432173164/483
484: デフォルトの名無しさん [sage] 2018/01/26(金) 08:27:26.24 ID:zry4uQ/L 指1本で核ボタン押せる http://mevius.5ch.net/test/read.cgi/tech/1432173164/484
485: デフォルトの名無しさん [sage] 2018/01/26(金) 08:28:00.51 ID:zry4uQ/L >>484 スマン激しく誤爆 http://mevius.5ch.net/test/read.cgi/tech/1432173164/485
486: デフォルトの名無しさん [] 2018/01/26(金) 09:48:49.15 ID:zry4uQ/L おわび 御貴兄たち、何卒添削お願いします。変数colとかrowのほうが良かったな Const OFFSET_X = 1 Const OFFSET_Y = 1 Const BLOCKS_Y = 3 Const WIDTH = 6 Const HEIGHT = 6 Private Sub CommandButton1_Click() Dim src As Worksheet Dim dst As Worksheet Dim x As Integer, y As Integer Dim des_x As Integer, des_y As Integer Set src = ThisWorkbook.Sheets("sheet2") Set dst = ThisWorkbook.Sheets("sheet3") dst.Cells.Clear des_x = 1 + OFFSET_X des_y = 1 + OFFSET_Y For y = 1 + 3 To HEIGHT * BLOCKS_Y Step 3 For x = 1 To WIDTH If src.Cells(y, x + OFFSET_X).Value <> "" Or _ src.Cells(y, x + OFFSET_X).Formula <> "" Or _ src.Cells(y, x + OFFSET_X).Interior.ColorIndex <> xlNone Then 'エラー判定は無し src.Range(src.Cells(y, x + OFFSET_X), src.Cells(y, x + OFFSET_X)).Copy _ Destination:=dst.Cells(des_y, des_x) End If des_x = des_x + 1 Next x des_x = 1 + OFFSET_X des_y = des_y + 1 Next y End Sub http://mevius.5ch.net/test/read.cgi/tech/1432173164/486
487: デフォルトの名無しさん [sage] 2018/01/26(金) 10:05:41.40 ID:cX+GX3c5 これ色付き以外のセルにも文字列は入ってるんだよな? http://mevius.5ch.net/test/read.cgi/tech/1432173164/487
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 515 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s