Excel VBA質問スレ Part6 at TECH
[2ch|▼Menu]
[前50を表示]
650:デフォルトの名無しさん
08/05/05 01:20:27
ソルバーかなーとおもったけど、親子の数がセットで移動させないと
いけない、という制約をどう実装すればいいのか思いつかない

651:デフォルトの名無しさん
08/05/05 01:35:24
答えは複数ある可能性あり。Mが大きいと、答えが異常に多かったりする。念のため。





652:デフォルトの名無しさん
08/05/05 02:17:12
てか、勝手に家族離散させるな

653:デフォルトの名無しさん
08/05/05 13:29:12
組み合わせ最適化はおもしろい問題だけど、Excel使ってる人が現実に解かなければならない場面はほとんどないだろう。
ホテル選びの例題だって実際にはあり得ない人工的な状況設定だし。


654:デフォルトの名無しさん
08/05/05 13:37:51
そしていざ解かなければならないとしても規模が小さければソルバーで解けてしまう。
それじゃソルバーで解けない場合はどうするのか?
VBAで組むのだろうか?
>>630はどうするつもり?

655:デフォルトの名無しさん
08/05/05 15:05:10
>>652
ふいた

656:デフォルトの名無しさん
08/05/05 15:59:27
>>653
>Excel使ってる人が現実に解かなければならない場面はほとんどないだろう。
その考え方は殆どExcelをExcelとして使っていないから出てくる考え方だな
まぁいい。本来Excelなどをまともに使いこなせるのは200年以上の人生経験(☆比喩)
が必要な世界だからな。
Excelは RDBというリアルタイム志向でアブソリュートな情報の作成ツール
を補佐するツールとして使えばいい。
>>630の問題で言えば、
最小コストと最大コストの推測、コストの分布の概略を掴む。(これを完全にやるのは
まぁ無理だろう)
これにより価格体系や家族構成に問題があるかないかを推測し、交渉する材料とかに
するわけだ。
価格体系や家族構成の分布が悪いと、家族間や家族対ホテルで殺し合いが発生して
双方共に絶滅する可能性すらあるからな。
双方を双方の価値観を厳格に固執する態度じゃリアルタイムには問題は解決しないという
前提に立つのが賢い。

657:デフォルトの名無しさん
08/05/05 16:21:20
>>656
例えば客の家族構成に問題がある場合はどのような解決手段がある?

658:デフォルトの名無しさん
08/05/05 16:34:31
>>656
君が組み合わせ最適化問題に興味を持っているのはわかった。
そして今の今までそれを専門家向けのソートと呼んでいたこともわかった。


659:デフォルトの名無しさん
08/05/05 16:37:43
パソコンなんだから全通り計算させたらしまいだろ

660:デフォルトの名無しさん
08/05/05 16:43:37
>>439>>443>>455>>549>>606>>630>>656

661:デフォルトの名無しさん
08/05/05 17:22:14
>>656
>最小コストと最大コストの推測、コストの分布の概略を掴む。

最適化手法からそのような結果は出てこない。

662:デフォルトの名無しさん
08/05/05 17:24:43
>>659
基本的にはその通りなんだが、けっこう大変なんだぞ。


663:デフォルトの名無しさん
08/05/05 17:43:23
>>658
組み合わせ最適化問題はどこにでも付きまとう問題で
>>630のような問題は、その一つの例
興味を持たないで済ませられる人は余り居ない。

抽象化したら同じになるけど、問題が余りに広範なんで、
問題毎に使える手法に制限に色々とバリエーションが
出てくるので、問題毎に専門分野を作ってる
抽象化すれば>>630に類する問題をまともに扱っている
人はその道の専門家でいいんじゃないの?
そもそも一般人と専門家って両立する概念なんだから。

664:デフォルトの名無しさん
08/05/05 17:51:15
>>630と似たような感じの問題で、数理計画とか線形計画、GAの専門家なら聞いたことあるが、
ソートの専門家ってのは聞いたことないな。

665:デフォルトの名無しさん
08/05/05 17:52:19
>>663
組み合わせ最適化問題を解くことは非常に有益だし、興味ももっています。
しかし考えてみてください。>>630書いてるやつは>>443なんですよ。


