VBAを使った質問ならなんでもござれ
本来の対象であるオフィスアプリを操作する以外の話もOK
ゲーム作り、Webアクセス、外部アプリの操作
COM(ActiveX)、Win32API、.NET Framework、DirectXなどなど
VBAで実行するものであればなんでも質問してください
VBAを開発環境としていろいろ作っちゃいましょう
前スレ
VBAなんでも質問スレ
http://peace.2ch.net/test/read.cgi/tech/1342087380/
関連スレ
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1419718732/
Access VBA 質問スレ Part1
http://peace.2ch.net/test/read.cgi/tech/1328536426/
VBプログラマ質問スレ(Ver.6.0 まで) part64
http://peace.2ch.net/test/read.cgi/tech/1393069842/
Excel総合相談所 118 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/bsoft/1430352555/
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2015/05/21(木) 10:52:44.71ID:KLv0vQmm387デフォルトの名無しさん
2017/09/23(土) 06:12:18.34ID:6cN/4Ux4 372のは374が書いてるように、例えば
x=1
y=1
z=3
と入れただけで誤判定する。アルゴリズムの最低限を割ってるぞ。
372がベストアンサー(笑)だと質問者が思ったなら気の毒なので念のため。
x=1
y=1
z=3
と入れただけで誤判定する。アルゴリズムの最低限を割ってるぞ。
372がベストアンサー(笑)だと質問者が思ったなら気の毒なので念のため。
388デフォルトの名無しさん
2017/09/23(土) 07:50:16.98ID:nAanI8EG そもそも計算量も最少じゃないしな
普通に
最小値 = x
If y < 最小値 Then 最小値 = y
If z < 最小値 Then 最小値 = z
ってやる方がわかりやすい
普通に
最小値 = x
If y < 最小値 Then 最小値 = y
If z < 最小値 Then 最小値 = z
ってやる方がわかりやすい
389デフォルトの名無しさん
2017/09/23(土) 10:07:44.78ID:hX9NlXap うん、ベストアンサーはMin使った方だね。
俺だったら迷わずMin使用する。
同時にMin使わない方法も考える。
配列ループも考えた。
でも、別にIf文使っても良いんじゃない?
そんな目くじらを立てるようなことじゃない。
俺だったら迷わずMin使用する。
同時にMin使わない方法も考える。
配列ループも考えた。
でも、別にIf文使っても良いんじゃない?
そんな目くじらを立てるようなことじゃない。
390デフォルトの名無しさん
2017/09/23(土) 12:22:56.52ID:/uotOgAp >>386が分かってないバカ多すぎw
391デフォルトの名無しさん
2017/09/23(土) 14:36:58.57ID:OMtgmcpv だから372はif elseだとしても最小(計算量的に)の答えにもなってないし、そもそも答えとして間違ってるって話だろ
392デフォルトの名無しさん
2017/09/23(土) 17:06:13.24ID:HTwX+3ra それは勉強する奴と仕事にしてる奴のスタンスの違いだな。
仕事にしてる奴はIfを使わなきゃならないなんてことに遭遇しないから、はなっから抜けてる。
仕事にしてる奴はIfを使わなきゃならないなんてことに遭遇しないから、はなっから抜けてる。
393デフォルトの名無しさん
2017/09/23(土) 23:00:39.63ID:9AVefP05 必ずIfを使う縛りなら>>388がベストアンサー
ソートアルゴリズムの最初の1回目のループを展開してるだけなんだけど、基本中の基本のやり方
ソートアルゴリズムの最初の1回目のループを展開してるだけなんだけど、基本中の基本のやり方
394デフォルトの名無しさん
2017/09/23(土) 23:28:57.04ID:UvR7p8sn395デフォルトの名無しさん
2017/09/23(土) 23:49:29.12ID:9AVefP05 仕様書はちゃんと読んで、条件は無視しちゃいけないよね
396デフォルトの名無しさん
2017/09/24(日) 02:12:05.73ID:3B64fACL 勉強のため何が何でもIfだけで解決しなきゃいけなかったのか、
まだ初心者だからMinという便利な物があることを知らなかったのか
それによって変わってきちゃうからー
まだ初心者だからMinという便利な物があることを知らなかったのか
それによって変わってきちゃうからー
397デフォルトの名無しさん
2017/09/24(日) 08:43:50.06ID:LX+6AD0q398デフォルトの名無しさん
2017/09/24(日) 09:20:40.69ID:SDtHFGLj >>394
分かってねえなあ。
勉強を教える仕事じゃないならユーザーにとって一番使いやすいとか、速度が速いとか、ユーザーが満足するようなものかどうかが大事なのであって、どんなコードじゃなければならないとかの要望は普通無い。
そして、メンテナンス性とかコードの書き方に関してもMinの方が良いとなればそもそもの問い掛け自体仕事で発生することは無い。
そして実際には、何でMinじゃ駄目なのと問い掛けられない奴は仕事の出来ない奴ということになる。
(もちろん明確に理由が有るならIfで書く。)
指示通りにしか作れない奴じゃ単なるコーダって奴になるしかない。
仕事ではMinを使わないなら明確な理由が存在するし、打ち合わせなんかのやり取りで既に意思統一されてる筈だ。
つまり今回の問い掛けのような事態は存在しない。
分かってねえなあ。
勉強を教える仕事じゃないならユーザーにとって一番使いやすいとか、速度が速いとか、ユーザーが満足するようなものかどうかが大事なのであって、どんなコードじゃなければならないとかの要望は普通無い。
そして、メンテナンス性とかコードの書き方に関してもMinの方が良いとなればそもそもの問い掛け自体仕事で発生することは無い。
そして実際には、何でMinじゃ駄目なのと問い掛けられない奴は仕事の出来ない奴ということになる。
(もちろん明確に理由が有るならIfで書く。)
指示通りにしか作れない奴じゃ単なるコーダって奴になるしかない。
仕事ではMinを使わないなら明確な理由が存在するし、打ち合わせなんかのやり取りで既に意思統一されてる筈だ。
つまり今回の問い掛けのような事態は存在しない。
399デフォルトの名無しさん
2017/09/24(日) 10:07:44.74ID:lViLIhLn >>393
だな、簡素で分かりやすく奇麗なコードだ
だな、簡素で分かりやすく奇麗なコードだ
400デフォルトの名無しさん
2017/09/24(日) 15:00:43.73ID:3BjqQEbI401デフォルトの名無しさん
2017/09/24(日) 16:46:42.97ID:jWeMnfEt >>400
仕事をしたことの無い奴には分かるまいw
仕事をしたことの無い奴には分かるまいw
402デフォルトの名無しさん
2017/11/08(水) 05:55:55.96ID:mrDDFdOE こっちを再利用?
403デフォルトの名無しさん
2017/11/08(水) 09:41:10.42ID:VRSOCYqC 再利用したいけどExcelの話をしたいときに困るのかな
404デフォルトの名無しさん
2017/11/08(水) 10:15:34.15ID:6WBHyYXn そのうち立つんじゃね
405デフォルトの名無しさん
2017/11/08(水) 11:10:32.82ID:JKxKdsR3 「Excelの話」したいんだったら総合相談所でやれ
406デフォルトの名無しさん
2017/11/08(水) 11:59:42.12ID:VRSOCYqC なるほどなるほど
407デフォルトの名無しさん
2017/11/08(水) 12:50:47.32ID:+KUB1/9h 早速質問
今vbaでマップ使って
とある表の集計を行なっております
一つのkeyに対しアイテムが複数あるので
配列で入れようと思ったのですがうまくいきません
何か良い方法はありませんか?
今vbaでマップ使って
とある表の集計を行なっております
一つのkeyに対しアイテムが複数あるので
配列で入れようと思ったのですがうまくいきません
何か良い方法はありませんか?
408デフォルトの名無しさん
2017/11/08(水) 16:45:58.99ID:pE/cp7rq もう少し具体的にどうぞ
409デフォルトの名無しさん
2017/11/08(水) 21:23:36.05ID:+KUB1/9h410デフォルトの名無しさん
2017/11/08(水) 21:28:10.43ID:aQlO1Uq5 >>409
エクセルならピボットテーブルでいいんじゃない?
エクセルならピボットテーブルでいいんじゃない?
411デフォルトの名無しさん
2017/11/08(水) 21:32:09.19ID:+KUB1/9h >>410
自動で計算させるんだよ
自動で計算させるんだよ
412デフォルトの名無しさん
2017/11/08(水) 21:33:56.61ID:aQlO1Uq5 >>411
ピボットテーブルをvbaで作ればいい
ピボットテーブルをvbaで作ればいい
413デフォルトの名無しさん
2017/11/08(水) 21:38:43.05ID:vt31E4Mm エスパーじゃないんだから、もっと具体的に説明しないと、何がしたくて何ができないのか判んないよ。
そして多分だけど普通にifで分岐するプログラムを書くだけだと思う。
そして多分だけど普通にifで分岐するプログラムを書くだけだと思う。
414デフォルトの名無しさん
2017/11/08(水) 21:40:37.09ID:0sSRKP/b いや多分forでループするプログラムを書くだけだと思う
415デフォルトの名無しさん
2017/11/08(水) 22:38:17.07ID:+KUB1/9h データシート
キー 金額a 金額b
1 10 20
2 20 50
1 30 90
結果(期待)
キー 金額a 金額b
1 40 110
2 20 50
上のような感じのシートがあって
集計かけたり
平均とったり
最大値だったりしたい
キー 金額a 金額b
1 10 20
2 20 50
1 30 90
結果(期待)
キー 金額a 金額b
1 40 110
2 20 50
上のような感じのシートがあって
集計かけたり
平均とったり
最大値だったりしたい
416デフォルトの名無しさん
2017/11/08(水) 23:08:47.37ID:aQlO1Uq5417デフォルトの名無しさん
2017/11/08(水) 23:25:51.57ID:0sSRKP/b そのくらいの事を自分でできないから質問してんだろ
そのくらいの事を理解できないなら質問スレに来ない方がいいのに
そのくらいの事を理解できないなら質問スレに来ない方がいいのに
418デフォルトの名無しさん
2017/11/08(水) 23:38:17.91ID:aQlO1Uq5 そのくらいの事も判らない人にも実現できる方法を提案してるだろ
419デフォルトの名無しさん
2017/11/09(木) 00:17:55.65ID:hDRDp7cw https://i.imgur.com/wtkTdlA.png
上のように各列の情報に応じて、一定の条件にヒットしたら評価欄に追記、ということをしているのですが、
上手い書き方が思いつかず、冗長で読みにくいコードになってしまいます
https://i.imgur.com/cE0kOho.png
どうすれば綺麗で読みやすいコードになるでしょうか?
特に、変数(ここでは「評価」)の参照先のセルに書き込みつつ、変数の値自体も更新するスマートな方法と
If文で2つの条件が当てはまった場合に両方の処理を実行させる(ここでは40点以下と60点未満のIf文を一つで済ませるとか)方法があれば知りたいです
上のように各列の情報に応じて、一定の条件にヒットしたら評価欄に追記、ということをしているのですが、
上手い書き方が思いつかず、冗長で読みにくいコードになってしまいます
https://i.imgur.com/cE0kOho.png
どうすれば綺麗で読みやすいコードになるでしょうか?
特に、変数(ここでは「評価」)の参照先のセルに書き込みつつ、変数の値自体も更新するスマートな方法と
If文で2つの条件が当てはまった場合に両方の処理を実行させる(ここでは40点以下と60点未満のIf文を一つで済ませるとか)方法があれば知りたいです
420デフォルトの名無しさん
2017/11/09(木) 03:11:02.61ID: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を並べる今の書き方で別に悪くない
配列を使え
あとソースを読んだり修正したりやりにくいから画像にせずそのままテキストとして貼ってくれ
科目 = 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:48.02ID:m3IDSHjM ありがとうございます、やってみます
(コードは行数制限とインデントが反映されなかったのでつい画像に…すみません)
(コードは行数制限とインデントが反映されなかったのでつい画像に…すみません)
422デフォルトの名無しさん
2017/11/10(金) 08:15:39.86ID:vvDXnBRS オートフィルの連続データでA1が0なら終わりでそれ以外なら下にオートフィルの連続データを追加して行くってどうやればいい?
423デフォルトの名無しさん
2017/11/10(金) 08:52:12.12ID:EDTrdPIL 何をどこまで追加すんの?
424デフォルトの名無しさん
2017/11/10(金) 09:18:59.30ID:vvDXnBRS 下に一つオートフィルの連続データを追加してもしもその数が0以外ならばその下に一つづつ追加してもし0になったら終わるってことです
オートフィルの連続データまでは成功しました!
オートフィルの連続データまでは成功しました!
425デフォルトの名無しさん
2017/11/10(金) 12:58:08.94ID:MIqJX5DT426デフォルトの名無しさん
2017/11/10(金) 22:07:12.41ID:KbRkXeO5 何をどーしたいのかよーわからんが、
オートフィルの連続データが完成したならDo While Loopでも使えばいいんじゃね
オートフィルの連続データが完成したならDo While Loopでも使えばいいんじゃね
427デフォルトの名無しさん
2017/11/11(土) 10:59:01.85ID:t1iacSS7 そうですね連続データと探す作業分けてDo until使ってみたら目的は達成できました ありがとございます
428デフォルトの名無しさん
2017/11/16(木) 11:42:09.40ID:DcGHOE5h 漠然とした質問で申し訳ない
コレクションというのがあるけど、その利点というかこういう場合に使うとかという
のを教えてくれないだろうか。配列は動的配列も含めてよく使うけどコレクション
というのはあるのは知ってるけどどういう場合に使うものなのか判らない。
(まぁそれでも何とかなってるということは今の時点ではそれでも問題ないって
ことでもあるんだけど)
コレクションというのがあるけど、その利点というかこういう場合に使うとかという
のを教えてくれないだろうか。配列は動的配列も含めてよく使うけどコレクション
というのはあるのは知ってるけどどういう場合に使うものなのか判らない。
(まぁそれでも何とかなってるということは今の時点ではそれでも問題ないって
ことでもあるんだけど)
429デフォルトの名無しさん
2017/11/16(木) 12:38:12.83ID:Xd3mhum+ >>428
Dictinonaryだとキーが重複してたらエラーになるから
重複させたくない場合は便利だと思う
あと既にそのキーが登録してあるか調べるメソッドがあるから便利
配列でも実現出来るけど生産性の問題だと思う
Dictinonaryだとキーが重複してたらエラーになるから
重複させたくない場合は便利だと思う
あと既にそのキーが登録してあるか調べるメソッドがあるから便利
配列でも実現出来るけど生産性の問題だと思う
430デフォルトの名無しさん
2017/11/16(木) 12:40:16.53ID:+IKZz2Nz >>428
Excelならコレクションは知らないうちに必ず使ってるから心配しなくてもいい
オブジェクトを複数まとめた物がコレクションで、例えばワークシートオブジェクトをまとめた物もコレクションの一種
新規ブックを作るとワークシートが3枚あるじゃろ?それがもう既にコレクションなんだわ
名前をよく見ると「Worksheets」って複数形になっとるじゃろ?これが「複数まとめた」コレクションを示しておるのじゃ
Excelならコレクションは知らないうちに必ず使ってるから心配しなくてもいい
オブジェクトを複数まとめた物がコレクションで、例えばワークシートオブジェクトをまとめた物もコレクションの一種
新規ブックを作るとワークシートが3枚あるじゃろ?それがもう既にコレクションなんだわ
名前をよく見ると「Worksheets」って複数形になっとるじゃろ?これが「複数まとめた」コレクションを示しておるのじゃ
431デフォルトの名無しさん
2017/11/16(木) 16:08:34.06ID:mcjOn36E >>428
コレクションの便利さを実感できるのは、For Each 〜 Nextとか
コレクションの便利さを実感できるのは、For Each 〜 Nextとか
432デフォルトの名無しさん
2017/11/16(木) 17:01:22.70ID:yjV64GpF For Each
配列でも使えるけどね
配列でも使えるけどね
433デフォルトの名無しさん
2017/11/16(木) 19:57:40.06ID:NwFToy+4 広い意味では配列もコレクション
元質問のコレクションが何指してるか質問からは分からん
元質問のコレクションが何指してるか質問からは分からん
434デフォルトの名無しさん
2017/11/16(木) 22:05:24.15ID:CQAbf3aD435428
2017/11/17(金) 16:52:50.63ID:wkN6jGAZ 気付かないうちにコレクションを使ってたってのは、あぁそうなのかって感じですけど
>元質問のコレクションが何指してるか
思い浮かべてんのは連想配列とかディクショナリとかってやつですかね。
ディクショナリが重複チェックにも使えるってのは知りましたが。
今現在動かしているのをディクショナリに変えて見ようかなとと思ってます。
どちらにしろ自分で判らないことにはすすまんので。
後、曖昧模糊とした質問に答えてくれた皆さん、ありがとう
>元質問のコレクションが何指してるか
思い浮かべてんのは連想配列とかディクショナリとかってやつですかね。
ディクショナリが重複チェックにも使えるってのは知りましたが。
今現在動かしているのをディクショナリに変えて見ようかなとと思ってます。
どちらにしろ自分で判らないことにはすすまんので。
後、曖昧模糊とした質問に答えてくれた皆さん、ありがとう
436デフォルトの名無しさん
2017/11/17(金) 18:29:39.77ID:71HLXjvB 連想配列は配列と言いながら実体はコレクション
437デフォルトの名無しさん
2017/11/18(土) 09:55:58.36ID:8LVfn2cG 配列数の制御がめんどいし
個々のデータ型も合わせんでいいし
個々のデータ型も合わせんでいいし
438デフォルトの名無しさん
2017/11/19(日) 20:25:41.56ID:TCtIBT5G 感覚的な話になるけど、例えばA列、B列、C列には○と×が入っててD列には何かの名前が入ってる時に、A、B、Cの組み合わせが×、○、○の時のD列の名前を表示したいとするわな。
こういう場合は一行ずつ見て行って×、○、○の組を探すわな。
こういう場合はFor Next使うわな。
つまり普通の配列が感覚に合う。
一方、A1:F100の範囲の各セルで1つだけ○、他は全て×の時に○のアドレスを知りたいなんて時には見つかるまで全てチェックすれば良いわけで、どう見ていくかなんて関係無いわな。
こういう場合はFor Each Next使うわな。
つまり連想配列が感覚に合う。
こういう場合は一行ずつ見て行って×、○、○の組を探すわな。
こういう場合はFor Next使うわな。
つまり普通の配列が感覚に合う。
一方、A1:F100の範囲の各セルで1つだけ○、他は全て×の時に○のアドレスを知りたいなんて時には見つかるまで全てチェックすれば良いわけで、どう見ていくかなんて関係無いわな。
こういう場合はFor Each Next使うわな。
つまり連想配列が感覚に合う。
439デフォルトの名無しさん
2017/11/19(日) 22:00:10.14ID:jY4FOG+m >>438
そんなもん普通はvlookup使うわな。
そんなもん普通はvlookup使うわな。
440デフォルトの名無しさん
2017/11/20(月) 09:52:50.14ID:6BLE5ZLY >>439
ばーか。
感覚を例として挙げてることが分からないバカは黙ってろ。
もっと上手い方法があるだろうことは最初から分かってる。
順番を意識しないIteratorの感覚を説明してる。
コレクションにだって順番は実際はある。
しかしそれを意識しないような場合にぴったりということだ。
ばーか。
感覚を例として挙げてることが分からないバカは黙ってろ。
もっと上手い方法があるだろうことは最初から分かってる。
順番を意識しないIteratorの感覚を説明してる。
コレクションにだって順番は実際はある。
しかしそれを意識しないような場合にぴったりということだ。
441デフォルトの名無しさん
2017/11/20(月) 11:39:33.25ID:VyTKZ5qI ああ言えばこういうわな
442デフォルトの名無しさん
2017/11/20(月) 19:55:38.19ID:9xFKx2hL 他人の回答の批判とかするほうがおかしいね
質問に対して自分の考えで回答すればいいのに
質問に対して自分の考えで回答すればいいのに
443デフォルトの名無しさん
2017/11/20(月) 20:06:38.53ID:Pkea+7u9 適当に批判してやらなきゃお前ら好き勝手に質問と関係ない事ばかり言うじゃん
批判してくれる奴に感謝しろよw
批判してくれる奴に感謝しろよw
444デフォルトの名無しさん
2017/11/20(月) 22:04:34.15ID:9xFKx2hL 質問と関係ないこと言ってもいいと思うけどなんでそれが駄目なのかな?
445デフォルトの名無しさん
2017/11/20(月) 22:24:58.18ID:Pkea+7u9446デフォルトの名無しさん
2017/11/20(月) 23:53:15.67ID:9xFKx2hL >>445
感謝しろよ
感謝しろよ
447デフォルトの名無しさん
2017/11/29(水) 12:35:10.96ID:rUGEU7g7 ドカタ仕事の憂さ晴らしをここでやるのはやめてほしいと思うのです
汚い言葉を使うのは本人は無頼漢的にイケてるつもりかもしれないけど
側から見ると貧乏くさいのです
汚い言葉を使うのは本人は無頼漢的にイケてるつもりかもしれないけど
側から見ると貧乏くさいのです
448デフォルトの名無しさん
2017/11/29(水) 15:23:49.10ID:3jZS2ju5 のです
449デフォルトの名無しさん
2017/11/30(木) 12:22:49.90ID:xlQjmi4Q accessの条件付き書式について質問です。
FormatConditions.Add(acExpression,,
の後の式は変数を展開してくれないでしょうか?
また、関数の呼び出しも出来ないでしょうか?
例えばmonth関数は呼び出して戻り値が得られるのですが、自作関数だと呼び出せなくて困っています。
FormatConditions.Add(acExpression,,
の後の式は変数を展開してくれないでしょうか?
また、関数の呼び出しも出来ないでしょうか?
例えばmonth関数は呼び出して戻り値が得られるのですが、自作関数だと呼び出せなくて困っています。
450449
2017/11/30(木) 21:43:31.97ID:xlQjmi4Q 解決しました。関数使えますね。変数はまだ試していませんが、たぶんダメでしょうね。
451デフォルトの名無しさん
2017/12/01(金) 18:18:22.33ID:pnEu13zx Includeのようなことはできないでしょうか?
参照設定ではありません。
現在、ユーティリティ関数を集めたxlamファイルがあるのですが、中身が膨れ上がってきました。
機能単位でファイルを分割したいのですが、
そうすると今まで参照設定でutility.xlam1つで済んでいたのが、
utility_picture.xlam
utility_text.xlam
utility_workSheet.xlam ...
と、いくつも参照しなくてはならなくなります。
utility_xxx.xlamをすべてインクルードした1つのファイルを作り、
それを参照すればすべて使える、というようにしたいのです。
こういうことはできるでしょうか。
参照設定ではありません。
現在、ユーティリティ関数を集めたxlamファイルがあるのですが、中身が膨れ上がってきました。
機能単位でファイルを分割したいのですが、
そうすると今まで参照設定でutility.xlam1つで済んでいたのが、
utility_picture.xlam
utility_text.xlam
utility_workSheet.xlam ...
と、いくつも参照しなくてはならなくなります。
utility_xxx.xlamをすべてインクルードした1つのファイルを作り、
それを参照すればすべて使える、というようにしたいのです。
こういうことはできるでしょうか。
452デフォルトの名無しさん
2017/12/01(金) 18:51:00.09ID:eRljVU/z 似たようなことはできるんじゃね
453デフォルトの名無しさん
2017/12/01(金) 19:38:52.29ID:xB5YUWoV454デフォルトの名無しさん
2017/12/01(金) 19:54:29.89ID:WVxyYcg9 なんでも詰めこめばいくらでも大きくなるだろw
どんだけ貧困なイメージ力だよw
どんだけ貧困なイメージ力だよw
455デフォルトの名無しさん
2017/12/01(金) 22:49:56.60ID:kRHH2X4z なんでも詰め込んで大きくなったならダイエットしろというアドバイスになるだろw
456デフォルトの名無しさん
2017/12/02(土) 00:01:54.31ID:ab3YxIeg ダイエットするとチンコも細くなるんじゃね
457デフォルトの名無しさん
2017/12/02(土) 00:51:50.91ID:aL/u+cy3 >>451
そういう運用は良いのかという問題がある。
それぞれのアドインがバッティングしないのなら、そもそもアドイン1つに纏めるべきじゃね?
カテゴリが別だからとか色々理由が有るんだろうけど、その理由がそのままいくつも参照すべきという理由になるだろ。
アドインを1つに纏めるべきかいくつも参照すべきのどちらかじゃね?
そういう運用は良いのかという問題がある。
それぞれのアドインがバッティングしないのなら、そもそもアドイン1つに纏めるべきじゃね?
カテゴリが別だからとか色々理由が有るんだろうけど、その理由がそのままいくつも参照すべきという理由になるだろ。
アドインを1つに纏めるべきかいくつも参照すべきのどちらかじゃね?
458デフォルトの名無しさん
2017/12/02(土) 10:54:25.96ID:7He58R5A >>457
・プロジェクトエクスプローラが縦に長くなりすぎて使いづらい。
・巨大なクラスになるとfacadeパターンを使って分割しているのですが、
その際に処理を委譲するクラス名にxxx_reader, xxx_outputter等つけています。
ファイルを分けられれば単にreader, outputterで済むのですっきりさせたい。
この辺が分けたい理由です。
触るのが久しぶりだったので忘れていたのですが、a→b→cで参照が連鎖している場合、
a→cの参照がないとaからcの関数を呼び出せないだけで、プログラム自体は動くんですね。
いくつも参照でやってみようと思います。
>>453
単一目的のマクロ(そのutilityを呼び出す側)はそれほど大きくならないのですが、
画像操作、データシート処理のラッパー、デバッグ機能など
汎用的に使える機能をutility一つにまとめて行ったら大きくなってしまいました。
この辺を別ファイルにしようと思っています。
・プロジェクトエクスプローラが縦に長くなりすぎて使いづらい。
・巨大なクラスになるとfacadeパターンを使って分割しているのですが、
その際に処理を委譲するクラス名にxxx_reader, xxx_outputter等つけています。
ファイルを分けられれば単にreader, outputterで済むのですっきりさせたい。
この辺が分けたい理由です。
触るのが久しぶりだったので忘れていたのですが、a→b→cで参照が連鎖している場合、
a→cの参照がないとaからcの関数を呼び出せないだけで、プログラム自体は動くんですね。
いくつも参照でやってみようと思います。
>>453
単一目的のマクロ(そのutilityを呼び出す側)はそれほど大きくならないのですが、
画像操作、データシート処理のラッパー、デバッグ機能など
汎用的に使える機能をutility一つにまとめて行ったら大きくなってしまいました。
この辺を別ファイルにしようと思っています。
459デフォルトの名無しさん
2017/12/02(土) 12:26:31.44ID:zSxtsSJv どうせ使う時は全部必要なんだろw
無駄なことすんなw
無駄なことすんなw
460デフォルトの名無しさん
2017/12/02(土) 13:17:30.17ID:7He58R5A 使うときは割と全部必要ですが、細かく分かれていないと
機能追加やリファクタリングが面倒なんですよ。
モジュールをディレクトリ分けしてツリー構造にするような
ことができれば一番いいんですが。
機能追加やリファクタリングが面倒なんですよ。
モジュールをディレクトリ分けしてツリー構造にするような
ことができれば一番いいんですが。
461デフォルトの名無しさん
2017/12/03(日) 00:26:04.64ID:R5bnWQiD 出来るかどうか知らんが
親のユーティリティで子を自動的に参照設定すればいいんじゃね
たしか参照設定もVBAからいじれたはず
親のユーティリティで子を自動的に参照設定すればいいんじゃね
たしか参照設定もVBAからいじれたはず
462デフォルトの名無しさん
2017/12/07(木) 12:49:30.75ID:C5q9p8Fb ほまは
463デフォルトの名無しさん
2017/12/09(土) 18:42:21.44ID: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に既に設定したいアドレスがあった場合は追加処理をしないというプログラムを追加したいです
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に既に設定したいアドレスがあった場合は追加処理をしないというプログラムを追加したいです
464デフォルトの名無しさん
2017/12/09(土) 22:22:36.98ID:kQB3PqQK >>463
変数objMeを宣言している行の直前に以下の処理を追加
Item.BCCプロパティに設定されている文字列を取得して、その中にdomonなんたらっていうアドレスが含まれているかどうかをInStr関数で調べる
含まれていたらExit Sub
変数objMeを宣言している行の直前に以下の処理を追加
Item.BCCプロパティに設定されている文字列を取得して、その中にdomonなんたらっていうアドレスが含まれているかどうかをInStr関数で調べる
含まれていたらExit Sub
465デフォルトの名無しさん
2017/12/10(日) 10:15:21.59ID:DS9ojUbh ありがとうございます
間違えてメールアドレスそのまま載せてしまいました
やってしまった…
もう一度頑張ってみます
間違えてメールアドレスそのまま載せてしまいました
やってしまった…
もう一度頑張ってみます
466デフォルトの名無しさん
2017/12/16(土) 05:30:44.06ID:LzUTFJWj 滅入るよね
467デフォルトの名無しさん
2017/12/18(月) 22:21:50.88ID:gUtmU3pD Excelに「Python」搭載検討 Microsoftがアンケート実施中
https://headlines.yahoo.co.jp/hl?a=20171218-00000045-zdn_n-sci
Python知らんけど余計なことすんなボケ
https://headlines.yahoo.co.jp/hl?a=20171218-00000045-zdn_n-sci
Python知らんけど余計なことすんなボケ
468デフォルトの名無しさん
2017/12/19(火) 07:02:00.39ID:hrV3NPqq VBAとPythonが併用できるのかな?
前例あるの?
前例あるの?
469デフォルトの名無しさん
2017/12/19(火) 08:02:47.16ID:QIKPQsgo 一営利企業の一製品に過ぎませんから
470デフォルトの名無しさん
2017/12/27(水) 06:37:14.56ID:LSGNQ/gQ ざんねん!
471デフォルトの名無しさん
2017/12/27(水) 11:51:23.41ID:3pB/qkZc python入る言うてもどのバージョンかとかライブラリかとかアップデートはするのかとか色々課題あるだろ
472デフォルトの名無しさん
2018/01/25(木) 12:20:39.14ID:HAPJI9RJ 質問なのですが、別表の項目から他の表の項目(セルの位置)にデータを飛ばしたいんですが、できますか?
473デフォルトの名無しさん
2018/01/25(木) 12:55:31.94ID:MSU0yE0z できます。
474デフォルトの名無しさん
2018/01/25(木) 13:07:55.93ID:HAPJI9RJ ご教授ねがいたいのですが
475デフォルトの名無しさん
2018/01/25(木) 13:19:32.33ID:Hqq1J0vI ×ご教授
○ご教示
あと、見も知らぬ他人にタダで教えてもらうんならそれ相応の作法は必要じゃないのって、端で見てて思う
○ご教示
あと、見も知らぬ他人にタダで教えてもらうんならそれ相応の作法は必要じゃないのって、端で見てて思う
476デフォルトの名無しさん
2018/01/25(木) 13:38:48.56ID:ULmYwE81 >>472
もっと具体的にどんなのが作りたいか書いてもらわないと難しいです。
5列目を変更した時に同じシートの1列目を選択するようにしたい、とか。
あるいは、別のシートのA1セルを選択したいとか。
飛ばすといっても、そのタイミングが変更した時なのか、選択したときなのか、特定の数値が入ったときなのか。
もっと具体的にどんなのが作りたいか書いてもらわないと難しいです。
5列目を変更した時に同じシートの1列目を選択するようにしたい、とか。
あるいは、別のシートのA1セルを選択したいとか。
飛ばすといっても、そのタイミングが変更した時なのか、選択したときなのか、特定の数値が入ったときなのか。
477デフォルトの名無しさん
2018/01/25(木) 14:35:16.74ID:HAPJI9RJ こんな感じの表Aがあって、似たような表Bが別シートにあるんですけど、
表Aのセルの色を付けると同時にB表のセルのイロを変える
または、セルの文字も一緒に持ってくる
できますか?
https://i.imgur.com/u3mc1ot.jpg
表Aのセルの色を付けると同時にB表のセルのイロを変える
または、セルの文字も一緒に持ってくる
できますか?
https://i.imgur.com/u3mc1ot.jpg
478デフォルトの名無しさん
2018/01/25(木) 14:36:19.20ID:HAPJI9RJ すいません、よろしくおねがいします
479デフォルトの名無しさん
2018/01/25(木) 16:44:16.87ID:WTDPcIn+ できるけど、コード教えてもらって、それを標準モジュールなり、sheet1モジュールなりに書き写せます?
それを使いやすいように改良できます?
それを使いやすいように改良できます?
480デフォルトの名無しさん
2018/01/25(木) 17:08:48.29ID:WTDPcIn+ できるって書いたけど、色を変えるのをイベントにするのは無理だから、マクロをボタンに登録するか、何かほかのイベントに割り当てるかしないとダメだわ。
481デフォルトの名無しさん
2018/01/25(木) 17:26:04.37ID:HAPJI9RJ 書き写しくらいはできます!
482デフォルトの名無しさん
2018/01/25(木) 18:45:37.13ID:/25QAGMM >>477
RaiseEventを使う
RaiseEventを使う
483デフォルトの名無しさん
2018/01/25(木) 19:01:57.40ID:KaDWqQ6/ >>482
お忙しいのにみなさんありがとうございます
ちょっと詳しく説明すると、こんな感じです
左のsheetの表は一項目につき3段、その3段目の情報で仮にA,Bが記載されてある色つきのセルの情報のみを抜き出し、右にある別sheetの表に反映させたいのです
分かりづらかったらすいません
どのように組めば行けるのか、詳しく教えて頂くとありがたいです
https://i.imgur.com/M5bti06.jpg
お忙しいのにみなさんありがとうございます
ちょっと詳しく説明すると、こんな感じです
左のsheetの表は一項目につき3段、その3段目の情報で仮にA,Bが記載されてある色つきのセルの情報のみを抜き出し、右にある別sheetの表に反映させたいのです
分かりづらかったらすいません
どのように組めば行けるのか、詳しく教えて頂くとありがたいです
https://i.imgur.com/M5bti06.jpg
484デフォルトの名無しさん
2018/01/26(金) 08:27:26.24ID:zry4uQ/L 指1本で核ボタン押せる
485デフォルトの名無しさん
2018/01/26(金) 08:28:00.51ID:zry4uQ/L >>484
スマン激しく誤爆
スマン激しく誤爆
486デフォルトの名無しさん
2018/01/26(金) 09:48:49.15ID: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
御貴兄たち、何卒添削お願いします。変数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
487デフォルトの名無しさん
2018/01/26(金) 10:05:41.40ID:cX+GX3c5 これ色付き以外のセルにも文字列は入ってるんだよな?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 小川彩佳アナ「高市総理はここまで影響が出ることを想像して発言したんでしょうか」高市ソルジャー「!!!!(シュババババ)」 [931948549]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