666:側近中の側近 ◆0351148456
08/05/05 18:08:01
(っ´▽`)っ
テーブルを作って、その直積(デカルト積)を求めて、
ソートすればいいのでは?

とレスをあまり読まずに言ってみましたが何か?

667:デフォルトの名無しさん
08/05/05 18:10:05
>>666
もう少しじっくり読んでくれ。
とりあえず>>443から順番に。


668:デフォルトの名無しさん
08/05/05 18:17:55

>>439>>443>>455>>549>>606>>630>>656とか

なんか全部>>443が書いたみたいに思ってる奴がいるみたいだが
ここじゃ皆「デフォールトの名無しさん」だろ?
>>439!=455とか
書いたところで無意味だし...

ねぇ>>667 =? >>439

669:デフォルトの名無しさん
08/05/05 18:23:38
>>668
>>667だが>>439ではないよ。

>>439>>443>>455>>549>>606>>630>>656
この中で>>439だけは違うやつだと思う。
>>443>>455>>549>>606>>630>>656
こいつらは同じやつだと思う。


670:側近中の側近 ◆0351148456
08/05/05 18:29:13
|▽`)っ
全て(っ´▽`)っの自作自演だったらどうする?
ID無しの板っていいよね☆自作自演し放題で。
|彡☆

671:デフォルトの名無しさん
08/05/05 19:15:32
そんなセンスねーだろよ。

672:側近中の側近 ◆0351148456
08/05/05 19:41:29
>>671
(っ´▽`)っ
ある!
(っ´▽`)っは最高20人同時演出可能。
たまに自分のレスだと忘れて、そのレスにマジレスしてしまうことがある。
自分でも勘違いするぐらい、騙されるぐらい自演が美味い。。

673:デフォルトの名無しさん
08/05/05 19:50:21
頭の壊れた奴が住み着いてすっかりスレが腐ってしまった

674:デフォルトの名無しさん
08/05/05 20:14:23
>>673
貴方をはじめ>All except >>443etc の腐ってない新鮮な
頭脳が残っただけが救いだと思おうよ

675:デフォルトの名無しさん
08/05/05 20:21:53
>>674
めでたいやつだな。
複素数の並べ替えはできたのか?

676:デフォルトの名無しさん
08/05/05 20:25:30
ソートの専門家 の検索結果 約 111,000 件中 1 - 10 件目 (0.14 秒)

677:デフォルトの名無しさん
08/05/05 20:32:45
>>674
>>630
ベクトルをグローバルに標準化はできないけど、恣意的に決めればローカルには定義できる。

つまり大小比較できるの?できないの?もっと詳しく説明してほしいな。


678:デフォルトの名無しさん
08/05/05 20:56:58
674と630をどうしても結びつけたい頭の腐った人が居るようでつね

679:デフォルトの名無しさん
08/05/05 21:40:38
>>646 = >>678

680:デフォルトの名無しさん
08/05/05 22:46:09
教えてください。
ブックAに「計1-A」、「計1-B」、「計2-A」、「計2-B」、というシートがあって、

VBAで
「計1」と名をつけた新しいブックを作り、「計1-A」、「計1-B」をそこにコピーする、更に「計2」も同様に・・・

というのを一連の操作で行いたいのですが、
新しいブックの名前をどうつけてやったら良いのか分かりません。
sheets(Array("計1-A", "計1-B", ).CopyではただのBook1に保存されてしまいます。ぜひ名前をつけたいんですが、どうすればよいのでしょう
ご教示願います

681:デフォルトの名無しさん
08/05/05 22:55:02
ファイル名とブック名を別にするのにはどうすればいいでしょうか?

682:デフォルトの名無しさん
08/05/05 23:02:02
>>676
"ソートの専門家"の検索結果 2 件中 1 - 2 件目

両方とも、このスレwww

683:デフォルトの名無しさん
08/05/05 23:12:27
saveas

684:デフォルトの名無しさん
08/05/05 23:17:39
>>682
ソートの専門家は種類が多過ぎてもはや専門家とはみなされてないだけだろ。
昔48種に大分類されたらしいが、その後もでるわでるわバリエーションの山。
分類プロジェクトは頓挫中。
ソートくらい奥深い世界は無いみたいだ。たかがソート、されどソート。

685:デフォルトの名無しさん
08/05/05 23:21:26
NSPを解くのも、ソートの専門家なのか?

686:デフォルトの名無しさん
08/05/05 23:22:05
ソートなんてクイックソート+選択ソートで実装すればまず困る事は無いわ。

687:デフォルトの名無しさん
08/05/05 23:22:56
しっー
そーとしておけ

688:デフォルトの名無しさん
08/05/05 23:23:38
場合によってはバケツソートを使えないようでは
ソートの専門家とは言えない。

689:デフォルトの名無しさん
08/05/05 23:24:52
>>684
もはや何を言いたいのかよくわからんが、今や専門家と看做されてないなら、
「ソートの専門家」じゃないだろ。

690:デフォルトの名無しさん
08/05/05 23:26:10
>>688
え?アルゴリズムが違うと、結果も違うのか?

691:デフォルトの名無しさん
08/05/05 23:28:15
「専門家」なら、バケットソートって言うだろ、JK

692:デフォルトの名無しさん
08/05/05 23:31:28
>>690
これはひどい

693:デフォルトの名無しさん
08/05/05 23:31:52
>>691
専門家はそんなくだらない事より本質を重要視する。

694:デフォルトの名無しさん
08/05/05 23:33:33
いいかげんにしとけよ

695:デフォルトの名無しさん
08/05/05 23:51:17
頭の中をソートしてくれ

696:デフォルトの名無しさん
08/05/05 23:57:40
それはやめといたほうがいい
てか、上げるなよ

697:デフォルトの名無しさん
08/05/06 00:14:14
専門家以前に人としてバルブソートだろ。

698:デフォルトの名無しさん
08/05/06 00:24:42
このスレのレスを、くだらない順にソートせよ

699:デフォルトの名無しさん
08/05/06 00:31:46
専門家がいるのなら本の一冊や二冊出してるだろ

700:デフォルトの名無しさん
08/05/06 01:18:08
ソートの味方くらいでいいんじゃね

701:デフォルトの名無しさん
08/05/06 01:34:47
ソートに味方も敵もあるかよ
番号が付いてる限りソートされていると感じる
脳みそにとってはな

702:デフォルトの名無しさん
08/05/06 11:43:51
グランドシティ大宮イーストタワー グランドシティ大宮イーストタワー グランドシティ大宮イーストタワー
グランドシティ大宮イーストタワー グランドシティ大宮イーストタワー グランドシティ大宮イーストタワー
グランドシティ大宮イーストタワー グランドシティ大宮イーストタワー グランドシティ大宮イーストタワー


703:デフォルトの名無しさん
08/05/06 13:31:48
>>698
>>443>>455>>549>>606>>630>>656

704:デフォルトの名無しさん
08/05/06 14:30:12
近未来と近過去
熱い場所だ
担当者ご苦労さん

705:デフォルトの名無しさん
08/05/06 19:16:16
ここはなんのスレ?

706:デフォルトの名無しさん
08/05/06 20:39:34
ソートの専門家専用スレです。

707:デフォルトの名無しさん
08/05/06 21:37:06
その名はExceler

708:デフォルトの名無しさん
08/05/07 02:11:55
なんで自演とかを気にするんだおまいら?

709:デフォルトの名無しさん
08/05/07 08:26:19
ところで>>630よ。うまくソートできたか?
わしはできたぞ。
正確に言うとソートじゃない。最適な組み合わせを求めたということ。

710:708
08/05/07 09:20:21
>>708
こういうことが起こりうるから

711:デフォルトの名無しさん
08/05/07 11:08:37
M=1000の時でホテル代の価格の組が全部異なり
家族構成も全部異なる場合で実例が出てくるまで
誰も信じないと思う。本当にソートされてるのか
も示せないとな。

712:デフォルトの名無しさん
08/05/07 11:55:25
>>711
M=14まででお願いします。ソルバーの制限で200変数までしか扱えないから。
ただしM=14の時に現実的な時間で解けるかどうかわからないけど。
それからソートと呼ぶのはやめないか?

713:デフォルトの名無しさん
08/05/07 12:40:47
最適組み合わせの問題って、ノーベル賞クラスじゃなかったか?

714:デフォルトの名無しさん
08/05/07 12:49:53
>>713
このスレからノーベル賞受賞者が(・∀・)ワクワク

715:デフォルトの名無しさん
08/05/07 13:13:03
>>709がウソつき扱いされているみたいだな。不思議な話だ。こんなのできて当たり前なのにね。
前から思ってたんだかこのスレに出入りしてるやつら中学生が多いだろ。
レベル低すぎて話にならん。せめて高校出てからデビューしろ。


716:デフォルトの名無しさん
08/05/07 15:16:37
中学生が高校生に、受験の答え教えてくれって頼む、そんな主旨のスレだからだと思う

717:デフォルトの名無しさん
08/05/07 15:22:28
'''八島 良太'''(やしま りょうた、[[1975年]][[11月8日]] - )は[[埼玉県]][[さいたま市]]出身の[[ウィキペディアン]]。
[[ウィキペディア]]でのアカウント名は[[User:Yassie]]、[[2ちゃんねる]]では◆sMt4YbtR06という[[トリップ]]を使用。
Nanassieというコテハンを使っていた時期もある。身長171cm、体重75kg。さいたま市[[大宮区]]在住。独身。
好きな歌手は[[サラ・マクラクラン]]、好きな女優は[[メグ・ライアン]]。

[[User:Aphaia]](本名・木津尚子)や[[User:Mikihisa]]や[[User:NiKe]]や[[User:掃除屋ケンちゃん]]との死闘で知られており、
現在は[[User:Haruno Akiha]]や[[User:WhiteWing]]をウィキペディアから追放すべく策動を続けている。

==経歴==
[[埼玉県立浦和高等学校]]を経て、[[国際基督教大学]][[教養学部]]社会科学科に入学。学部時代は
[[オハイオ州立大学]]に交換留学し、[[経営学]]を専攻。オハイオ州立大学への編入を望み、願書はほぼ完成していたが
アジア経済危機の煽りを受けて学費を工面できなくなり、相思相愛の恋人をアメリカに残したまま、[[1999年]]、日本に帰国。
のちに当時のことを振り返って「精神面は相当荒れてたね」と語った。[[2000年]]に国際基督教大学を卒業して
外資系企業に入社し、[[英語]]を使用した事務的な職務を担当。[[2004年]]、Excel2002VBAスタンダードに合格。
[[2005年]][[12月27日]]から[[ウィキペディア日本語版]]で北米の地理に関する記事を翻訳・投稿。今日に至る。

私生活では、失恋の傷を忘れるため、[[1999年]]から[[ダンスダンスレボリューション|DDR]]に熱中し、
新宿チルコポルトや大宮タイトーインに出没していたが、自惚れの強さと事大主義ゆえに諸方の反感を買い、
2000年頃には撤退を余儀なくされた。

{{people-stub}}

{{DEFAULTSORT:やしま りようた}}
[[Category:インターネットの人物]]
[[Category:埼玉県出身の人物]]
[[Category:デブ]]
[[Category:日本のダンサー]]
[[Category:1975年生]]

718:デフォルトの名無しさん
08/05/07 16:16:48
14*14=196
15*15=225 >200
つまりLPですね。よくできました。

719:麻雀を作りたい
08/05/07 17:48:28
OS:winXP
excel2000

VBA実行中に、ユーザにいったん制御をもどして、シート上の特定範囲のセルをクリック。
そのクリックをトリガーに処理再開。

というような事をしたいのですが、どうすれば実現できるかわかりません。
良い案やヒントないでしょうか・・?

720:デフォルトの名無しさん
08/05/07 18:02:20
セルに対しては通常のクリックは検出できないと思うので、右クリックかダブルクリックのイベントを検出する
どうしてもクリックがよい場合はクリックイベントを検出できるもの(ボタンやシェイプ)を追加する

721:麻雀を作りたい
08/05/07 18:18:07
>>720
コメントありがとうございます。

BeforeDoubleClick
SelectionChange
とかを使えば良いのかなあとは思ってました。

引っかかってるのは、「VBA実行中に、ユーザにいったん制御をもどして」のところなんです。
中断前の変数の状態を保持したまま、いちどユーザに制御を戻して、シート上のセルを(ダブルor右)クリックでVBA再開。

つまり
@自分の番になったら一枚ツモってきて
Aいらいない牌を手牌の中から一枚選択して(シート上のセルをクリックして)、
Bすてる。
ってことをしたいんですね。

@まではVBAで処理して、Aの動作はシート上のセルをクリックすることで選択して、
BからはVBAにまた処理を戻す。

・・・自分の実力じゃ無理かな・・・orz

722:デフォルトの名無しさん
08/05/07 18:40:04
>>721
セルを使わずに、全部ボタンをはっつけてしまったほうが楽なんで内科医?

723:デフォルトの名無しさん
08/05/07 18:51:17
フォームとボタン使えば?

724:麻雀を作りたい
08/05/07 19:20:52
そーですね・・。
cell_雀みたいなの作りたかったですが、あきらめようかな。

725:デフォルトの名無しさん
08/05/07 20:39:11
フォームを作成してデバッグ作業をすると、エラーが出たときにコードが表示されずに
フォーム画面が出るため、どこの行でエラーが起きてるのかわかりません。
解決方法ご教授願います

726:デフォルトの名無しさん
08/05/07 21:32:21
ところで>>630はホテル料金の計算できたのか?
>>656
>その考え方は殆どExcelをExcelとして使っていないから出てくる考え方だな
なんていうくらいだから当然できたんだろうな。

727:デフォルトの名無しさん
08/05/07 22:04:47
>>719
こんなのじゃだめ?

Do While Len(ActiveCell.Value) = 0

DoEvents

Loop

728:デフォルトの名無しさん
08/05/07 23:44:06
Excelツールのテストを自動化したいと考えています。
別Bookのフォーム上のテキストボックスの値を取得する
ことはできますか?
ツール側に関数を作ればできることはわかったのですが、
できればツール側に修正を入れたくないです。
ヒントお願いします。


729:デフォルトの名無しさん
08/05/07 23:56:17
エクセルツールのテストって一般的な言葉?

730:デフォルトの名無しさん
08/05/08 00:09:24
「Excelで作成したツールのテストを自動化したい」だから俺は別に違和感ないけど・・・
んなことより、>>728は無理じゃないのかなぁ?
フォームをキャプチャ→画像解析→テキスト取得とか?ごめん、嘘・・・

731:デフォルトの名無しさん
08/05/08 00:29:24
>>728
>>729
エスパー&エクセル素人

732:デフォルトの名無しさん
08/05/08 00:32:01
728です。レスありがとうございます。
やっぱり無理なんですかね。
そもそも、MsgBoxとかもやっているので、どうやってOK押すかとか前途多難です。
みんな手でテストやってるのかな・・・。


733:デフォルトの名無しさん
08/05/08 03:08:30
>>732
Win32APIを使えば、OKボタンもAPIでクリックできるけど、より良い方法は、
テスト対象のメソッドでダイアログ入力待ちなどが起きないような設計にする。
とはいえ、どこかでMsgBoxを出さざるを得ないだろうから、そこはマニュアルテストとかかな。

734:デフォルトの名無しさん
08/05/08 07:57:19
>>728の説明で回答できる人ってスゴイね
俺にはどっちがツールなのかすら分からないよ

735:デフォルトの名無しさん
08/05/08 08:30:10
そんなに誉めるなよ

736:デフォルトの名無しさん
08/05/08 16:11:05
いや実際、配列とか定数とか何に使うの?とか思ってる俺からしたら紙だ。

737:デフォルトの名無しさん
08/05/09 13:03:03
モジュールの自動削除って出来るもの?


738:デフォルトの名無しさん
08/05/09 14:48:45
自分は今セルをクリックしたら別のエリアに多行表示できるようにしたいと考えて。
例にすると


セルをクリックしたら、そのセルについたコメント(7~8行ぐらい)の内容を
A15に22R X 7C以上の範囲にそのコメント内容を載せる という物を作ろうとしてるのですが
全く、できず困ってます。

こういうのは可能でしょうか?


739:デフォルトの名無しさん
08/05/09 17:20:23
セルに表示されないデータを埋めこむってこと?ソートとかかかったらどうなるんだろ?ってかできるの?

740:デフォルトの名無しさん
08/05/09 18:57:46
>>737
出来る

>>738
可能

>>739
「セルのコメント」だろ

741:デフォルトの名無しさん
08/05/09 22:52:31
ごめん、俺が今やりたいことを言ってしまった。で、できるの?3文字でいいからヒントください。

742:デフォルトの名無しさん
08/05/09 23:37:18
>>741
でき




743:デフォルトの名無しさん
08/05/09 23:39:06
どっちだよ?
>>737 URLリンク(www.cpearson.com)
>>738 range.comment, range.notetext

744:デフォルトの名無しさん
08/05/09 23:58:10
並べ替えた後、セルを特定することは普通可能
それはソート前にセル探すのとどう違うんだ
と言うか、出来るように設定しておけばいいだけでわ

745:デフォルトの名無しさん
08/05/10 08:30:40
マクロにパスワードつけて触れないようにしたい。
どうしたらいい?


746:デフォルトの名無しさん
08/05/10 09:43:16
Function IsCommentCell(sAddress As String) As Boolean
IsCommentCell = Len(Range(sAddress).NoteText) > 0

End Function

Function GetFullCommentText(sRange As String) As String
Dim sComment As String
Dim iPos As Integer

iPos = 1
While Range(sRange).NoteText(, iPos) <> ""
sComment = sComment & Range(sRange).NoteText(, iPos)
iPos = iPos + 255
Wend

GetFullCommentText = sComment

End Function

'コメント取得方法は分かったが
'それをA15に表示する方法がググレナイ…
'例えば A1にあるコメントをクリックしたら(7行)A15以降にそのコメントが表示されて
'その後、B5にあるコメントをクリックしたら、A15に表示されたA1のコメントが消えてB5のコメントが表示できるようにしたい。

'どうしたら良いでしょうか?

747:デフォルトの名無しさん
08/05/10 10:07:09
連レス失礼
A1から12R X 11Cのどのセルをクリックしても
そのセルについてるコメントを
A15に表示させるようにしたいです。

748:デフォルトの名無しさん
08/05/10 10:55:14
>>745
VBEditorで
ツール→VBAProject-プロジェクトプロパティ
→保護タブ
→パスワードを入れる


749:デフォルトの名無しさん
08/05/10 11:23:54
>747
12R X 11C?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Target.Comment Is Nothing Then
        Range("A15").Value = Target.Comment.Text
    End If
End Sub





750:デフォルトの名無しさん
08/05/10 11:44:56
>>749 できました! ありがとうございます

751:デフォルトの名無しさん
08/05/10 11:50:35
あとは
A15の縦の長さを 常時コメントと同じ高さにあわせるように応用するだけか・・・

752:デフォルトの名無しさん
08/05/10 12:04:27
A15の高さ=コメントの行数x18ピクセルになるマクロを組み込むには…どうすればええやろ。

753:デフォルトの名無しさん
08/05/10 18:48:39
いい加減、マクロの記録に気づけよ

754:デフォルトの名無しさん
08/05/10 23:53:59
ボタンのテキストをマクロで書き換える方法についての質問です。
フォームのボタンの場合は、
Dim s As Shape
Set s = ActiveSheet.Shapes("Button 5")
s.TextFrame.Characters.Text = "ほげほげ"
のようにすれば書き換えられます。

では、コントロールのボタンはどのようにして書き換えればいいのでしょうか?
同じように書くと、s.TextFrame.Characters.Textの行を実行するときに、
 オブジェクトは、このプロパティまたはメソッドをサポートしていません
と叱られます。

755:デフォルトの名無しさん
08/05/11 01:33:18
EXCEL2003のVBAで、シートの再計算を強制的に実行するにはどうすれば良いでしょうか?


756:デフォルトの名無しさん
08/05/11 04:35:17

・資金ゼロでも優秀な開発者は一千万円の特別賞あり、デモトレードなのに優勝したら三百万円の賞金

●6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
URLリンク(system-trading.jp)
[シストレFXグランプリとは]
クリック証券が提供するFXのデモ取引環境を利用して、システムトレードにチャレンジできるFX取引のグランプリです。
お客様ご自身で作成したシステムトレードの機能を評価する「シストレソフト部門」とトレード収益を競う「トレード部門」の2部門構成となっております。


●5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。


▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
URLリンク(www.fx-gp.com)

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円

757:側近中の側近 ◆0351148456
08/05/11 11:02:55
>>754
(っ´▽`)っ
ActiveSheet.CommandButton1.Caption = "ddddd"

758:側近中の側近 ◆0351148456
08/05/11 11:04:56
>>755
(っ´▽`)っ
Calculate メソッド

計算対象         指定例
すべてのブック     Application.Calculate または Calculate
特定のワークシート  Worksheets(1).Calculate
指定されたセル範囲  Worksheets(1).Rows(2).Calculate

759:デフォルトの名無しさん
08/05/11 12:11:02
>757
ありがとうございました。できました。

以下、俺様メモ。
VBAのオブジェクトブラウザを使って
クラスSheetXのメンバをオブジェクト名(たとえばCommandButton1)で探すこと。
ボタンのクラスはCommandButton

760:デフォルトの名無しさん
08/05/11 19:04:23
>748
>→パスワードを入れる

でけた。ありがと。



761:デフォルトの名無しさん
08/05/12 14:27:05
Dim StrData(1 To 13, 1 To 2) As Variant
これってどういう意味ですか?

762:デフォルトの名無しさん
08/05/12 14:50:23
>>761
イメージ的にはA1:B13みたいな縦13*横2の二次元配列。
変数名からしてString型にした方がいいと思うが。


763:デフォルトの名無しさん
08/05/12 15:59:00
>>762
ありがとう、把握しました。

後、マクロを無効にしないとエディターで編集が出来ないんですが、これはどうすればいいんでしょう。
csvを読み込んで配置するマクロを編集してるのですが、無効にするとデバッグ出来ません。

764:デフォルトの名無しさん
08/05/12 19:29:24
一週間以上たったが>>630はできなかったみたいだな。DQNが消えてこのスレも健全化するだろう。


765:デフォルトの名無しさん
08/05/12 20:10:15
VBAで測定器の制御(GPIB)を行っています。
あるデータを取得する関数の戻り値がString限定なのですが、中身がバイナリ直のDoubleで
どう変換するべきかつまっています。

全体のデータは
#XXX{Data double 8byte}{Data double 8byte}{Data double 8byte}.....
の様な形で {data}の部分は8byte double形式で書かれています。
最初に"#"
その後にデータの数の桁数
その後ろがデータの数
その後は8byte Doubleの数が並んでいます。
例:
#212{data}...({data}が12個)
 ^個数を表す数字が2桁 の意味
  ^{data}が12個あると言う意味

関数はCall ibrd( ID as Int , buf as String , count as long ) にてメモリからデータを
countのByte数だけbufに取り込める仕様です。
ibrd( id , buf , 1) '#の部分取得
ibrd( id , buf , 1) '桁数取得
ibrd( id , buf , N) '上記の桁数分だけ取得
for i = 1 to Num step 1 '上記の数分だけ{Data}を取得
 ibrd( id , buf , 8) '8Byteづつ取得する
next
この時、8byteづつ取得すると
変数 buf には String 形式で 本来Doubleのバイナリ値がそのままつっこまれてしまいます。(ウォッチウィンドウで見ると空白など)
数字の1などが入っていればCdbl(buf)でいけるのでしょうが、
型がStringで中身のバイナリがDoubleになってる状況で、これをDoubleに直して数字を取得したいのですが
何か助言もらえないでしょうか?


766:デフォルトの名無しさん
08/05/12 21:00:48
RtlMoveMemoryとか使えばいいでね?

767:デフォルトの名無しさん
08/05/12 22:04:34
後はいちいち蒸し返すDQNが居るだけだな

768:デフォルトの名無しさん
08/05/13 01:36:36
>>764
甘いな

769:デフォルトの名無しさん
08/05/13 08:28:32
不正アクセスから、マクロ及びデータを守りたいのですが
パスワードの不正解析されても、データ等を守る方法はない?

770:デフォルトの名無しさん
08/05/13 12:27:06
不正解析というか、バイナリエディタで、パスワード上書きされたら終わりだしな。

771:デフォルトの名無しさん
08/05/13 12:34:14
本体から読み込む形にして、不正処理があったらOSから終了させれ
不正アクセスと断定できるなら、偽装データを渡したり

どこまで相手にするかにもよるけど、ある程度以上のクラッカには対策立てられぬ
そもそもマクロ無効で覗かれたらエクセルじゃどうしようもないし、エクセルのパスは飛ばせる裏技あったような

772:765
08/05/13 18:42:38
>>766
遅くなりました。
情報ありがとうございます。
試してみます。


773:デフォルトの名無しさん
08/05/13 22:45:12
>>771
URLリンク(www.google.com)

774:デフォルトの名無しさん
08/05/14 02:04:38
>>769
できるよ。
以上。
↓次どうぞ

775:デフォルトの名無しさん
08/05/14 11:51:19
XP、EXCEL2003です。
シート上の図(Shape)を、すべて削除する方法を教えて下さい。
よろしくお願いします。

776:デフォルトの名無しさん
08/05/14 13:26:15
モジュールのインポートを一つずつやるのがめんどくさいんだけど、
これって、フォームとかと一緒にまとめられないの?

777:番組の途中ですが名無しです
08/05/14 15:48:05
>>775
forループで↓をActiveSheet.Shapes.Count分回せばいいかも
ActiveSheet.Shapes(i).Select
Selection.Delete
※iはループカウンタ

778:デフォルトの名無しさん
08/05/14 15:53:29
ループの必要はないよ
ActiveSheet.Shapes.Delete

779:775
08/05/14 18:14:41
>>777,778
レスありがとうございます。


780:デフォルトの名無しさん
08/05/14 19:09:02
>>778
ふーん、いろいろあんだねぇ

781:デフォルトの名無しさん
08/05/14 22:20:07
VBAを学ぶのにオススメの書籍などはありますか?
目的は、ある外部のデーターベースから、
ブックを開いたときに、選択した情報を効率的に
集めてくるみたいなものをつくりたいのですが。
因みにプログラムの経験はVBAが2週間で、他の言語は知りません。

782:デフォルトの名無しさん
08/05/14 22:47:08
>>781
ごめん。まったく何を言ってるのかわからない。
みんなはわかるの?

783:デフォルトの名無しさん
08/05/14 22:48:32
データベースとの連携を中心にしたものなら、例えば

仕事に役立つ Excel & Access データベース連携テクニック Softbank

といったものがあるけど、
これはある程度VBAを知っている事が前提なんで、やはり最初に入門を中心に勉強してからの方が良いんじゃね?



784:デフォルトの名無しさん
08/05/14 22:52:55
>>781
ExcelのVBAなんか覚えるよりデータベースの方が役に立つだろう?


785:781
08/05/14 22:57:39
ソフトバンクからでてる初めてのVBAという本の内容は一応マスターしました。
>>783さんの挙げてくださった書籍の姉妹本だと思います。
しかし、Dimが出てこなかったりして、結局出来るようになったことは
セルに色をつけたり足し算したりシートの名前を変えたりといったレベルです。
もっとレベルの高いVBAを勉強したいです。
わかりにくくて申し訳ございません。

786:デフォルトの名無しさん
08/05/14 23:01:30
>>784
仕事で大量のデーターを扱うので、データーベースはきちんと扱えるようになりたいです。
SQLとかを勉強したほうがいいのでしょうか?
仕事とは別にVBAを打てるようになって、ゲームとか作りたいです。
現時点のレベルは低すぎるわけなのですが・・・

787:デフォルトの名無しさん
08/05/14 23:09:09
>>786
仕事はデータベース
VBAは趣味のゲームで

788:781
08/05/14 23:12:13
>>787
すいません、ド素人なのでよくわからないのですが
データーベースという、VBAみたいなジャンルがあるのでしょうか?

周りにパソコンに詳しい人がいなくて困っています。
セクハラ酷いし。あぁ会社行きたくない・・・

789:デフォルトの名無しさん
08/05/14 23:14:35
>>788
自分でデーターベースからブックを開くと言ってたじゃないか。

790:デフォルトの名無しさん
08/05/14 23:25:06
visual basic6ぐらいのデータベース連携の本買って
vbaに関してはエクセルのヘルプよく読め

791:デフォルトの名無しさん
08/05/14 23:26:11
無料のRDBが沢山有る現在でも、周囲に詳しい人間が居ない状況でデータベース勉強するのはしんどいぞーーーー


792:デフォルトの名無しさん
08/05/14 23:44:05
VBAでゲーム作る奴は変態

793:781
08/05/14 23:45:46
なるほど、自分がやるべきことがわかってきました。
親切に答えてくれた方々、ほんとうにありがとうございました。

794:デフォルトの名無しさん
08/05/14 23:48:05
>>792
しかしVBAの正しい利用方法だ。

795:デフォルトの名無しさん
08/05/15 07:44:28
>>789
お前、馬鹿

796:デフォルトの名無しさん
08/05/15 07:55:47
>>788
年上のお姉さんに当てられたり、美少女の後輩にまさぐられたりする職場なんですね、俺と変わってくれ

797:デフォルトの名無しさん
08/05/15 08:00:39
データベース/SQL使うんなら、
ExcelVBAより先にAccessのクエリー/マクロ/レポートを覚えた方が金になるぞ

798:デフォルトの名無しさん
08/05/15 08:15:17
このスレではVBAでソートを作る方法を質問するといいよ。

799:デフォルトの名無しさん
08/05/15 09:46:13
Vista、EXCEL2007です。

EXCEL2003(XP)で作成したマクロを動かすと動作が異なっています。

<コード>
Range("A5").Select
ActiveSheet.Pictures.Insert( _
"D:\abc\pic1.JPG").Select
Range("A21").Select
ActiveSheet.Pictures.Insert( _
"D:\abc\pic2.jpg").Select

<現象>
(1)Vistaでは、pic2の画像が、A21の個所でなく、A5の個所に挿入されます
  (pic1の上に重なって)
(2)Vistaで、セルを選択して、画像挿入する操作をマクロ記録すると
Range("A21").Selectは記録されてますが、
ActiveSheet.Pictures.Insert("D:\abc\pic2.jpg").Selectが
 記録されていません。

上記プログラムで、pic2をA21の箇所に挿入できるようにするには
どうすれば良いのでしょうか。
よろしくお願いします。


800:番組の途中ですが名無しです
08/05/15 14:03:07
Excel2003のVBAでcontinue forが使えないのは仕様ですか?

801:デフォルトの名無しさん
08/05/15 16:56:49
>>799
スクロールの問題……じゃないよな

802:デフォルトの名無しさん
08/05/16 15:32:49
Excel2000

シート上に
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1")
で生成したチェックボックスのみを削除するプログラムを
実行すると

アプリケーション定義またはオブジェクトの定義エラーです

というメッセージが出ます。 s.FormControlType のところで
エラーが出ているのですが、どうやったら動くようになるのでしょうか?

Dim s As Shape

For Each s In Sheets("sheet1").Shapes
If s.Type = msoOLEControlObject Then
If s.FormControlType = xlCheckBox Then
s.Delete
End If
End If
Next


803:799
08/05/16 17:00:43
>>801
レスありがとうございます。
スクロールの問題ではありません。
(1)の現象になったので、
マクロと同じ操作をして、マクロ記録してみたら
(2)になりました。

804:デフォルトの名無しさん
08/05/16 18:30:33
>799
WorkSheet.Shapes.AddPicture(...) かな?

試してないけど
ActiveSheet.Pictures.Insert( "D:\abc\pic1.JPG").Top = Range("A5").Top
ActiveSheet.Pictures.Insert( "D:\abc\pic2.jpg").Top = Range("A21").Top


805:799
08/05/16 20:29:24
>>804
レスありがとうございます。
うまくいきました。

806:デフォルトの名無しさん
08/05/16 20:37:24
30125なら上位3桁だけとって、゙30100゙から100刻みで表示させたい。
0.002354なら゙0.00235゙から0.00001刻みでグラフの軸に表示したいのです。
何かよい方法はありませんでしょうか?

807:799
08/05/16 20:47:07
>>804
別質問ですけど、
804で挿入したオブジェクトのnameは、
どのようにすれば取得できるのでしょうか。


808:デフォルトの名無しさん
08/05/16 23:37:41
仕事でマクロを使って制御のシミュレーションをしたいのですが
1つのプロシージャ内でループ演算をしつつ、他のプロシージャを実行して
変数を変更したいと考えています。
複数のプロシージャを並列処理できる方法はないのでしょうか?

809:デフォルトの名無しさん
08/05/17 00:12:29
ActiveX EXEを作れば可能。
Win32APIのスレッドも使えるかもねー

810:デフォルトの名無しさん
08/05/17 01:15:28
既出だったらすみません。

excel2000+winXpで開発してるんですが、
処理を走らせるとメモリの使用率がたまる一方で
解放されている気配を感じません。

しまいにはメモリが足りませんとエラーになり
落ちてしまいます。

助けて!!1

DAO3.6使ってるんですが関係しますかね?
メモリを解放する方法ってありますか??

811:デフォルトの名無しさん
08/05/17 06:59:32
>>810

DoEvent とか
動的配列を使ってるなら必ずeraseするとか

812:デフォルトの名無しさん
08/05/17 08:39:43
>806
刻み幅等を計算する方法を知りたいというのが主旨かな?

30125の常用対数は、log(30125)/log(10) =4.47892705558292
切り上げて、5
上位3ケタだけ取るので、刻み幅は、10^(5-3)=100

切り上げは、round(x-0.5)+1 という感じかな。

813:デフォルトの名無しさん
08/05/17 10:29:50
>807
古い環境が無いんで試せてないけど
Dim Pic1 As Picture
Dim Pic2 As Picutre

Set Pic1 = ActiveSheet.Pictures.Insert( "D:\abc\pic1.JPG")
Pic1.Top = Range("A5").Top 
Range("A4").Value = Pic1.Name
Set Pic2 = ActiveSheet.Pictures.Insert( "D:\abc\pic2.jpg")
Pic2.Top = Range("A21").Top 
Range("A20").Value = Pic2.Name


814:デフォルトの名無しさん
08/05/17 14:03:34
>>808
複数のExcelインスタンスを起こして、マルチプロセスでやれば?
これならWin32APIなんか使わずにできるが


815:デフォルトの名無しさん
08/05/17 19:17:01
timer使え

816:デフォルトの名無しさん
08/05/18 14:10:29
ループの中でたのプロシージャを呼び出せばいい
灰次

817:デフォルトの名無しさん
08/05/18 23:31:42
マクロでNORMDISTを使いたいんですが、エラーが出てしまいます。

マクロではどのように記述すればNORMDISTは使えるのでしょうか?

誰か教えてください

818:デフォルトの名無しさん
08/05/19 11:05:13
Excel2000上で動的に配置したチェックボックスにイベント処理を追加したいのですが
方法がわかりません。ヒントだけでもいいのでお願いします。

819:デフォルトの名無しさん
08/05/19 16:39:14
>>818
classモジュール使えばできるよ

820:デフォルトの名無しさん
08/05/19 16:46:45
>>817
ヘルプの例で言えば、

42  対象となる値
40  分布の算術平均(相加平均)
1.5 分布の標準偏差

WorksheetFunction.NormDist(42, 40, 1.5, True)

で、いいんじゃない?

821:デフォルトの名無しさん
08/05/19 20:24:01
実行時エラー'1004'が出ます。
コマンドボタンで、
Workbook Open "C:\-.xls"
Worksheets("a").Select
Range("A20").Select

と入力し別ファイルのシートのセルを選択したいのですが、
どのように直せばいいか、教えていただきたいです。
よろしくお願いします。

822:デフォルトの名無しさん
08/05/19 21:26:10
>>821
ちゃんと目的のbookが開いているなら、シート名「a」のシートがあれば問題ないよ

823:デフォルトの名無しさん
08/05/19 21:55:45
>>821-822
シート上に置いたコントロールツールボックスのコマンドボタンならそんなんでまともに動くわけねーよ。
シートや範囲をちゃんとブックから明示しないと。

824:822
08/05/19 22:04:21
>>823
なるほど、 シート上に置いたコントロールツールボックスのコマンドボタン
おまい天才!
スレ汚しスマソ

825:デフォルトの名無しさん
08/05/20 20:21:39
>>823のなかなかのエスパーぶりに嫉妬

826:デフォルトの名無しさん
08/05/20 21:28:05
別に>>823は普通だろ?
Formのコマンドボタンなら>>821でも動くだろうが、どこに書いても同じように動くコードを書かんとね。


827:デフォルトの名無しさん
08/05/20 23:30:47
>>826
どこに書いても同じように動くコードを書く必要はない
コードを書いたクラスでまともに動けば問題ない

828:デフォルトの名無しさん
08/05/21 00:21:17
質問させて頂きます。

デジタル署名付のVBAプロジェクトで、
ブックオープン時にオラクル接続をし、
オートシェイプで線を引くという処理をしております。
処理後、シートを見るとオートシェイプで描いた線の色がありませんでした。
プリンタで出力すると、線が描かれております。
原因と対処法を教えてください

【OS】windows XP pro
【EXCEL】2003

【処理内容】

Dim OraSession As Object
Dim OraDatabase As Object

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase("TNS", "USER/PASS", ORADB_DEFAULT)

Set OraSession = Nothing
Set OraDatabase = Nothing

ActiveSheet.Shapes.AddLine(98.25, 151.5, 150#, 159.75).Select

といったかんじです

829:デフォルトの名無しさん
08/05/21 01:40:10
>>828
オラクル関係なくね?
接続して閉じてるだけだろ?
それとも、オラクルに繋がなければ問題は解消されるの?

830:826
08/05/21 07:43:54
>>827
そりゃ確かにそうだね。
冗長な記述を避けるためにもMeとか書かんからね。
>>821のコードに関してはということ。

831:826
08/05/21 07:46:16
Me.を書かんことはちょっと違うか。
まどうでもよい。

832:デフォルトの名無しさん
08/05/21 07:59:09
書式設定指定したら?

833:デフォルトの名無しさん
08/05/21 17:42:10
XP、EXCEL2003です。

特定のディレクトリの直下にあるファイル(複数)のファイル名を
全て取得する方法を教えて下さい。
よろしくお願いします。


834:デフォルトの名無しさん
08/05/21 17:49:26
>>833
ちょこちょこ質問掲示板見てると週に1回は遭遇する質問
ググれば腐るほどコードがある
個人的にはfilesystemobjectを使うのが一番効率いいと思う

835:833
08/05/21 19:20:12
>>834
レスありがとうございます。
失礼いたしました。


836:デフォルトの名無しさん
08/05/21 21:22:28
fsoはネットワークドライブ相手だったりするとテキメンに
速度が落ちたりするから困る。
 あと、ワイルドカードが無いのはどーゆーことだ。

837:デフォルトの名無しさん
08/05/21 23:21:02
>>836
独り言はチラシの裏に書け

838:デフォルトの名無しさん
08/05/22 06:44:14
確かfsoは、クエリとってからのファイル追加や削除、内容変更に
伴う更新もかなりの直近まで自動的に更新してくれる中々の
優れモンだったという記憶が....
Kernel32.DLL のAPIを使って自分でクエリした場合は、
ファイル数が多く、激しく更新されるような場合は、取得情報と
実態の間に食い違いが発生してユーザーはパニくるのがオチなんだが
(これもチラ裏に書くべきだったか)

839:デフォルトの名無しさん
08/05/22 18:21:06
わざわざfsoやapi使わんでもDir()関数使えばよい

840:デフォルトの名無しさん
08/05/22 21:25:32
Dirだとパスの長さが255以上になると確かエラーになる。

841:デフォルトの名無しさん
08/05/23 13:23:12
sage

842:デフォルトの名無しさん
08/05/23 23:07:41
OS:win xp
excel:2007

初めて質問します。お願いします。

 ・データ用のシート
 ・処理用シート

の二つを用意します。

データ用シート
    店舗→ A   B   C
 商品↓
 りんご   100  200  300
 みかん   10  20   30
 めろん    1   2    3

処理用シートのA1,B1のセルに店舗と商品を書き込むと、データ用のシートを参照して、
そのシートに書かれた数値(例えば、上記の表の「A店(=A1)」の「みかん=B1」だと「100」)が、
処理用シートのC1(「=100」が)に入るようにしたいです。
店舗、商品は任意で追加していきたいので、データ用シートの列、行を検索していくようなやり方がいいのでは、
と考えています。

調べて、VLOOKUP関数を使えば…、というところまで来たのですが、二点のセルの値を見て、
表から一つの値を出力する、というところがわかりません。
何卒、ご指導の方、お願いします。


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

4266日前に更新/248 KB
担当:undef