1 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 22:36:18.78 ] 01 pc11.2ch.net/test/read.cgi/tech/1054356121/ 02 pc11.2ch.net/test/read.cgi/tech/1168308855/ 03 pc11.2ch.net/test/read.cgi/tech/1180192018/ 04 pc11.2ch.net/test/read.cgi/tech/1189814602/ 05 pc11.2ch.net/test/read.cgi/tech/1197448064/ 06 pc11.2ch.net/test/read.cgi/tech/1205231499/ 07 pc11.2ch.net/test/read.cgi/tech/1212587819/ 08 pc11.2ch.net/test/read.cgi/tech/1219673793/ 09 pc11.2ch.net/test/read.cgi/tech/1228372971/ 10 pc12.2ch.net/test/read.cgi/tech/1235332603/ 11 pc12.2ch.net/test/read.cgi/tech/1241885130/ 12 pc12.2ch.net/test/read.cgi/tech/1247566074/ 13 pc12.2ch.net/test/read.cgi/tech/1254281104/ 14 pc12.2ch.net/test/read.cgi/tech/1262748898/ 15 pc12.2ch.net/test/read.cgi/tech/1271261239/ 16 hibari.2ch.net/test/read.cgi/tech/1280045912/ 17 hibari.2ch.net/test/read.cgi/tech/1289182437/ 18 hibari.2ch.net/test/read.cgi/tech/1298240666/ 19 hibari.2ch.net/test/read.cgi/tech/1305754555/ 20 hibari.2ch.net/test/read.cgi/tech/1312435844/ 前スレ: Excel VBA 質問スレ Part21 hibari.2ch.net/test/read.cgi/tech/1316931607/
582 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:03:58.52 ] 試せよ
583 名前:581 mailto:sage [2012/01/02(月) 23:09:41.91 ] >>582 おまえのVBA力を試してるんだよ。
584 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:11:39.79 ] VBA力とか言ってる時点で自分が格下なのに気付けよ
585 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:14:46.33 ] >>584 だからおまえはみんなに嫌われるんだよ
586 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:16:18.47 ] 関係ない話で誤魔化さないでください わかりもしない、答える気もない屑が掲示板を荒らすのは本当に不愉快です
587 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:38:34.73 ] Publicを使わないでユーザーモジュール標準モジュールからアクセスでき モジュールが終了しても記憶しておく変数を宣言することは可能ですか? セルを使用する以外でお願いします
588 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:44:08.08 ] public使えよ
589 名前:587 mailto:sage [2012/01/02(月) 23:51:54.46 ] Publicを使わないでと言っておるんだよ
590 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:57:06.02 ] >>560 、561 大変ありがとうございます。理解できました。 しかし、したの例のように試してみると、たとえばz(1,1)の部分に 数字を入れることができなかったです。。。 Sub test() Dim z() As Double z(1, 1) = 1 Cells(1, 2).Value = z(1, 1) End Sub
591 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:58:00.87 ] >>589 どうせ別人だろうけど temp.txtとか作ってそこに値いれとけばいいんじゃね
592 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:59:44.13 ] >>587 Textファイルに書き出せばセルもパブリック変数も使わないで済む こういう頓知解答がNGなら不可能
593 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:59:48.64 ] ホント酷いな
594 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:13:55.85 ] >>590 Z()を宣言しただけじゃZが2次元配列とは限らないから Z(1,1)に値は入れられない。 はじめから Dim Z(1,1) As Double みたいに2次元配列で宣言するか Redim Z(1,1)で配列の再宣言するかしなきゃ駄目 (あとはVariantで宣言する方法なんてのもあるけど割愛する) とにかくこういうのは基本的な事なんで、 ここで聞く前にまず自分で調べるべき話。
595 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:19:40.84 ] 自分で調べるようになって欲しいと思ってるならそこまで甘やかすなよ
596 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:37:06.79 ] >>587 Static変数をプロシジャの引数として参照渡しする。 変数クラスを定義してそのインスタンスを参照渡しする。 矢切の渡し。
597 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:38:59.07 ] あ。。( ̄▽ ̄;)。 まちごた。 忘れてくれ。
598 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 02:54:00.11 ] だからクラスってなんだよ
599 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 10:12:58.79 ] >>598 >>566 簡単に言うと、必要なければ使ってはいけないものだ。
600 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 11:04:24.57 ] >>590 www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_array.html
601 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 11:34:21.90 ] >>587 セルに保存とかわらんが、BuiltinDocumentPropertiesとかUserFormのTagはときどき利用する。
602 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 14:04:34.56 ] フォームモジュールにはあまり処理を書かない方がいいですか? 引用しようと思っても呼び出せないので
603 名前:デフォルトの名無しさん mailto:NG 試せ [2012/01/03(火) 14:17:23.88 ] 他モジュールのSubを呼び出すのに、 Call Module2.TestProcess のようにモジュール名をつけないとダメですか?
604 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 14:24:11.79 ] みなさんのVBA力はその程度ですか?
605 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 14:25:29.47 ] 見ず知らずの人に無償で提供できる範囲はこの程度
606 名前:デフォルトの名無しさん [2012/01/03(火) 14:42:14.27 ] >>604 おまえのレス力は最低レベルだ。「レス力検定」でレス力を磨きなさい。
607 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 15:41:39.69 ] わかりもしない、答える気もない屑は黙っていてください
608 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 16:01:25.32 ] ここは、質問するのが自由なら 答えるのも自由だし、横やり入れるのも自由、そういう場ですよ そういう場に自ら来ておいて、「回答以外はするな」はお門違い ボウヤ、何勘違いしちゃってるの?ってな感じだ 横やりが嫌なら横やり禁止のとこ行け
609 名前:デフォルトの名無しさん [2012/01/03(火) 16:06:39.58 ] ここは、横やり入れるのも自由なら 縦やり入れるのも自由だし、「回答以外はするな」も自由、そういう場ですよ そういう場に自ら来ておいて、>>608 の書き込みはお門違い
610 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 16:31:29.29 ] オマエモナー
611 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 16:55:54.97 ] 悔し紛れにオウム返しするも、的を射て無くて完全に負け犬の遠吠え状態w
612 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 16:57:00.48 ] 答える能力のない自分を顧みずに上から目線ですか 哀れな屑ですね
613 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 17:03:53.01 ] 遠吠え谺す
614 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 17:23:29.76 ] ユウナレスカ検定一級ですがなにか
615 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 18:29:34.79 ] ねえマジで この程度の質問にも答えられないの? 大した事ないっていうか…お前ら… 好きなエクセルでもこんなレベルって きっと他の分野じゃ本当に無能なんだろうな
616 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 18:46:20.35 ] >>615 あんた質問書いてないじゃん 書いてない質問にどう答えろと?
617 名前:デフォルトの名無しさん [2012/01/03(火) 20:12:26.74 ] Sub sample() Dim a, i As Double a = Cells(2, 3).Value For i = 1 To a Cells(i, 1).Value = i Nexti End Sub 上記のように、マクロを使用せずに、シート1のセル(2,3)の部分に数字を 入れれば、自動的に、(1,1),(2,1),(3,1)の部分に1,2,3といったように 表示させたく上のコードを作りました。 しかし、なぜかエラーとして subあるいはfunctionが定義されていません。 と出ました。 どうすればよいのでしょうか? またfunction関数を作る場合は、module以外のシートに作る必要があるのでしょうか? 何卒よろしくお願いします。
618 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 20:23:11.61 ] ×Nexti ○Next i
619 名前:デフォルトの名無しさん [2012/01/03(火) 20:29:03.06 ] 早急なご返事大変ありがとうございます。 できました。 しかし、これは再生ボタンを押さないと表示されないです… 自動的に数字が変わる方法はご存じでしょうか? よろしくお願いします。
620 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 20:36:32.52 ] セルが変更された場合のイベントを補足して処理する Worksheet_Change とかで検索
621 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 20:57:23.13 ] できました。本当にありがとうございました。失礼します。
622 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 21:51:20.18 ] >>617 これはOption Explicitを指定しないせいで Nextiが変数として処理されたために起きたトラブルだから、 モジュールの先頭にOption Explicit を書いておけば Nextiと書いた部分がエラーになってその時点でトラブルが防げた。 OptionExplicitを書く癖をつけといたほうが良いと思う。 あと、変数iをDouble型で宣言している意味が分からない。 整数しか入れないならLongやIntegerで宣言しとけば良いと思うし、 さらにいうと変数aはVariantで宣言してるんだから それならiもVariantで良いんじゃないかとも思う。 もしかして宣言の仕方自体が分かってないのかもしれないから補足しておくと、 Dim a,i As Double と書くと、a は Variant型、i は Double型で宣言される。 両方ともDouble型で宣言するなら Dim a As Double,i As Double と書かなきゃ駄目だし、そんなこと書くぐらいなら Dim a,i で両方ともVariant型にしちゃっても良かったと思う。
623 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 21:59:05.03 ] ハリキッテルネ!
624 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 22:00:21.24 ] オマエモネ!
625 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 22:11:50.50 ] ソクレス・・・スレカンシゴクロウサマデス!
626 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 22:14:06.89 ] いや、たまたま新着レスがあったから 適当に書き込んだだけなんだけどw
627 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 22:54:22.81 ] >>622 詳しいアドバイスありがとうございます。 ところで、さらに質問が出てきました。まったくべつのものですが、、、 Sub test1() Dim x(100, 100) As Integer a = 0 For i = 1 To 20 For n = 1 To 20 a = a + 2 Cells(i + 4, n + 4).Value = a Next n Next i a = UBound(x, 1) Cells(2, 2).Value = a End Sub ためしに、UBound(x,1)が100なのか、それとも数字が入っている20行までなのか 試してみたのですが、結局上記の場合、UBound(x,1)=100でした。。。 数字が入っているところまで20とすることは可能なのでしょうか?
628 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:06:28.37 ] その例では、20はリテラル値なんだから a = UBound(x, 1) を a = 20 にすれば良いだけじゃん 20の部分が変数になったとしても、同じく a = 変数 で事足りる 固定のリテラル値にしろ変数にしろ、前段階の処理でどこまで数字を 入れたかが解ってるんだから、配列から取得する必要など何も無い
629 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:36:02.44 ] >>616 そこに気づいたか だがもう一歩だ
630 名前:622 mailto:sage [2012/01/03(火) 23:43:36.86 ] >>627 >ためしに、UBound(x,1)が100なのか、それとも数字が入っている20行までなのか >試してみたのですが、結局上記の場合、UBound(x,1)=100でした。。。 > >数字が入っているところまで20とすることは可能なのでしょうか? 申し訳ないんだけど質問の意図がまったく分からない。 UBound(X,1)はXという配列変数の1次元目の上限を求めているわけで 変数の宣言時にX(100,100)と宣言してるのだから (その後Redimで大きさを変更したりしない限り) その時点で100になるのは当然のこと。 そして、ForNextのネストの中でCellに値を代入しているけど そこでもX()はまったく出てきてないんだから UBound(X,1)が100から変化すると貴方が考えた理由が分からない。 んで、 >数字が入っているところまで20とすることは可能なのでしょうか? というのも何の事だかさっぱり意味が分からない。 できたらもう一度、意味が通じるように質問しなおしてほしい。
631 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:46:56.36 ] ありがとうございます。 今、行列の計算のプログラムを作っています。 www.fastpic.jp/images/023/1362403442.bmp しかしながら、上記のように正しい計算結果を得ることができません。 コードは以下のようになっています。大変わかりにくくてすみません。 Sub 行列掛け算() Dim z(100, 100) As Double Dim x(100, 100) As Double Dim y(100, 100) As Double Dim s As Double 'aの行列 For i = 16 To 19 For j = 4 To 6 'xの要素に、入れていく(1から) For n = 1 To 4 For nn = 1 To 3 x(n, nn) = Cells(i, j).Value Next nn Next n Next j Next i
632 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:47:48.94 ] 'bの行列 For i1 = 16 To 18 For j1 = 8 To 12 'yの要素に、入れていく(1から) For n1 = 1 To 3 For nn1 = 1 To 5 y(n1, nn1) = Cells(i1, j1).Value Next nn1 Next n1 Next j1 Next i1 '逆行列の計算 For i2 = 1 To 4 For j2 = 1 To 5 s = 0 For k2 = 1 To 3 s = s + x(i2, k2) * y(k2, j2) Next k2 z(i2, j2) = s Cells(i2 + 21, j2 + 4).Value = z(i2, j2) Next j2 Next i2 End Sub 書き込めなかったので2つに分けて書き込みます。 何卒よろしくお願いします。
633 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:52:11.31 ] >>630 すみません。もう一度理由を述べます。 なぜxboundで100ではなく20がほしかったのかというと、 自分が今から作ろうとするFEM法を使った方法でやると、 行列の数が40行くらいになってしまう可能性があるからです。 しかもその行列の数は、節点数によって変わってくるため(この辺は専門的ですみません;) 行列の数が予測できないため、最初にx(100,100)と置きました。 さすがに、100行列まではいかないだろうということで、です。 今回は試しに、20行列を作ってみたので、ひょっとすれば xboundで20が出るのかな(つまり数字が入っているところまで) と思いましたが駄目でした。
634 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:07:00.57 ] 当たり前だろ
635 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:08:52.43 ] >>633 それは無理。 行列の数がわからないのであればRedimすればいい。
636 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:16:13.38 ] >>633 あなたは>>501 か
637 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:18:21.02 ] >>633 x(n, nn) に期待通り取り込まれているのは確認できているか
638 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:19:00.82 ] もはや"xbound"とか勝手な事書いてるけど、 "UBound"ってのはあくまでも配列の上限を返す関数であって その配列の中でどこまで実際に値が入ってるかを調べるものじゃないから そういう使い方は出来ない。 っつーか貴方、ここ最近行列云々で質問続けてる人だったのね? VBAのこと事前に学習してないでしょ? 試行錯誤は決して悪いことじゃないけど、 中途半端な知識でプログラミングして失敗するよりも 一度きちんと学習してからプログラミングしたほうが良いと思うよ。 どっち道失敗はするだろうけど、今みたいなどうでも良い間違いは減ると思う。 本を買うなりWeb上の解説サイトを読むなり、多少基礎知識つけてから出直したほうが ゴールに早くたどり着けるはずだよ。 こっちだってこんなどうでも良いこと質問されるのも正直迷惑だし。
639 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:23:42.80 ] >>637 今確認しました。期待通りではなかったです… なぜか、yはすべての成分が121の3行5列で、 xはすべての成分が20の4行3列でした。
640 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:31:33.33 ] >>639 For〜Nextが理解できていない
641 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:37:38.67 ] すみません。。たしかにfornextの部分頭の中でやっておかしいですね。。。 もう昨日の夜の12時からまったくの不眠不休でほかの研究作業もやりながらなので ぜんぜん思考回路が回っていません。 寝て、もう一度再プログラムしてみます。失礼しました。
642 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:39:14.20 ] もうすこし自分で考えてきてから質問してね ここの人たちだって貴重な時間を割いてアドバイスしてくれてるのよ
643 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 09:05:14.29 ] 答えたくて答えてるだけだろ 思いっきりスレチだから 答えてる方も荒らしだから
644 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 10:18:47.09 ] Range("A100").Formula = "=countif(A1:A80,""<=2"")" <=2の部分をA90の値にしたいのですがどう書けばいいんでしょうか
645 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 10:34:11.32 ] "=countif(A1:A80,""" & Range("A90").Value & """)"
646 名前:644 mailto:sage [2012/01/04(水) 10:41:57.67 ] ありがとうございます!
647 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 10:44:32.37 ] おはようございます。>>642 、643 まことに大変申し訳ございません。。。 最後の質問です。この分野さえ終わることができれば終了です… 以下の行列の逆行列を求めようとしましたができませんでした。。 1 2 2 1 1 5 1 2 1 答えが -9 2 8 4 -1 -3 1 0 -1 ですが、 0 0 0 1 0 0 1 2 0 になってしまいました;
648 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 10:45:33.63 ] コードは以下です。 Sub 逆行列() Dim x As Double Dim A(100, 100) As Double For i = 1 To 3 For j = 1 To 6 A(i, j) = Cells(i, j).Value 'ちゃんと数字が入っているか確認 Cells(i + 5, j).Value = A(i, j) '確認OK Next j Next i '逆行列計算 For k = 1 To 3 x = A(k, k) For j = k To 6 A(k, j) = A(k, j) / x Next j For i = 1 To 3 If i = k Then x = A(i, k) For j = k To 6 A(i, j) = A(i, j) - x * A(k, j) Next j End If Next i Next k
649 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 10:47:50.04 ] 'ここでAをセルに代入 For i = 6 To 8 For j = 6 To 8 Cells(i + 10, j + 1).Value = A(i - 5, j - 5) Next j Next i End Sub www.econ.nagoya-cu.ac.jp/~kamiyama/siryou/minv.html このページを参考にしました
650 名前:デフォルトの名無しさん [2012/01/04(水) 12:58:01.29 ] "=countif(A1:A80,""" & Range("A90").Value & """)" これでセルの値を指定することができたのですが <=を入れるとエラーになってしまいます あとRCを使ったやり方で<=をつけるにはどうしたらいいですか?
651 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 13:30:28.28 ] ここはVBAのスレです VBAでの式入力方法ならまだしも それ以前の式の作り方についてはスレ違い
652 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 14:26:11.02 ] >>650 " で囲まれた中に " 自体を記述したいときは "" と2つ続けて書く だから、 =countif(A1:A80,"<=2") の前後を"で囲むと "=countif(A1:A80,""<=2"")" になる。 また、""で囲まれた部分は文字列だから、 & で他の文字列や文字列型変数と結合できる つまり、 上記の式の"2"の部分をA90の値に変更したいなら、 "2"以前の部分の文字列と"2"以降の部分の文字列を作って、 Range("A90").Valueを & ではさめばよい。 (>>645 は"<=2"をA90の値に置き換えてる) ちなみに"2"以前の部分は "=countif(A1:A80,""<=" になる。 後ろのほうは>>645 とおなじだから後は自力でやって
653 名前:デフォルトの名無しさん [2012/01/04(水) 14:38:33.01 ] 普通のカッコ ( ) は、たとえば数学の計算式では y=(-b+(b^2-4ac))/2a のようにいくらでもネスト構造がありえるのに なぜダブルクオーテーション " は、内部のは二つ重ねるルールにしたのですか? 欠点は、三重以上に重ねられなくなってしまってないですか? 二つ重ねるルールの利点を挙げてください。
654 名前:653 [2012/01/04(水) 14:39:41.54 ] 疑問の一つに、 =countif(A1:A80,"<=2") の前後を"で囲むと "=countif(A1:A80,""<=2"")" になるなら、 "=countif(A1:A80,""<=2"")" の前後をさらに"で囲むとどうなるの?
655 名前:653 [2012/01/04(水) 14:40:31.63 ] オフィス田中の人は、このダブルクオーテーションのネストについて なにか研究成果を発表はしてないのですか?
656 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 14:54:58.92 ] 単純すぎて研究するほどのことでもあるまいに 文字列の囲い記号(開始記号と終了記号)が「"」の場合 囲い記号としてではなく文字として「"」を表したくても 途中に"を入れるとそれが「文字 "」なのか「囲い終了記号」なのか判別できない そこで、囲い開始記号以降の「"」は、1つなら「囲い終了記号」、 2つなら「文字 "」として扱うというルールにしただけのこと この単純なルールだけで > 三重以上に重ねられなくなってしまってないですか? なんて欠点も無く、どんなものでも表現できる
657 名前:デフォルトの名無しさん [2012/01/04(水) 14:59:18.98 ] できましたw 自力では無理だったと思うので助かりました "=countif(A1:A80,"">=" & Range("A90").Value & """)"
658 名前:デフォルトの名無しさん [2012/01/04(水) 15:09:23.33 ] redim kmax(100,100,100) as double redim k(100,100) as double for zzz=1 to 5 for z1=1 to 100 for z2=1 to 100 kmax(z1, z2, zzz) = k(z1, z2) next z2 next z1 next zzz とすると、kmaxの(z1,z2)の部分にはちゃんと、kの(z1,z2)は入るのでしょうか?
659 名前:デフォルトの名無しさん [2012/01/04(水) 15:14:55.75 ] >にはちゃんと、kの(z1,z2)は入るのでしょうか? 自分で試せよ w
660 名前:デフォルトの名無しさん [2012/01/04(水) 15:20:51.45 ] >>656 なるほど、あなた超頭いいですね。 こういう"の用法をたとえば本で書くときに >>656 の説明までちゃんと書いてくれてる本の作者こそ 物を書くセンスがあるといえる。 いままで"の由来について書かれたものは見たことがなかった。 >>656 さんは自分でこの考えを発見したの? そうすると、先の 「"=countif(A1:A80,""<=2"")" の前後をさらに"で囲むとどうなるの?」 の回答は、こうなるね。↓ """=countif(A1:A80,""""<=2"""")"""
661 名前:デフォルトの名無しさん [2012/01/04(水) 15:21:30.46 ] ここで皆に宿題だが 「"""=countif(A1:A80,""""<=2"""")"""」をさらに"で書くと、どうなるかね?
662 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:30:48.26 ] >>660 俺は VB言語では文字リテラルの囲いは「"〜"」 VB言語では「文字 "」のエスケープシーケンスは「"」 という説明を本で読んで、それをちょっと詳しく解説しただけで このルールを発案した人じゃないから、べつにそう大げさに褒められるほどのものじゃないが
663 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 16:17:05.03 ] 早く 冬休み終わらないかなーー スレチ話しがウザイ
664 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 16:28:28.39 ] ちょっとしたスレチ話にムキになって突っかかっていくような幼稚な奴も 冬休みが終れば消えますかね?
665 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 16:31:25.24 ] 残念、永遠に冬休みでした
666 名前:デフォルトの名無しさん [2012/01/04(水) 16:49:58.19 ] スレチを指摘する人はいるけど 適切なスレに誘導する人はあまりいないね。 そのほうがウザイスレチ話が減って有益だと思うんだけどな。 スレチ話ですまん。
667 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 17:32:31.98 ] ここ以外でVBAを扱ってるスレはないからね
668 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 17:48:08.95 ] そうでもないけどね
669 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 18:32:42.17 ] >>647 をお願いします。。。
670 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 19:20:53.96 ] >>669 これが最後ね Sub 逆行列2() Dim A Dim x As Double Dim z Dim i As Long, j As Long, k As Long A = Range("a1").Resize(3, 6) For k = 1 To 3 x = A(k, k) For j = k To 6 A(k, j) = A(k, j) / x Next j For i = 1 To 3 If i <> k Then x = A(i, k) For j = k To 6 A(i, j) = A(i, j) - x * A(k, j) Next j End If Next i Next k Range("a10").Resize(3, 6) = A End Sub
671 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 20:33:36.18 ] >>670 もう来るなよ
672 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 21:57:59.60 ] >>671 >>669 に言えよ w
673 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 23:36:33.96 ] 間違ってはいない
674 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 23:38:23.54 ] そう言えば、前スレで話題になったサンプルコレクションの本、第3版出たのね。 パラパラ見たけど、印刷文字薄くて見にくくなってた。でも、2010での動作可否が載ってるのはいいなと思た。 参考までに…
675 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 14:07:22.28 ] Dこーてーしょんは、ユーザー自作メニューを汎用コードで作る時に地獄をみるのだ
676 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 22:22:32.41 ] ボタンとかラベルとか動的に作成するとこはできますか? 出来る場合、動的に作成した物へのアクセスはどうすれば良いですか?
677 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:04:23.48 ] 私の辞書に調べるという文字はない
678 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:19:10.07 ] >>676 VBAは知らんが、普通のOOPなら、できて当然だな ボタンなりラベルなりのオブジェクトを作ってビューに配置 してやればいいだけだもんな アクセスも自分で作ったオブジェクトだからわかるし
679 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 00:03:31.02 ] >>676 たとえばボタンを作成して制御するなら Dim button1 As Object Set button1 = ActiveSheet.Buttons.Add(200, 200, 100, 25) ' left, top, width, height button1.OnAction = "Macro2" 既存のボタンにアクセスするなら Dim button1 As Object Set button1 = ActiveSheet.Buttons(ボタンのインデックス) たぶん
680 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 00:03:40.27 ] VBA知らん奴が何しに来たの?ん?質問かい?
681 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 00:12:11.56 ] VBA(VBも?)の場合、オブジェクト変数に代入する場合、 変数名の前にSetをつけなければならない理由はなんなのでしょうか? そういう言語仕様だからというだけでしょうか? それとも、同じオブジェクト変数に代入する場合でも、Setを伴う場合と 伴わない場合の2ケースあるのでしょうか?
682 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 00:49:42.22 ] 引数が9つある関数って他人が見たらどう思う?
683 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 00:59:14.44 ] それなりの理由があれば問題無いな。 Excelのメソッドも、省略可能とはいえ引数がやたら多いのが結構あるし。
684 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:05:06.22 ] >>681 もともと初期の vb にはオブジェクトの概念がなく、後付けでオブジェクトを導入したとき、 既存仕様を維持してオブジェクトをサポートするために、特別な Set キーワードを導入した とかそんな話だった気がする Dim a Dim b Set a = Range("b2") b = Range("b2") 変数 a には Range オブジェクトが格納される 変数 b には Range オブジェクトのデフォルトプロパティが格納される
685 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:16:11.71 ] >>684 変数にオブジェクトは格納されないよ〜
686 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:16:15.37 ] >>684 なるほど、SetありもSetなしも文法上は許容されるのですね であれば、Setキーワードの意味はありますね この例でいうと、デフォルトプロパティは何を指しているのでしょうか?
687 名前:684 mailto:sage [2012/01/06(金) 01:55:17.69 ] >>685 すみません、オブジェクトの参照ですね >>686 厳密にはかなり面倒で、 Range には _Default という隠しプロパティがあってそれがデフォルトプロパティになるらしい _Default には引数(RowIndex, ColumnIndex)を与えることができて、 引数ありだと Item(引数)の評価結果、引数なしの場合は Value の評価結果を返すらしい まあ、通常は Value と覚えておけばよいかと
688 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:27:20.28 ] Setは参照の代入だが、Setは省略できないぞ Letっていう値を代入する命令があって、これは省略できる(というか書いてる事がほとんどない) 文法的には省略されてるのはLet
689 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:30:27.74 ] >>688 つまり、>>684 の Dim a Dim b Set a = Range("b2") b = Range("b2") のb = 〜の行は、 Let b = Range("b2") と解釈されて、そのとき代入されるのが_Defaultプロパティということ?
690 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 03:07:22.43 ] >>689 うん
691 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 03:11:34.65 ] Letなんてキーワード見たの何年ぶりだろ 昔の教科書には必ず書いてあったけど最近の入門書は最初からスルーしてるよな 試してみたらこれはエラーになった Let a = Range("A1")._Default
692 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:21:26.80 ] >>691 Let a = Range("A1").[_Default]
693 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:30:27.21 ] LETとかN-BASICですら使ったことがないなw
694 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 09:57:24.70 ] やたら丁寧なコードを書くやつがよくLet使ってたな。 長く書くのが趣味だったんだな。
695 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:40:30.41 ] >>681 君>>457 じゃないよね?
696 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 20:07:54.28 ] 凄くどうでもいいです……
697 名前:681!=467 mailto:sage [2012/01/06(金) 22:35:09.33 ] >>695 ちがいます
698 名前:681!=457 mailto:sage [2012/01/06(金) 22:35:30.94 ] >>697 あミスったw
699 名前:681!=457 mailto:sage [2012/01/06(金) 22:36:55.85 ] >>690 どうもありがとうございました。 了解しましたm(_ _)m
700 名前:デフォルトの名無しさん [2012/01/07(土) 02:53:29.64 ] 質問です。 beebee2see.appspot.com/i/azuYl9K_BQw.jpg このように、選択してある[C]の列だけを別の場所(あらかじめ決めているCという枠)へ移したい場合はどうすればいいのでしょうか? コピーは出来なかったのです。
701 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 07:40:10.04 ] Areasプロパティ
702 名前:デフォルトの名無しさん [2012/01/07(土) 09:12:33.09 ] >>700 質問の仕方が悪いと思うよ Excelで単純に"C"と書いたら、通常はシート左端から3列目の"C列"のことだと思われる。 貴方が貼った画像だと"A列"に"C"と書いてある"2","3","4","9"の"行"が選択されてる。 コピーしたいのは選択範囲の"すべての行"なのか、それとも選択範囲の"C列"なのか、 どっちか分からない。
703 名前:デフォルトの名無しさん [2012/01/07(土) 09:50:23.96 ] >>700 ふつうにA列をフィルタして 抽出されたセルたちを「切り取り」して 他所に「貼り付け」してOKと思ったけど、 うまくできないね。 「切り取り」して「貼り付け」だと、フィルタで隠れた行まで移動してしまう。 「コピー」して「貼り付け」だと、フィルタしたものだけがコピーされるのに。 自分もこんな発見をして勉強になったよ。 力にはなれなかったけど、うまくいく方法が見つかるといいね。
704 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 09:51:31.30 ] >>702 すいませんでした。 2.3.4.9の選択されている行です。
705 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 12:53:42.20 ] 22 名前:名無し募集中。。。[] 投稿日:2012/01/06(金) 23:40:34.39 0 AKB=金正恩 この意味わかるか AKBという捏造ブームの裏に何があるか見えるか?
706 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 12:56:07.04 ] >>700 選択範囲は Application.Selection で取得できるけど、 選択範囲が複数になる場合、Application.Selection.Areas に各選択範囲(Rangeオブジェクト)のコレクションが格納される 面倒だけど、最初に Areas の値を保存しておいて、ループ処理で各 Range 毎に処理するとかになるんじゃないかなあ
707 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 13:16:59.99 ] >>700 とりあえず手動で今の状態からコピーしたいなら複数行の選択じゃなくセル範囲の選択でコピーしたら 貼り付け先には飛ばした行を詰めて貼り付けできるけど。
708 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 15:02:44.54 ] >>700 関数使いたいなら作業列使えば可能 作業列1 =IF($J$2=A2,COUNTIF($A$2:A2,A2),"") 作業列2 1から連番 作業列3 =MATCH(G2,$E$2:$E$28,0) L列 =IFERROR(INDEX($B$2:$B$28,H2),"") M列 =IFERROR(INDEX($C$2:$C$28,H2),"") ozcircle.net/_uploader/69930900 常にデータが増える表ならVBAの方が楽だけどそうでもないなら関数の方が早い。
709 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 15:28:48.21 ] >>704 やっぱりよく分からない 複数選択範囲(行単位)の移動(カット&ペースト)が行いたいが、通常では複数選択範囲のカットができない、というだけ話なら 移動先を ActiveSheet.Range("100:100") と仮定した場合、 Application.Selection.Copy(ActiveSheet.Range("100:100")) Application.Selection.Delete() のようにコピー+削除でいけると思うけど、そういう話ではないの?
710 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:08:58.21 ] >>703 .>>706->>709 レスありがとうございます! >>700 の者です! 初心者かつ、語彙力がなく、説明不足ですいません。 わからなかった言葉もぐぐってみます! >>709 さんの回答が一番近いと思うのですが、 私はカットではなく、[A.B.C]とグループ分けをしたうちの[C]だけを別のページをコピーペーストしたいです。 簡単にいうと、複数選択のコピーの方法が知りたいです。 beebee2see.appspot.com/i/azuY3Iu-BQw.jpg この画面でいうと、3.5.6.7.12.15行目をコピーしたいです。 右クリックでコピーを選択すると beebee2see.appspot.com/i/azuYvILBBQw.jpg このような画面が出ます。 一つ一つ貼っていくには膨大な量なので時間が足りません。 皆さんが教えて下さった数式(?)関数(?)を今から試してみようと思います! それらが出来たらまたここに来て見ます。 何度もすいません、もう少しお付き合い下さい… ありがとうございます。
711 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:43:31.57 ] >>710 >>709 の例は複数選択可能で、2行目のDeleteしなければただのコピー 現在のシートの選択行(複数選択あり)をたとえば シート(Sheet3)の10行目にコピーしたいなら Application.Selection.Copy (ActiveWorkbook.Worksheets("Sheet3").Range("10:10")) みたいなマクロだけでいけると思うけど
712 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:57:02.57 ] >>710 > この画面でいうと、3.5.6.7.12.15行目をコピーしたいです。 > 右クリックでコピーを選択すると > beebee2see.appspot.com/i/azuYvILBBQw.jpg > このような画面が出ます。 > たぶん行の選択の仕方が間違っている ちゃんと選択すれば、そんな警告はでないしコピーできる
713 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:03:54.59 ] >>712 ああ、行を選択してコピーしたあと、セルを選択して貼り付けようとするとその警告ですね。 貼り付ける時も行を選択して貼り付けたら警告でないです。 ていうか>>710 は手動で選択してますよね。膨大な量というなら行を選択してる時点ですでに 間違いだとおもう。 オートフィルタ後コピペかABC列を昇順・降順並べ替え後にコピペが普通だとおもう。
714 名前:デフォルトの名無しさん [2012/01/07(土) 19:07:31.79 ] >>710 なんか操作を間違ってないか? 複数の行を選択しているとして 右クリックから「切り取り」ならそのエラーが出るけど、 「コピー」だとエラーでないよ。 まぁ複数範囲の選択をしたときにいつでもコピーできるわけじゃなく、 たとえばA1とC3を選ぶみたいに行も列もばらばらの範囲だとコピーもできない。 Range(A1:C3)とRange(E1:G3)みたいに列が同じで行だけ飛んでる場合なんかはコピーできた。
715 名前:デフォルトの名無しさん [2012/01/07(土) 19:12:24.86 ] >>710 の訂正で >私はカットではなく、[A.B.C]とグループ分けをしたうちの[C]だけを別のページをコピーペーストしたいです。 は、 [C]だけをコピーし 別のページにペーストしたいです。 わかりづらくてすいません。 今からレス返します。ありがとうございました。
716 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:14:22.35 ] >>711 なるほど! そのマクロ(?)をペーストしたいセルに打ち込めば出来るんでしょうか? 今してみたら何も起きませんした…
717 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:15:13.48 ] >>712 選択の仕方が間違えていますか!そうかもしれません。 今は、コントロールキーを長押ししながら選択しています
718 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:18:12.73 ] >>713 ありがとうございました!!!!!コピー&ペーストできました!!!!、 本当にありがとうございました! こんな皆様の高度な知識の中基本も知らない私が頼りに頼ってしまいすいませんでした…… 本当に助かりました! ありがとうございました!!!!!
719 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:19:45.13 ] 複数選択の手動は大変ですがオートフィルの昇順がよくわからないので、今回は手動でいきます。 本当にありがとうございました!
720 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:25:26.20 ] >>719 こっちで質問したほうがよかったね toro.2ch.net/test/read.cgi/bsoft/1319632190/
721 名前:デフォルトの名無しさん [2012/01/07(土) 19:25:40.93 ] >>719 オートフィルじゃなくてオートフィルタだよ A列選択しといて ツールバーのデータ(D) -> フィルタ(F) -> オートフィルタで A列の項目を選択してコピーできるようになる
722 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:28:14.13 ] と思ったたら、もうしてた
723 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 01:33:43.29 ] どうでもいいけどプリントスリーンってがあるよ
724 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 01:44:13.00 ] vbaでパケットキャプチャって出来る?
725 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 07:34:05.68 ] どっかでカーネルドライバが必要になるから、単体だと無理な気が。
726 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 09:50:28.06 ] そうやってカーネルで遊ぶんだよ。 たしか、井上も推奨してたな。 カーネル遊び
727 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 19:15:54.10 ] 震災前 /::::::::::::::::::::::::::::::;;::ノ ヽ;::\ /::::::::;;;;;;;;;,,,;;...-‐''"~ ヽ:;::l |:::::::::::| 岡田 異音 |ミ| |:::::::/ ,,, ヽ,、 '|ミ| '|:::::::l '''"" ゙゙゙゙` |ミ| |:::::|. ,,r ‐、 ,, - 、 |/ ,/⌒| ノ ・ _), (. ・ `つ| | ( "''''" |"'''''" | ヽ,,. ヽ | | ^-^_,, -、 | | _,, --‐''~ ) | マニフェストもう守れない。どうしよう・・・・ 'ヽ ( ,r''''''‐-‐′ / 震災後 |:::::::::/ |ミ| |::::::::| ,,,,, ,,,,, |ミ| |彡|. '''"""'' ''"""'' |/ /⌒| -=・=‐, =・=- | | ( "''''" | "''''" | .ヽ,, ヽ .| キリッ | ^-^ | . | ‐-===- | 大震災が起こったのだからマニフェストの破綻も致し方ありません ,\. "'''''''" / 朝鮮民主党 おわり
728 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 01:54:46.47 ] ビジネスsoft板でVBAのスレ探してたんだけど、なかった。 プログラマ板だったのね。VBAやれる人はプログラマでいいんだ。 HTMLとCSSはできてもプログラマじゃないって言われたことあるけど。
729 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 02:55:30.12 ] VBAやれる人がプログラマと呼べるとは限らない。 プログラマが触る対象がたまたまVBAだったならマ版にスレが立つだけで。
730 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 08:00:22.21 ] ちょっと何いってっかわかんないっすね
731 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 14:41:45.23 ] パスワードかけるのを標準モジュールだけとかできる?
732 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 17:09:08.89 ] あれはプロジェクト単位でしょ
733 名前:デフォルトの名無しさん [2012/01/10(火) 22:42:54.05 ] A列の一番最後にデータが入力されている箇所を取得したい場合 下記で良いと思いますが Range("A60000").End(xlUp).Row 上記以外の方法つまりRange("A60000")の記載がソースとして綺麗ではないので もし他のやりかたとかあれば教えてください
734 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 22:50:42.61 ] >>733 cells(rows.count,1).end(xlup).row
735 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 23:30:01.65 ] 皆どれくらい勉強してVBAを使いこなせるようになった?
736 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 23:36:00.15 ] 10年以上やってるけど使いこなせてるとは思えない どこまでできれば「使いこなした」ことになるんだ?
737 名前:デフォルトの名無しさん [2012/01/10(火) 23:58:18.81 ] VBAがある程度以上できる人の、他のPCスキル状況を知りたい。 Excel関数、Word文書づくり、Accessデータベース構造、Powerpointの効果的飾りや、 それにとどまらず、JAVA, JAVAScript、VisualBasic、VisualC++、 HTML、CSS、Perlや Network、TCP/IP、Unixも完璧にマスターしたりしてる?
738 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 06:38:45.74 ] >>735 処理重くてもなんでもいいからこれ自動化したいと思った事をそれなりにできるようになる ぐらいなら1日1時間で3ヶ月目ぐらいには出来てた。 後からの修正がやりやすいようにクラスを使うようになったのは1年過ぎてから。 現在は、4年過ぎた今でも、ちょっと凝った事する時はネットに繋がったPCで調べれないと ちょっと困る。 VBAでゲームとか作ってる人のレベルには永久に到達しないと自覚してる。
739 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 07:33:35.99 ] ゲームが作れるのと、Excelの機能を活かせているかは全然別問題。 どちからというと縄張りの違いだな。 ユーザーから提供されたシートが、Excel関数活かしまくりで驚かされることも多々あるし。
740 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 12:30:34.70 ] 関数を駆使してるようじゃ素人。 Excel扱うならほとんど関数は不要。
741 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 16:52:14.30 ] いるよな。ワークシート関数にあるの知らないで自作関数でバグ出すやつ
742 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 17:21:24.04 ] worksheet関数のコードって知ることできない?
743 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 17:44:07.83 ] 埋め込み関数もVBAも両方使えば良いだろ。 VBAコードにするまでもない場合あるし、 VBAとハイブリッドでつこてもいいじゃろし。
744 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:25:16.48 ] カレントドライブを変更する方法教えてください Sub testdirectory() Dim fld As String fld = "c:\temp" If Left(CurDir, 1) <> Left(fld, 1) Then ?????????? End If End Sub ↑の???です。 chdirはフォルダは変更してもドライブが変更しないってあるんで、ドライブを変える方法を知りたいです
745 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:38:07.98 ] chdriveは違うの?
746 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:58:48.97 ] それです^^;ありがとう
747 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:09:25.88 ] とあるwebサイトのHTMLテキストを取得してそれをエクセルに反映させたいのです 方法を誰かおすえて
748 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:20:46.34 ] >>747 それだけだと何とも言えん Webクエリでも使っとけ
749 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:43:29.63 ] >>748 ソースを取得したいのです
750 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:47:40.97 ] >>749 >>261-264 あたり
751 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:48:51.00 ] >>749 そーっすか。
752 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:58:51.34 ] >>534 これ分かる方いませんか? ツリービューを使っていますが イメージリストコントロールver6 ツリービューコントロールver6 両方チェックいれています ちなみにソースコード内全て検索しましたがRangeは使っていません
753 名前:752 mailto:sage [2012/01/11(水) 20:03:21.58 ] 頭冷やしたら解決しました
754 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:11:29.98 ] functionである範囲を入力としてとる関数を作っています。 その範囲内の単一のセルが書き換わったとき、そのセル位置を取得方法を教えてください。 2003です。
755 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:27:21.73 ] 文章がよくわからんがWorksheet_Changeイベント使ったらどうですか
756 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:45:34.14 ] Dim K-ON! As Nyan
757 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:09:24.89 ] As Nyan が言いたいだけなんじゃないかと
758 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:14:26.15 ] Dim Anal As Hole
759 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:30:25.15 ] >>755 sum関数みたいな範囲指定なんですが、 変更した数値に対して処理を付加したいんです。 直前のセルの値をstaticで保持しておいてもいいのですが、 全数を比較処理して、変更箇所を見つけるプロセスは処理コストかかるので、 簡単にできないかと。
760 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 00:11:10.87 ] >>759 Worksheet_Change
761 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 08:57:38.12 ] >>759 ユーザー定義関数? だとしたらそのアプローチが間違ってるよ 処理を付加とかわかんないから詳しく
762 名前:デフォルトの名無しさん [2012/01/12(木) 16:11:18.52 ] 2chやニコニコ動画に民主党から反日工作費が流れていることが知られるようになってきた。 民主党が用意した資金で工作員が2chを荒らしていることもだんだんと知られるようになってきた
763 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 19:56:33.69 ] >>759 あいかわららず何がしたいか全然わからいけど例えばこんなこと? B1に下記のように式が入力してあって =SUMもどき関数(A1:A2) 直前の操作(変更)がA1かA2なのかによって B1に表示される結果を変えたいということかな。 だったら無理だと思う。
764 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 02:56:51.89 ] スレ違いなら誘導していただけるとありがたいです。 環境の都合上、vbaで作らなければいけないのですが、 別アプリケーションの指定したピクセルの色で判断し、 キー入力をエミュレーションしたいです。 別のアプリケーションの色の取得はどうすれば出来るでしょうか?
765 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 04:55:15.99 ] >>763 それなら出来る。 面倒くさかったけど作ったことがある
766 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 08:31:16.77 ] マクロ有効ブックAのvbaで別のマクロ有効ブックBを開き、ブックBはWorkbook_Openイベントで自分自身を編集します。 編集後にそのブックBを手動で別のフォルダに保存したいのですが、 『名前をつけて保存』のダイアログボックスはブックBの元の読み込みフォルダを開いてしまいます。 これを自分の好きなフォルダを開くようにマクロから設定できないでしょうか?
767 名前:766 mailto:sage [2012/01/13(金) 09:23:12.96 ] ちなみに、ブックBのマクロ内で ChDir "C:\" としてもダメでした。 ChDir "C:\" S = GetSaveAsFilename() ThisWorkbook.SaveAs S とかならC:を開いて保存できますが、 保存するかどうかは任意なので できれば手動で『名前をつけて保存』を選び、 そのときに指定したフォルダでダイアログボックスを開くようにしたいのです。
768 名前:766 mailto:sage [2012/01/13(金) 09:26:35.73 ] すみません、ちょっとミスってました >S = GetSaveAsFilename() は >S = Application.GetSaveAsFilename() の間違いです。
769 名前:デフォルトの名無しさん [2012/01/13(金) 12:03:05.01 ] 2000版だと ChDir "C:\xxx" Application.Dialogs(xlDialogsaveAs).show もし違ったら新しいマクロの記録を使ってダイアログボックスで保存した後、記録の終了→マクロを開いて編集して下さい
770 名前:766 mailto:sage [2012/01/13(金) 12:49:53.26 ] どうもありがとうございます 都合により、来週水曜日まで そのマクロにさわれないので来週試します。 本当にありがとうです
771 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 21:36:08.80 ] >>764 Win32APIで別アプリのウィンドウハンドルを取得 これでわからなかったら、正直に「できません」と言ってあきらめろ
772 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:59:40.19 ] 野田改造内閣に早速疑惑浮上 @aritayoshifu 有田芳生 捜査当局が内偵を続けている農水疑惑。詳細な怪文書まで出回っている。3億円の 行方はどこに? @minorucchu ジャーナリスト 田中稔 野田改造内閣を揺るがす、農水省3億円スキャンダルの怪文書。二人の議員名が浮上。 34分前 webから https://twitter.com/#!/minorucchu/status/157687110562881537 鹿野と筒井らしい 自公は問責も視野に調査開始だって
773 名前:デフォルトの名無しさん [2012/01/14(土) 01:11:28.42 ] A1=1 B1=あいう A2=2 B2=かきく A3=3 B3=さしす 1.txt、中身があいう といったテキストをUTF-8で複数作成したいのですが どうすればよいでしょうか? Sub out_ex_euc() Dim MyIndex, myADOstr For MyIndex = 1 To 3 myADOstr = FreeFile Set myADOstr = CreateObject("ADODB.Stream") myADOstr.Charset = "UTF-8" Open Cells(MyIndex, 1) & ".txt" For Output As #myADOstr Write #myADOstr, Cells(MyIndex, 2).Text Close #myADOstr Next MyIndex End Sub こんなの書いてみたのですがダメでした
774 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 01:36:06.05 ] >>773 なんでプロシージャ名がeuc?ってのはおいといて、FreeFileとか宣言してない変数がいきなり出てくるあたり どっかのコピペなんだろうけど、もうちょっと落ち着いてコードを見直そうね Sub out_ex_euc() Dim MyIndex, myADOstr For MyIndex = 1 To 3 Set myADOstr = CreateObject("ADODB.Stream") myADOstr.Type = 2 'Textモード myADOstr.Charset = "UTF-8" myADOstr.Open myADOstr.writeText Cells(MyIndex, 2).Text myADOstr.saveToFile Cells(MyIndex, 1).Text & ".txt", 2 myADOstr.Close Set myADOstr = Nothing Next End Sub
775 名前:デフォルトの名無しさん [2012/01/14(土) 01:53:53.22 ] >>774 有難う御座います! 無事出来ました。 本当に助かりました。
776 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:31:16.38 ] 指定されたフォルダー内のファイル名を作成日時の 降順に並べ替えるにはどうすればいいでしょうか? ファイル名の一覧を取得して、別の配列に作成日時を 比較しながら挿入して行く方法しか思いつかないのですが、 もっと簡単な方法はありますか?
777 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:44:00.25 ] dir /b /a-d /od の実行結果を取り込む。
778 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:52:12.23 ] >>774 > FreeFileとか宣言してない変数 変数じゃないし。 まあ、ADODB.Stream 使うなら関係ないけど。
779 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:57:19.44 ] dir /b /a-d /od- だったw
780 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:07:46.00 ] >>779 /tc
781 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:48:47.05 ] ファイルディスクリプタを返す関数か
782 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:53:31.63 ] >>773 >>774 >>778 AODで UTF-8のtxt作る場合にはBOMがくっつくから 不要ならばバイナリで扱って掃除しないと困るよん。 と、焼酎飲みながらカキコ
783 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 16:45:49.71 ] 反日ネット工作員 朝日新聞社→社員約300人 民主党とその取り巻きの資金が入った反日工作会社→数社約450人 朝日新聞の社員は捕まった49歳の編集者を含め新聞記事を書く合間に2chを荒らしている程度とみられているが 民主党が用意した反日工作会社はほぼ24時間体制で工作を行っている 工作範囲は民主党が予め工作費を流している2ch、ニコニコ動画を中心にyoutube、個人のブログなどである。
784 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 18:01:51.55 ] detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1479372954
785 名前:784 mailto:sage [2012/01/14(土) 18:05:05.75 ] エクセルマクロで十分そうな物をSEに頼むか普通。
786 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 19:37:32.74 ] >>782 >15:53:31.63 >15:53:31.63 >15:53:31.63
787 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:42:32.23 ] >771 ありがとうございます。無事書けました。 プリントスクリーンして〜 とかトンチンカンなことを考えてました。
788 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:11:07.35 ] codepad.org/tyOKeGsr のような構造体配列があって年度別に成績を格納するところまではできたんですが、 総合計を出すために nen = 9999 のところにどうやって加算するのかでつまずいて ます。 みなさんのお知恵をぜひお借り出来れば m(_ _)m
789 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:56:18.31 ] >>788 それだけじゃわからん
790 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 23:03:13.96 ] > 最後に総合成績のためのidxを設ける 普通に Public 合計 As nendobetu_seiseki って宣言して、それに足しこんでいけば良いんじゃね? nen は、無駄になるけど気にしない。 そもそも、nen を持つ必要はないと思うし。
791 名前:788 mailto:sage [2012/01/15(日) 23:07:29.37 ] なかなか上手く伝えられないですが^^;、イメージ的には 年度 勝 負 2004 12 6 2005 21 2 2006 18 1 2007 18 4 2008 13 4 2009 13 4 2010 15 4 2011 13 4 2012 0 0 9999 0 0 となっていて、勝・負の数を9999のところに足しこみたいということです。
792 名前:788 mailto:sage [2012/01/15(日) 23:13:43.40 ] >>790 そういえば、確かに無理やり配列の中でやらなくてもいいですね^^; 分かりました。 ありがとうです
793 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 23:55:42.31 ] 民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している 野田内閣は過半数が帰化人 野田はどうだろうか 韓国人から賄賂を貰い、韓国人の集いに出席している野田は 首になった蓮○はシャブで逮捕歴のある人間と仲が良いな。蓮○自身はやってんの? い-6-1 テレビが言えない民主党のスポンサー=韓国北朝鮮 あとはもうわかるよな
794 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 00:20:33.95 ] XP Excel2003です 複数のPCでブックの共有をしてるのですが、Excel以外にも アプリを起動しているので常に前面にExcelがあるわけではないです。 この状態でAのPCで共有ブックをマクロを実行して更新したことをBのPCで 気づけるようにしたいのですが良い方法はないでしょうか? msgboxを試してみたのですが実行したPCでしか表示されませんでした。
795 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 00:44:47.83 ] >>794 VBAにこういうのを埋め込む ttp://oshiete.goo.ne.jp/qa/2172332.html
796 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 17:25:31.76 ] ちょっと質問。 実行時にウインドウを閉じてバックグラウンドで動作させるプログラムを組みました。 内容は、webクエリを実行してコピー→別シートに貼り付けというのが大まかな流れ。 それで、手持ちのノートPCなら動作中は他のプログラムを問題なく使える。 だけど、デスクトップで実行すると画面がチカチカしてクリックがうまくいかなかったり フォームに文字を入力できなかったりします。 動かすパソコンによって動作の違いってあるのでしょうか? パソコンはともにwin7 64bitでoffice2010です。
797 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 00:19:40.90 ] IEで開いたとあるサイトのテキストボックスに、エクセルのセルの値を貼り付けているVBA組んでいますが、 他のテキストボックスには値のが入るのですが、特定のテキストボックス入らず困っています。 (VBA知識は、「マクロの記録」+入門書レベル) プログラムは Dim strData(10) As String Dim objIE As Object で定義した変数に strData(0) = Cells(intRow, 4).Value 値を変数に入れて objIE.Document.getElementById("TEXT_BOX09").Value = strData(0) って感じでIEのテキストボックスに入れていきます。 その問題の特定テキストボックスが、他のテキストボックスと違いそうなトコは以下の2点です。 1. そのテキストボックスは、隣にカレンダーボタンがあり、クリックするとカレンダーがでてきて、日付を選択すると その日付がテキストボックスにはいる ただし、Sendkeysでためしに、クリップボードの文字列を{~v}で貼り付けたら入るので・・よく分りません・ 2. type=hidden テキストボックスがhidden型?の場合は何か特殊な処理必要なのでしょうか?
798 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 01:14:03.52 ] hiddenはテキストボックスじゃないし、そもそもブラウザ画面に表示されないし hiddenなフォームフィールドに貼り付けとかどうやってできるのか俺には解らない ホントにVBAの問題かちゃんと切り分けてから質問してくれ どうせJavaScriptかなんかで上書きされてるってオチだろう
799 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 01:23:01.92 ] >>797 hiddenの値を書き換えたいならIEを外からコントロールするんじゃなくて、submitまでの処理を自前でやった方が簡単 たとえばGoogleの検索はqという名前のテキストボックスに検索ワードを書き込むけど、 URLの末尾に「q=文字列」と追加しても同じ結果が得られる hiddenで隠されたパラメータも同じ方法で自由な値を送信することが可能 例 ttp://www.google.co.jp/search?q=文字列&num=20 numというのは表示される件数。設定画面で変更してcookieに保存されたパラメータがhiddenで送信されている
800 名前:797 mailto:sage [2012/01/18(水) 10:22:32.24 ] >798 ありがとうございます。JAVAの問題なのか。となると、これはVBAで操作ではできないことなんでしょうか。 ちなみに該当するとあるサイトのhidden(?)なテキストボックス(?)に20111225と、手入力した状態のソースです。 こんな感じで、そのテキストボックスに20111225と数字をVBAでエクセルからコピペしたいのです。 </TH><TD> <INPUT tabIndex=6 onchange="KCCDateTextUtils.onChangeText( this );" value=20111225 maxLength=8 size=8 type=text tabIndexOrder="6"> ↑サイトに20111225と手入力した時の、テキストボックス(?)の要素 <INPUT id=TEXT_BOX09 value=20111225 type=hidden name=TEXT_BOX09 kccext="dateText"> <INPUT type=hidden> ↑TEXT_BOX09にVBAで値を入れることはまではできますが、テキストボックス(?)に反映されないのが困りごとです。 <INPUT tabIndex=6 onclick="return KCCDateTextUtils.showCalendar( '〜〜/init.do' , this );" src="/〜〜/img/icon_calendar.png" type=image tabIndexOrder="7"> ↑テキストボックス(?)のとなりにある、カレンダー呼び出しボタン >799 URLでできるかも確認してみます。
801 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 11:30:47.40 ] >>800 間違ってるかもだけど なんとなく <INPUT tabIndex=6 onchange="KCCDateTextUtils.onChangeText( this );" value=20111225 maxLength=8 size=8 type=text tabIndexOrder="6"> これがあるのに <INPUT id=TEXT_BOX09 value=20111225 type=hidden name=TEXT_BOX09 kccext="dateText"> なぜここへ値を入れようとしてるの? VBAで値を入れるべきところは前者のような気がするんだけど
802 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 11:33:35.05 ] >>800 間違いなくJavascriptで入力内容をチェックしてるね (ちなみにJavascriptとJAVAは名前は似てるけど完全に別物だからきちんと区別してね)
803 名前:797 mailto:sage [2012/01/18(水) 15:05:07.95 ] >>801 ありがとうございます。 そこの使い方がわからなかったんです。 前者に20111225と値を入れたいのですが・・・ VBAで変数から入れようとしたら、 「name=」も「id=」もないので objIE.Document.getElementById("−−−−").Value = 変数 でどう使えばいいのかわからなかったとこです。
804 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 15:29:00.19 ] >>803 VBSのサンプルだけどここが参考になると思う 7.10 フォームの操作3/フォーム名やコントロール名が無い場合 www.happy2-island.com/vbs/cafe02/capter00710.shtml ちなみに onchangeはたぶん動作しないと思うが javascriptが動かないとまずいときは値を入れた後そのテキストボックスに対して .OnChange とかしてみるといいいかも 例:objIE.document.forms(0).Item(5).OnChange
805 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 17:35:23.98 ] 型が一致しません。と出ます 原因を教えてください。 For t = 3 To 100 For y = 2 To 50 If Worksheets("01").Cells(t, y).Value > 10 Then Worksheets("02").Cells(t, y).Borders.LineStyle = True End If Next y Next t
806 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 17:59:44.63 ] >>805 Worksheets("02").Cells(t, y).Borders.LineStyle = xlContinuous
807 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 18:25:30.15 ] >>806 それでやってみましたがやっぱりエラーが出ます
808 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 18:25:53.32 ] >>804 多謝! 目的の操作ができました。
809 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 18:48:18.95 ] >>805 ステップ実行でどこでエラーか調べてみて
810 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 18:53:01.55 ] >>807 tとyの型宣言はどうなってる
811 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 19:31:13.60 ] >>809 ここまで黄色の帯がかかります If Worksheets("01").Cells(t, y).Value > 10 Then >>810 Dim t As Integer Dim y As Integer よろしくお願いします
812 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 19:38:08.33 ] >>811 エラーでとまったときのtとyの値は? そのセルに入力されている値は?
813 名前:805 mailto:sage [2012/01/18(水) 19:52:01.57 ] >>812 セルの値が#DIV/0!になっていたのが原因だったようです お騒がせしました
814 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 19:56:59.65 ] 参照エラーね・・・・。 参照は小粒でピリリと辛いって言うからねぇ
815 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 20:01:18.80 ] あ・・・0除算だから参照エラーって言わないのかな? 如何ざんしょう?・・・・ナンツッテ
816 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 17:43:20.40 ] エクセルのシートで、使用されている行、および列の数ってどうやって抜き出すのが良いんでしょうか? excelvba.pc-users.net/fol7/7_3.html www.happy2-island.com/excelsmile/smile03/capter00702.shtml 一応調べてはみたのですが、 プログラムを組む時に基準に出来るような、正確に中身を測れる方法ではないのでしょうか? 正確に使われているセルを調べる方法が無いなら、データを保存するだけのシートを 分けて作って、普段見えないようにしておき。 見る時は、別シートの参照値だけを記述したシートを見るなんて運用になるんでしょうか?
817 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 18:34:19.73 ] >>816 もっとわかりすくお願いします
818 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 19:08:45.09 ] >>817 UsedRangeは空白の列や行が二つ以上続くと使われたセルの値を正確に返せない。 Endプロパティだと、列と行を一つずつ調べなければならない そして列や行の端に値が有るのか無いのかの区別も別途ロジックを用意しなければならない と言う認識なんだけど。 適当に作ったシートの中身をここら辺のプログラムで読み取るのって 汎用性が有る記述方法が見つからなかったんですが。 そもそもシートの記述の時点で、ユーザーフォームからしか書き込めなくするとか、 1シートに表を1つしか作れないようにするとかって制限をかける方が無難なんでしょうか? DBに近いような物をシートに作る時はどのようにしてますか?
819 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 20:01:14.28 ] 2007以降ならテーブル
820 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 20:54:57.78 ] ごめん 816と818を何度読み返してみても、 何がしたいのか、何に困っているのか理解できなっかた。
821 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 22:23:54.84 ] >>820 プログラムの設計書をVBAで自動生成しようとしてる。 電文の設計書と、それに対応した処理をするモジュールの設計書を作るとして。 両方自動生成するつもりなんだけど、テーブル二つを一つのシートに書くと、 検索のプログラムをシートの書き方毎に作らなきゃならないし面倒そう。 1 シート毎にテーブル一つにする。 2 ファイル名=モジュールのIDとし、特定の列のN番目からデータを取り自動生成すると楽っぽい 3 動的型でも使えるっぽいので、引数でどっちかを指定すれば、エクセルファイルの幅の設定もファイルの種類毎に変えられるっぽい こんな感じの印象を持っている。 まぁ上のは例を挙げただけなんだが。 プログラムで何かをする時に、元データとして使うシート自体の書き方制限して特定の形にしておくと便利っぽいが ネットで調べる限りそんな記述が出て来ないんだけど、言葉にしないだけで結構みんなセルに特定の規則作って使ってるよね?? と、出来る限り分かりやすく書き直してみたんだけどOK?
822 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 22:39:40.26 ] >>821 そのレスも自動生成なのかい? 実用レベルには程遠いね
823 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 23:12:10.03 ] >>822 もういいやw 説明するのも面倒だし、学校の先生から説明されるような物じゃ無いと何も理解できないとかww 金貰って書いてるわけじゃ無し、理解できない奴は無視しておけば良いやw しかも実用にほど遠いってww ひな形の作成ぐらいにしかなって無いだろうよ説明的にww
824 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 01:14:31.59 ] そりゃお前は中身解ってるから理解できるだろうけどさー 一つ言える事は、ExcelをDBとして使う事は愚の骨頂。できるけど。 どうしてもやるなら入力専用シートなりフォームを作って データシートをテーブルに見立ててSQL 下手にLookUpとか使うと>>813 みたいに思わぬ所で参照エラー地獄 これで解らないなら敢えてExcelで作る必要無し Accessとかなんか得意なのが有ればそっちのが良いんじゃね? PGなんてのは一つ一つやりたい事実装してけば最後には出来るもんなんだよ いっぺんにあれこれやろうとするから解らなくなる すっ飛ばすのは数こなして慣れてからだよ
825 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 01:26:24.94 ] というかセルの型指定できるだろ 入力制限もかけられる 動的に生成したいなら、マクロの記録使ってセル設定すれば ソースが出来るから後はそれを使いまわせ
826 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 01:48:27.05 ] >>824 DBに近いような物・・・ DB自体じゃないよ PG作る時のクラスの命名規則とかいちいちDB作って登録するわけじゃないでしょ、 あくまで簡易な物 それにDBのテーブル自体もエクセルにしといた方が良いと思うが。 テーブルのデータじゃ無く、テーブルの構造な。 MVCアーキテクチャで作る時に、どのテーブルのどのデータ抜いてきたかとか分かると良いだろ。 で、参照値にしとけばって話で detail.chiebukuro.yahoo.co.jp/qa/question_detail/q127916537 こんなのも出来るし まぁどちらにしろプログラムの作り方についての質問じゃ無く。 VBAで何かする時に、元になるシートが有るわけだが、好き勝手毎回適当に作るより、 規則性持たせた方が都合が良さそうだけど、どう思う>all ぐらいな感じ
827 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 04:02:02.22 ] >>816 ヒトにとって読み易い表フォーマットは往々にして機械走査しにくいが、どんな運用ルールを設けてもなし崩しにされてしまうので、結局ニンゲンさまに合わてプログラムするしかないと諦めてます。
828 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 08:43:35.88 ] formのボタンを押すにはどうしたら? プログラムから、ボタンを押すと実行されるサブルーチンをcallするのでなく、ボタンそのものを押す方法。 プログラムは、vbaで出来なければ、他のものでも良いです。
829 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 09:27:13.58 ] 日付関係で質問 VBAでコピー元→コピー先に値の貼付を行なった際、表示がコピー先の書式設定に合ってない… どう対処したら良いっすか!? コピー元書式設定:「文字列」 値「2012/1/20」 コピー先書式設定:「yyyy"年"m"月"d"日"(aaa)」 「2012/1/20(金)」で表示されて欲しいところ「2012/1/20」になってしまう ソース '日付コピー Range(Cells(2, HidukeCol), Cells(EndRow, HidukeCol)).Select Selection.Copy '値の貼付 Workbooks(HATUKESAKI).Activate Range("B2").PasteSpecial Paste:=xlPasteValues
830 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 10:04:14.60 ] Type co num As Integer pr As Long End Type Dim CoStr(3) As co こういう構造体配列があります。 数値としては例えば num pr 1 125 2 138 3 175 みたいなのが入っていたとして、CORRELによる結果を出したいのですが、 CORREL(配列1, 配列2) となっている時、どういうふうに書けばいいんでしょうか? 今は一旦シートに書きだしてその上でそれぞれrng1,rng2に入れてから Application.Correl(rng1, rng2) として計算しています。シートに書き出さず直接計算できたらと思っているのですけど。
831 名前:教えてください [2012/01/20(金) 10:18:09.88 ] ユーザーフォーム内に10個のテキストボックスを作り、その中に数値を 入力していき、最後に別のテキストボックスに10個の数値のMAXと MINを自動的に割り出したいのですが、どうしてもうまくいきません。 AVEはいくんですが・・・。 どうか、優しい方、教えてください。
832 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 11:06:59.01 ] >>828 VB6と一緒 ここはあくまでExcelをマクロ言語操作することに関してのスレなので 例え環境としてVBAを使おうと、Excel操作以外はスレ違い >>829 コピー先に日付書式が設定されていても、それはあくまで数値(シリアル値)が入力されたら その書式に沿って表示せよという設定なだけで、文字列を入力すれば文字列のまま表示されるので 日付文字列を一旦CDateやDateValueでシリアル値に変換してから入力すれば良い >>830 VB6と一緒 ここはあくまでExcelをマクロ言語操作することに関してのスレなので 例え環境としてVBAを使おうと、Excel操作以外はスレ違い >>831 VB6と一緒 ここはあくまでExcelをマクロ言語操作することに関してのスレなので 例え環境としてVBAを使おうと、Excel操作以外はスレ違い
833 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 16:57:30.64 ] >>826 何分かけて一レス書くのか知らないけど、それと同じ時間だけ何度も読んで、同じ時間だけかけて推敲してから送信してね。
834 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:44:05.85 ] >>832 ありがとうございます。 でもセル範囲でデータを取っているため Cdateが使えません……
835 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:31:49.23 ] Dim セル As Range For Each セル In セル範囲
836 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:49:15.64 ] >>833 お前のレベルに合わせたら例3つぐらい出して、起承転結付けて最初と最後に結論かくような、 いかにも国語の教科書って書き方しないと伝わらないだろ >>819 の時点で分かる人には分かるって気が付かないか? そもそも最初の文だけでも伝わる人には伝わる。 俺に重要なのはお前に伝わる書き方をする事ではない。 同じような考察に至った人が現在どういう使い方をしているのかが知りたいだけ。 自分が経験不足で何を言いたいか理解できなかったからってこっちのせいにするな。 ここはお前のようなかまってちゃんに、必ず伝わらないと文章書いちゃいけないなんてルールは無いんだぞ
837 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:22:44.14 ] >>836 > そもそも最初の文だけでも伝わる人には伝わる。 > 同じような考察に至った人が現在どういう使い方をしているのかが知りたいだけ。
838 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:23:39.67 ] あーごめん俺>>819 だけどお前の話はさっぱりわからんわ
839 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:33:38.62 ] >>837 誰にも伝わっていないか、それとも同じような考察に至った者がいないか(笑)
840 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:37:50.75 ] ID無いとやり放題とw 使えない上司の定型文貼る奴はレベルが違いますね
841 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 07:38:58.15 ] >>839 俺にはこう伝わったぞ >プログラムで何かをする時に、元データ(略)の書き方制限して特定の形にしておくと便利っぽい プログラムで完全に不定なデータ扱うなんて、考察にいたるとかいうまでもなく 無理だってわかりそうなもんだが、彼は今初めてそれに気づいたらしい あと助詞と句読点の使い方がおかしいので、日本語が不自由な人だというのも伝わった
842 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 07:49:31.87 ] 同意
843 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 07:50:15.28 ] たぶん頭も不自由なんだろう
844 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 08:16:13.33 ] そもDBに近いようなものってとどのつまりDBじゃねーの 簡易だろうがなんだろうがDBはDBでしか無いじゃん あとPG作る時のクラスの命名規則とかいちいちDB作って登録する事は普通に有るので 無いでしょ?と問われたらNOとしか言えませぬ。 まあ一つ言える事は、どんな規則作っても 一番偉い奴がガッチリ管理し続けない限りなし崩しになるから そんなとこに無駄な労力を割く必要無し。 ルールをプリントアウトして目立つとこに貼っとけw
845 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 08:30:50.69 ] なにはともあれ質問が漠然とし過ぎてて解んねーよ 仕事なら一緒になって真面目に考えるけどさ もうちょっと具体例というか・・・あ、ここVBAスレだな。 仕様は自分で考えて、コーディングの段階になってからまた来てくれよ
846 名前:デフォルトの名無しさん [2012/01/21(土) 10:32:17.82 ] ソースコードジェネレータ、つーか、テンプレート、みたいなのを作りたいのか? ひな形に読ませる設定一覧が表になってて、表のレイアウト込みで自動で読ませたい こんなかんじ? やめとけ、出来ない事はないと思うがレスのやり取り見てると作った本人でも使えないモノしか出来そーにない
847 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 12:30:39.01 ] 何でもかんでもExcelでやろうとする奴は例外なく馬鹿
848 名前:デフォルトの名無しさん [2012/01/21(土) 12:32:23.74 ] 定型的コードを一意に作るならできる。 例えばc言語のテーブルみたいなのを想定したシートにパラメータつっこめばテーブルに加工するのは容易。 同じように定型的コードの要素をならべてシートに整理。VBAで処理したら、典型的コードの亜種がつくれます。 用途は、テストコードの量産とか。
849 名前:デフォルトの名無しさん [2012/01/21(土) 12:34:52.45 ] 補足 典型的コードの構成部品はVBAコードに埋め込み。リファインはVBAを直接弄る。
850 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 13:51:04.88 ] 【プログラミング部】 PHPが100倍速で動くようになったぞー awabi.2ch.net/test/read.cgi/poverty/1327050821/
851 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 15:14:31.78 ] 恋のぼんちシート www.youtube.com/watch?v=wlNVmH4X27s
852 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:04:14.91 ] >>844 エクセルの使い道って、プログラミング組めなくてmysqlとか使えない奴が使う 簡易なDB機能じゃなかろうか・・・ いちいち作るのが面倒ならエクセル使うと思うんだが クラス名をDBに登録ってどんな規模ならやる羽目になるん?
853 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:06:47.92 ] そうか、お前はプログラミング組めなくてmysqlとか使えない奴なんだな
854 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:20:20.20 ] >>853 いちいち作るのが面倒ならエクセル使うと思うんだが いちいち作るのが面倒ならエクセル使うと思うんだが いちいち作るのが面倒ならエクセル使うと思うんだが いちいち作るのが面倒ならエクセル使うと思うんだが 文章自体読めない奴が何をw
855 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:41:24.94 ] ほう、ならプログラミングできてDBも使えるって言うのかい?
856 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:41:35.78 ] データ=DB という錯誤が、この話題ではまかり通っているように思える。
857 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:39:22.32 ] > データ=DB は実は錯誤でもなんでもなく正しいんだけどね 少なくともExcelにおいてはね さすがにCSVデータのみを以てDBとするのは正しくないが Excelは昨今のDBソフトには遠く及ばないものの、DBとして本質的な 最低限の機能は備えているので、Excelのシート上にデータを置けば それはDBと呼んでも何の差し支えも無い むしろDBに対して、本質的なところではなく 後発の固有DBフォーマットや固有DBソフトの付随的な機能や規格を挙げて 「この要素を満たしてなければBDとは言えない」とか言ってる奴の方に錯誤がある BDソフトメーカーの高機能戦略に踊らされすぎて、本質的なDBというものが見えてない
858 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 01:10:50.49 ] >>856-857 もちろんExcel表(上のデータ)は立派なDB足り得るぞ だが、データ=DBが正しいなら、CSVデータも本質的に立派なDBだが? すべてのデータがDBだというのはさすがに間違ってるだろうが 今回の話でのデータはまさしくDBといって差し支えないぞ そのDBのデータをエクセルで扱うのに、フォーマット不定でできないかって言ってる DBの本質とかDBソフトの本質とかスレ違いだしそっちは他所で議論してくれ
859 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 04:51:55.62 ] ここはExcelのスレだが?
860 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 05:10:01.15 ] XP Excel2000です。 Q. For Each i In 範囲 〜 next iの文で 範囲を.Range("B1:B8")、("C1:C9")等といった形でまとめて記述し B1,B2,B3…C1,C2,C3…と順番に処理させたいのですが どう記述すれば良いですか? ↓自分で試して失敗したコト↓ 範囲をVariant型で宣言し、変数A("B1:B8")、変数B("C1:C9")…を 範囲 = Array(A,B,C…)と代入して動作は確認できたのですが For〜nextの変数iにSelect Caseの条件分岐をかけたらエラーになってしまいました。 とりあえずFor〜nextの処理を i.value = 10 にしてわかったことは 1つの記述が"B1:B8"でまとめて成されてしまうため i = "" で値が入力されているかどうかで分岐させる条件と比較できないということでした。 B1,B2…C1,C2…と1セルずつ処理を進行させるにはどういう記述にすればいいでしょうか? 範囲を.Range("B1:B8")という記述で必要分だけ文をコピペすると文が長くなりますよね…
861 名前:sss mailto:sage [2012/01/22(日) 06:34:50.26 ] 列毎のループとセル毎のループの2段ループにすれば良いだけちゃうの? Dim cols As Range, cell As Range Dim ii As Long For Each cols In Range("A1:E5").Columns For Each cell In cols.Cells ii = ii + 1 cell.Value = ii Next cell Next cols
862 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 07:17:23.72 ] >>856 いやいや、さすがにそれはねーよ ・・・あったでござる >>857-858
863 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 08:20:48.53 ] >>861 様 感動!.cellsや.columnsという記述でこんな簡単に制御できたのかwww 色々試したら希望通りの動作が確認できました。 これで記述のシェイプアップが捗りそうです!ありがとうございます! ところで範囲が四角でククれない不定形の場合(Ctrl+左クリックで選ぶような)で 記述を簡略化する場合はどう書けばいいのでしょうか? 今考えついて動作確認できたのが、Array(A,B)配列を作って For Each I In 範囲(数字).cellsとして数字=0からスタートし、 next iを越えたら数字=数字+1としてGoToで頭に戻るという記述なのですが もっとスマートに書く方法はありますか?
864 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 08:32:07.79 ] >>862 君は>>857 最後の1行に該当する子なんだね。
865 名前:sss mailto:sage [2012/01/22(日) 08:44:03.75 ] >>863 よう解らんがこういうことか? For Each cell In [A1:C3,E2:G4,C6:E8] ii = ii + 1 cell.Value = ii Next cell
866 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 09:26:32.36 ] >>865 様 ですです、そういう内容の時に範囲の部分を[A,B,C]というように 手前でsetした変数としての記述はできないのかな、という疑問です。 というのは、手元の環境でDim A As Rangeの set A = range("A1:C3")等と変数記述すると For Eachのところでオブジェクトが必要と怒られるのですが その解決方法がわからなかったので… 変数記述しなければ動作するのはこちらでも確認できましたが
867 名前:sss mailto:sage [2012/01/22(日) 09:39:04.98 ] >>866 つまりこういうことか? Dim x As Range, y As Range, z As Range Dim cell As Range Dim ii As Long Set x = Range("A1:C3") Set y = Range("E2:G4") Set z = Range("C6:E8") For Each cell In Union(x, y, z) ii = ii + 1 cell.Value = ii Next cell
868 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 10:01:25.18 ] >>867 神 感動した。正にその記述です。 詰まるところArrayじゃなくてUnionを使えば良かったのですね。 VBA一ヶ月目の俺にはさっぱり意味が全然わからないけどwこれから勉強させて頂きます。 .cellsとUnionよくわからんけどすごい!びっくり! とりあえずネカフェの12時間パックが切れそうなので一旦お暇して夜また来ます! 一番ネックだった部分が解決して本当に嬉しい! お付き合い頂きありがとうございました。感謝。
869 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 11:48:45.06 ] >>864 相手にするだけ無駄だろ データを大量に詰め込めて検索できればDBなのにそれも理解してなそうだし VB以前にVLOOKUPも知ってるか謎
870 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 11:54:36.92 ] > データを大量に詰め込めて検索できればDB トンデモすなあ
871 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 12:10:46.65 ] > データを大量に詰め込めて検索できればDB データベースというものを、大手の作るデータペースソフトとしてしか 見れてない奴からすると、トンデモ理論に見えるんだろうね。 データベースというものの本質を解っていれば、 実にシンプルかつ的確にデータベースというものを表現しているのだが。
872 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 12:40:44.83 ] メモ帳もDB
873 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 12:52:31.14 ] >>871 削除も、更新も不要なんだ、へぇ〜。 馬鹿すぎ。
874 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 12:58:59.50 ] あなたのVBA力を試しているのですが
875 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 13:08:09.76 ] >>874 お久しぶりです!
876 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 13:10:48.90 ] データベースというものを、大手の作るデータペースソフトとしてしか見れてない奴なので > さすがにCSVデータのみを以てDBとするのは正しくないが というトンデモ理論が口をつくのだろう。
877 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 13:52:01.22 ] 削除や更新や検索は DBMSのお仕事であって データベースそのものじゃないとおもうが
878 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 13:55:22.65 ] 悪態をつくことは出来るが反論できない負け犬が吠えてるw
879 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 13:57:20.36 ] 削除も、更新も不要なんだ、へぇ〜。 (こんな事も知らなかった俺って)馬鹿すぎ。 こうだなw
880 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 14:20:41.87 ] >>877 君の言う「データベースそのもの」って言うのを明確にしてくれ。 何でもかんでもデータベースだと言うなら別に止めないけど。
881 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 14:22:05.34 ] >>879 なら、詰め込むのも不要だよな。 馬鹿だね。(w
882 名前:877 mailto:sage [2012/01/22(日) 14:30:17.06 ] >>880 ある目的にそったデータを集めたもの
883 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 14:44:04.59 ] 集めただけでいいの? あと、その意見だと「データ=DB」は間違いだよね。
884 名前:877 mailto:sage [2012/01/22(日) 14:55:39.32 ] 集めたデータを提供するのがDBMSの仕事だって認識
885 名前:877 mailto:sage [2012/01/22(日) 15:04:01.39 ] ちょっと訂正 ×提供するのが ○管理し提供するのが
886 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:05:05.70 ] >>884-885 じゃあデータだけ見ただけだと何も言えないということでいい? つまり 「データ=DB」 「CSVデータも本質的に立派なDBだが?」 「データを大量に詰め込めて検索できればDB」 は、データの目的が書いてないので、DBと言い切るのはトンデモ理論ということでいいよね。
887 名前:デフォルトの名無しさん [2012/01/22(日) 16:11:31.87 ] awabi.2ch.net/test/read.cgi/poverty/1327050821/3
888 名前:877 mailto:sage [2012/01/22(日) 16:48:18.64 ] それらを どうしても"トンデモ理論にしたい"で 考えたらそうなるね そのスタンスでいる限り平行線になるな どっちも メンドイから抜けるわ 罵倒されるだろうけどあえて受けるよ じゃ頑張ってね
889 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:53:17.31 ] >>877 そもそも構うだけ無駄だった まぁ言った通りの低能ぶりだったろ 結局辞書で調べろと言っても分からない奴には何を言っても無駄
890 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 17:32:57.64 ] お前が辞書で調べろっていう
891 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 17:48:25.04 ] e-words.jp/w/E38387E383BCE382BFE38399E383BCE382B9.html 複数ユーザーで使用するエクセルの表・・・ 立派なデータベースですねw
892 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 17:55:54.10 ] >>890 生徒のテストの点数をエクセルで管理してる全国の教職員に謝ったら?
893 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:05:57.04 ] うわーえらーい、すごーい
894 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:27:10.66 ] え、何? お前の中では「エクセル表がデータベースかどうか」って話だったの? さすが、レベルが違うわ〜
895 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:40:52.85 ] 引数付きのプロシージャーを呼び出す時って、 Callの時は引数を括弧でくくって、Call付けない時は括弧を付けない。 と言うことでOK?
896 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:52:40.11 ] 半分OK
897 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 19:24:29.62 ] >>888 無理やり引き分けに持ち込んだ気になって、自己満か。 まあ、理論的に返せないから、彼にとっては一番いい解決法なんだろうな。
898 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 19:47:59.28 ] >>897 複数のアプリケーションソフトまたはユーザによって共有されるデータの集合のこと。 複数のアプリケーションソフトによって共有されるデータの集合のこと。 複数のユーザによって共有されるデータの集合のこと。 この片方でも満たしていればデータベースと呼べるわけだが・・・ 頭悪いの?広い意味では図書館すらデータベースなのにw
899 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 19:52:20.31 ] VBA力と回答力を試しているんですが
900 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 20:04:38.66 ] >>898 へぇ〜、ファイルサーバーで共有されているファイルは、全部データベースって呼べるんだ。 これまた、すごい珍説乙。 まだ >>888 で止めときゃいいのに、馬鹿だねぇ。(w
901 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 20:13:32.56 ] >>900 馬鹿過ぎワロタw >ファイルサーバーで共有されているファイルは ファイルサーバーは それと別人だから、お前と違って恥ずかしい勘違いしてるから仲間が居ない奴とは違うw
902 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 20:30:26.88 ] >>901 落ち着いてレスしろよ、なに言ってるのかわからん。 本人にもわかっているのか、怪しいけど。(w
903 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 20:36:41.00 ] >>902 日本人専用なの、チョンに合わせて書く事はできませぬw
904 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 20:57:42.86 ] ああごめん、反論できなくなるとチョンとか言い出すんだったんだよな。 わかりやすいね。(w
905 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 21:12:25.54 ] >>904 >>901 が理解できるようになってから書き込んでねw これだからチョンはw
906 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 21:52:25.63 ] >>905 え゛っ、マジで >>901 がまともなレスだと思っているんだ…、すごいな。 >ファイルサーバーで共有されているファイルは ファイルサーバーは > それと別人だから、お前と違って恥ずかしい勘違いしてるから仲間が居ない奴とは違うw 誰か、翻訳してくれ。
907 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 22:25:55.91 ] 質問のある方、こいつらのワケワカメな話に付き合う必要ないから、どうぞ〜
908 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 23:04:51.26 ] DBを解ってる奴が2人しかいないなんて・・・
909 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 23:07:29.40 ] レコードの中にフィールドがあり、フィールドの中にデータが入っているのがデータベース データベースの定義はたったこれだけ 検索だの抽出だのシステムかどうのとかいうのはまた別の話
910 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 23:18:19.90 ] そもそもDBとDBMSの区別ができてないやつがいるな 一般論で言えばデータが集まってれば何でもデータベースだよ 一連のスレをざっと見て目に付いた単語を並べると、図書館、ファイルシステム、CSV、エクセルのシート、みんな正解 メモ帳はアプリだから違う。カテゴリー分けするなら、DBではなく、極めて原始的なDBMSの方に入る それをどう使うか、効率、使いやすさ、規模ってのはまた全然別の話。検索だの削除だのもみんな運用側の話だわな
911 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 23:48:41.18 ] 昼過ぎはDB理解してる奴が一人も居ない件について
912 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 00:03:20.57 ] エクセルのデータをIEにVBAで転記していますが、ボタンを押して、 データが正しいときと、間違っているときでは開かれるサイトが違います。 そこで処理が正しければ、EXCELのその行のA列に"OK"といれて ダメなら"Error"とでも入れたいのですが、 そのIE上の処理が正しいかどうかを判別する方法ありますか? 例えば、ボタンを押した後に出てくるアドレスとかがEXCELに取得できれば 判別できるのかと考えていますが、そんな方法ありますか? お願いします。
913 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 00:33:42.81 ] >>906 >ファイルサーバーで共有されているファイルは ファイルサーバーは ↑これは、「データの集合」から「データ」に勝手に解釈変えて何言ってるの?馬鹿なの死ぬの? >まだ >>888 で止めときゃいいのに、馬鹿だねぇ。(w それと別人だから、お前と違って恥ずかしい勘違いしてるから仲間が居ない奴とは違うw これは勝手に同一人物認定してるんじゃね〜 ファイルサーバーがデータベースじゃないとか恥ずかしい勘違いしてる奴と違って、 論理破綻してね〜から同一人物の可能性がどれだけ少ないと思ってるんだ?この低能がw 馬鹿過ぎワロタw ↑これは、教えてもらえてるのに自分の知らない知識は間違ってる事にしたい君の全てのレスに対して こんな感じ
914 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 00:34:22.77 ] >>912 いくらでも出来るけどスレ違い ここはマクロ言語で「Excelを操作する」ことに関してのスレで 他のアプリを操作したりデータを取ったり渡したりは管轄外
915 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 00:50:37.76 ] 議論ですらないから反論なんてあるわけないね
916 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:47:33.88 ] アプリ起動時にユーザフォームだけ出す方法として Application.Visible = Falseがありますが、 これだと2つ以上ブックを開いていたときも全部非表示になってしまい都合がわるいです。 非表示させたいブックを指定する方法はないでしょうか?
917 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 02:14:02.47 ] ひとつのアプリ(Excel)で二つのブック開く場合は無理だろ 関連付け変えて、ブックを開くたびに新しいExcel開くようにしな 多少多めもメモリ食うが、昨今のどころかここ数年くらいのPCなら Excelを10個や20個起ち上げたところでメモリ不足になんかならないし タスクボタンもグループ化出来るからさほど邪魔にならないはず つーかさ、ユーザーフォームだけ使いたいなら、わざわざExcel使わないで普通の開発環境使えば? VBAと完全互換のVB6は有料な上にとっくに終了してるが、オクで1/10以下の価格で出回ってるし 互換性の高いActiveBasicとか、そこそこ互換性のあるVB.NET(VB2010)とかは無料で使えるし HTA+VBScriptなんて手もあるし
918 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 02:23:32.94 ] >>917 アドバイスありがとうございます。 たしかにユーザーフォームだけ使うのであればエクセルである必要がないですね。
919 名前:デフォルトの名無しさん [2012/01/23(月) 02:50:45.17 ] >>912 ↓こんなんですか? Sub Test() Dim MyObj As Object For Each MyObj In CreateObject("Shell.Application").Windows If MyObj.Name = "Windows Internet Explorer" Then Exit For End If Set MyObj = Nothing Next MyObj If MyObj Is Nothing Then MsgBox "IE が起動してないよ" Else MsgBox MyObj.LocationURL End If Set MyObj = Nothing End Sub 見当違いの回答だったらごめんね
920 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 07:03:36.43 ] >>919 >MyObj.LocationURL これできました。ありがとうございます。
921 名前:デフォルトの名無しさん [2012/01/23(月) 09:29:03.86 ] 以下は,配列に入っているデータを入れ替えるプログラムです (配列xを引数として入れ替える関数subprogramに渡している) (a)値呼び出しの場合,配列xと配列yの値はどのようになるか?結果だけでなく引数を渡す過程も含めて詳しく説明せよ. (b)参照呼び出しの(ByVal を ByRefに変えた)場合,配列xと配列yの値はどのようになるか?結果だけでなく引数を渡す過程も含めて詳しく説明せよ. Sub main() Dim x(5) As Integer x(0) = 10: x(1) = 20: x(2) = 30: x(3) = 40: x(4) = 50: x(5) = 60 Call subprogram(x()) For i = 0 To 5 debug.Print x(i) Next End Sub Sub subprogram(ByVal y As Integer) Dim i As Integer For i = 5 To 1 step -1 y(i) = y(i- 1) Next End Sub 助けてください。
922 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 09:53:04.14 ] >>921 ヒント:>>2 ここはマクロでExcelを操作する話以外はスレ違い
923 名前:デフォルトの名無しさん [2012/01/23(月) 10:30:44.83 ] >>899 コラ それはオレが広めたセリフであり オレだけが使うことを許されたセリフだ もし使いたいならオレの了承を取ってからにしてくれ
924 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 10:38:49.73 ] 最初に使ったのは俺だぜ 使いたいならまずはお前が俺の承諾を取れ
925 名前:923 [2012/01/23(月) 11:25:08.87 ] のびたのくせに生意気だ
926 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 11:27:27.99 ] ところでVBAで配列をByValで渡すと、スタックに大量のデータが積まれるの? それともデータ領域を複製してポインタを渡すだけ?
927 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:03:56.47 ] >>923 使うのがお前だけって事は全く広まってなくね?
928 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:00:59.47 ] >>926 データを複製してポインタを渡すだけ。 VARIANTとSAFEARRAYを使って実装されてるっぽいし。
929 名前:デフォルトの名無しさん [2012/01/23(月) 22:19:20.89 ] >>928 桜は満開でございます blog-imgs-46-origin.fc2.com/k/e/t/ketsunomi/c464.jpg
930 名前:デフォルトの名無しさん [2012/01/23(月) 22:23:00.95 ] apfsy.com/anal/img/anal0117.jpg
931 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:06:12.89 ] >>910 , >>913 *.wav って、PCM データが集まってるよな。 それを共有したらデータベースって言うわけだよな。 すごいよ、お前ら。 さすがにあほすぎて太刀打ちできんわ。(w
932 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:24:21.19 ] もう・・・ノーサイドにしましょうよ・・・。
933 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:52:45.71 ] >>931 本当に残念な奴だなお前はw データを特定の形で整理した 「データの集合」がまず有って、 それを複数のユーザーで使いまわす事が出来る状態になってれば それはもう立派なデータベースだと・・・ PCMデータを一個ずつ抜き出して意味の有る物の単位になるのか? いい加減謝れよ、てかその屁理屈考えるのにどのぐらいかけたの?w
934 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:43:03.87 ] >>933 >データを特定の形で整理した おや? >>898 には、一言も書いてないんだけど、そんな条件。 後出しじゃんけん乙。 ちなみに、PCM データは時系列に音の大きさを特定のビット数で並べると 言う形で整理されてるし、一個ずつ抜き出せばその時点の音の大きさと言う 意味のあるデータになる もちろんファイルサーバーなり、P2P で複数のユーザーから使いまわすことが でぎる状態にできるし。 て言うか、複数のユーザーとか何回もアホみたいに書いてるが、一人で使う データベースと言うものの存在も知らないのか? 例) 自分の蔵書を自分が見るためだけにデータベース化してる奴など。 > どのぐらいかけたの? 「データの集合」と言う言葉から *.wav ぐらいはすぐ思いつくと思うが、 もしかして必死に考えないと思いつかないの? (w
935 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 01:32:49.56 ] >>934 丸一日レスが無かったから顔真っ赤にして必死に考えてたんだと思ったよw >データを特定の形で整理した >>869 で検索できればと言っているわけだがw 検索、再利用、何かの指針にできるここまで分かってれば特定の形で整理されて無いとDB足りえないと分かるよなw 後出しではなく、君が低能なだけだねww それと君の言ってるwavの話なんてそもそもDBじゃないでしょww アルファベットの定義があるから、アルファベットの意味不明の文字列がDBになるなんて 誰も言ってないわけだがwww >「データの集合」と言う言葉から *.wav ぐらいはすぐ思いつくと思うが、 >もしかして必死に考えないと思いつかないの? (w わざと間違った方向に考える為に知恵を絞ったんじゃないの?w 真性の低能だからそういうのがパッと思いついたの?w
936 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 02:26:48.68 ] ブルドック.wavとチワワ.wavとドーベルマン.wavを集めたら 立派な鳴き声データベースですが?
937 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 02:57:11.15 ] データベースの定義はたった一つだけ「データの集まり」であること 補足すると、データの種類は問わない、集めた個数も問わない 定義の中にデータの種類や個数を限定する言葉は一切出てきてないんだから当たり前だね つまり、PCMデータを集めてもいいってこと ではここで問題 PCMデータを集めたwavファイルはデータベースか? ヒント データが集まってればそれはデータベースだよ
938 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 03:05:59.71 ] wavファイル一個でデータベースとか暴論すぎだろw おはよう こんにちは こんばんは こんな感じで三つあればデータベースだが おはよう これ一個だけを ”お”・”は”・”よ”・”う” こう分けられるからデータベースだとか酷過ぎるだろw 誰がこんなゴミデータ再利用するの?w データ・ベース dictionary.goo.ne.jp/leaf/jn2/198592/m0u/ ベースの意味を学習しなさいw PCMデータの一覧とかならデータベース足りえるが・・・ wavで使われる一つ一つのPCMに意味なんかないだろ?w ゴミの集合じゃデータベースとは言えないんだよ 意味のあるデータの集まりである必要がある
939 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 03:12:29.63 ] Microsoft Accessでテーブルを作り、無意味な16bitのデータをどんどん入れていきました 入っているデータに意味がないのでこれはデータベースではありません これは○か×か?
940 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 03:16:44.61 ] 上の問いで作成した、無意味なデータの入ったAccessのファイルを別の人に見せました 内容が何かは伝えていません このファイルを見た人はこれをデータベースだと思うでしょうか、違うと思うでしょうか
941 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 06:08:22.67 ] >>935 >丸一日レスが無かったから顔真っ赤にして必死に考えてたんだと思ったよw すごいなぁ、昼間に働くとか学校に行くとかの概念がないんだ… >>>869 で検索できればと言っているわけだがw はぁ? そのレスが君のレスで >>898 に関連しているとエスパーしろと? ばかじゃゃねーの? > 検索、再利用、何かの指針にできるここまで分かってれば特定の形で整理されて無いとDB足りえないと分かるよなw > 後出しではなく、君が低能なだけだねww 検索、再利用、指針? どんどん後出しされるねぇ。 自分が >>898 で「この片方でも満たしていればデータベースと呼べるわけだが・・・」って書いたことを忘れたのかなぁ? (w >それと君の言ってるwavの話なんてそもそもDBじゃないでしょww そりゃそうだよ、DBじゃない例出してるんだから。 でも、君の >>898 の定義は満たしてるだろ? >アルファベットの定義があるから、アルファベットの意味不明の文字列がDBになるなんて >誰も言ってないわけだがwww ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ >わざと間違った方向に考える為に知恵を絞ったんじゃないの?w ひょっとして、自画自賛? >真性の低能だからそういうのがパッと思いついたの?w そういう、自己紹介はいいから。
942 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 06:42:16.23 ] ぷ
943 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 06:57:01.65 ] ぷ。←ボウリングしてる人
944 名前:デフォルトの名無しさん [2012/01/24(火) 10:21:26.30 ] >>938 wavファイル一個でも、異なる複数の音声が入っていて、 それがユーザーにとって意味あるものでかつシークとかで 検索できるものであればDBと言えるんじゃない? 「おはよう」はこれ一個だけがユーザーにとって意味あるもので あって、一文字づつ分けるひつようないし、 「おはようこんにちはぽぽぽぽーん」とかのデータから 単語を抜き取るルールがあればDBなんじゃないの
945 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 10:45:19.90 ] どっちかってとそのインデックスがデータベースなのでは?
946 名前:デフォルトの名無しさん [2012/01/24(火) 13:42:31.73 ] ここでは例えとして、インデックスではなくて、 I/OをDBMSが担っているということにしてはダメ?
947 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 15:30:28.17 ] そろそろVBAの話しろよ
948 名前:デフォルトの名無しさん [2012/01/24(火) 15:30:28.97 ] いつまでDBの話してんですか。ちょっとした質問でも すれ違いだと言って回答しないのに。
949 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 16:10:55.54 ] 俺データベース定義自慢は、こっちでどうぞ。 データベース toro.2ch.net/db/
950 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 18:47:52.27 ] >>941 >すごいなぁ、昼間に働くとか学校に行くとかの概念がないんだ… すごいなぁ、真性のコミュ障が社会に出てると思われるとでも?w それとも君のレスを見てコミュ障だと思われないとでも?w 検索、再利用、指針≒複数人数での使いまわしの必要条件 まぁ脳みそ腐ってる奴に言っても無駄なんだろうけどw
951 名前:デフォルトの名無しさん [2012/01/24(火) 21:34:50.36 ] 上司「12345−6789=の答えを33333になるにはどうすればいいか考えてきて^^」 俺新入社員の営業職でエクセルを使うよりも商品知識を付けたいのにエクセルの関数の問題出された おまえら助けろ下さいおなしゃっす
952 名前:デフォルトの名無しさん [2012/01/24(火) 21:36:16.60 ] あれ、スレ違いだったかな エクセル総合にいってきます
953 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:16:24.40 ] if a = 5556 than a = 33333
954 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 08:45:10.92 ] シートを削除する際に Sheets("シート名").Select ActiveWindow.SelectedSheets.Delete と普通にマクロの記録で書くと、 「選択したシートに、データが〜〜[削除]をクリックしてください] というメッセージがでますが、それを出ないようにするか、 自動に[削除]をクリックすることはできますか?
955 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 09:04:43.39 ] 検索してから質問しろ
956 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 10:39:28.30 ] >>954 Application.DisplayAlert = False >>955 うぜぇバカヤロウは消えろ
957 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:50:05.47 ] みんながちゃんと検索するようになったら俺の存在価値がなくなっちゃうだろ! とか思ってるのかな〜
958 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:42:43.57 ] 質問です RangeからCellsをFor Eachで取り出した時の順番は左上から右に向かうというのは保証されてるんでしょうか? ヘルプかどこかに明記されていますか?
959 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 01:57:07.03 ] >>958 MSDNだったかヘルプだか忘れたが、どこかで保証されないと書いてあるのを見た記憶があるが、実際は決まった順序だろ? 二次元配列に取り込めば、縦方向が先になるけど。
960 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 06:50:28.76 ] >>958-959 Rangeの取り方しだいかもよ 単純な矩形の領域だと左上から横行って下に行くけど、 不定形の領域を指定するとそうじゃなくなった。 たとえば For Each Cell in Application.Union(Range1,Range2) だとRange1から先に処理するんで、 Range2の方がRange1より左上にあると全体としては左上からじゃなくなる。
961 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 07:16:22.31 ] >>958 おれが見てるのは2010のヘルプだけど、 「For Each...Next ステートメント」の所にある 「コレクション」のリンクにある記載でどう?
962 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 12:56:18.30 ] そもそもVBAのFor Eachって、順序保障してくれてるものなのか?
963 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 16:53:19.52 ] メモリによるんじゃね
964 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:03:39.50 ] >>950 反論できなくなったので、人格攻撃? 実にわかりやすい。(w
965 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 23:14:40.58 ] コード4桁の数値プラス "-M" 及び "-W"のシートがあり、それを 新しいブックを作りそこに移動させようとしています。 それでマクロの記録で Sheets(Array("5541-W", "5541-M")).Select Sheets("5541-M").Activate Sheets(Array("5541-W", "5541-M")).Move というのができたんで、それを直して array_string = sc & "-W," & sc & "-M" Sheets(Array(array_string)).Select Sheets(Array(array_string)).Move .Select のところで←インデックスが有効範囲にない というエラーが出ます。 どのように直せば良いんでしょうか?
966 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 23:54:18.01 ] >>965 それだと、"5541-W,5541-M"になってしまうな。 Array(sc & "-W", sc & "-M") このように、Array関数の個々の引数になっている事が重要かと。
967 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 00:02:58.70 ] >>966 深夜にお付き合いいただきありがとうございます エラーも直りました。
968 名前:デフォルトの名無しさん [2012/01/27(金) 00:13:20.74 ] ADOで取得したデータ20万件を、65000行単位で複数シートにすべて出力したい場合 "CopyFromRecordset dbRes 65000"という風に書いてループさせているのですが、 2枚目以降の出力になると途端重くなります。 他に高速コピーできる手段はありますか?
969 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 05:26:21.74 ] >>968 画面の書き換え、再計算、イベント、全部切ってる? あとExcel2010に乗り換えれば分割する必要なくなるよ
970 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 08:54:25.58 ] CopyFromRecordsetか忘れたけど、知る限りDBからの貼り付けではそれが一番高速。 その場合、貼り付け行数分ずつの取得になると思う。 答えになってないけど何やったか書いてくれないと答えようがないなぁ
971 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 08:55:24.16 ] 書いてあった!ゴメン!
972 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 09:08:42.04 ] Excel VBAから、ワードを開いて文書を加工するとこまで一気に処理したいです。 @Excel VBAから開いたワード文書についているマクロ呼び出して実行させることは可能でしょうか? Aもし@がだめなら、Excelでワード文書をWordマクロと同じようなことをさせるマクロが可能でしょうか (または、コマンドが詳しく書いてあるサイトを教えてください。 具体的には、以下のWordマクロをエクセルVBAで記述したく。 1.Selection.Paste ・・・エクセルVBAでクリップボードに入れたのを貼り付け 2.Selection.Find.ClearFormatting ・・・文字列AAAAが書いてある行探す With Selection.Find .Text = "value=""AAAA""" : End With Selection.Find.Execute 3.Selection.MoveDown Unit:=wdLine, Count:=7 ・・・文字列AAAAから、先頭行まで削除 Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
973 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 10:55:11.73 ] マクロのブックを外部から開いてマクロを実行する時にコマンドライン引数の様に 引数を渡すのにVBSを使うやり方がありますが、WIN7(32bit)&EXCEL2010の組み合わせでも 可能でしょうか? 可能な場合その時に使うAPIの名前や構造はXP(32bit)と同じでしょうか? もしくは、簡単にコマンドライン引数を受け取るやり方はありますでしょうか? 当方、XPとEXCEL2003しかなく現地作業をしなくてはいけないので情報を御願いします。
974 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 14:20:56.18 ] >>972 できる。 適当にググって見つけたページ: www.simple-sys.com/blog/vbamatome/vbamatome007/
975 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 14:22:21.02 ] >>973 別のBookからパラメータ付きでそのマクロブックのマクロを実行するのでは駄目なの?
976 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 17:16:34.20 ] >>975 レスありがとうございます。 別のマクロブックを用意して、そのブックで外部プログラムからのパラメータを受け取って、 目的のマクロを起動すると言うことでしょうか? 多分、私にはハードルが高そうな感じがします。 VBSに目的のマクロブックを起動するスクリプトを書いて、必要なパラメータを 渡すやり方は何度かやったことがあるので、この方法を採用しようと思ったのですが、 win7とexcel2010を扱ったことがないので質問しました。
977 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 19:34:06.14 ] >>964 検索、再利用、指針≒複数人数での使いまわしの必要条件 議論ですらないから反論なんてあるわけないね ↑これ無視してる都合の良い脳みそだから人格攻撃位されるだろw
978 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 00:58:23.24 ] >>977 >指針≒複数人数での使いまわしの必要条件 >>934 > て言うか、複数のユーザーとか何回もアホみたいに書いてるが、一人で使う > データベースと言うものの存在も知らないのか? > 例) 自分の蔵書を自分が見るためだけにデータベース化してる奴など。 わざわざ例まで書いてあるのに、アホ過ぎ。
979 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 01:20:13.55 ] >>978 基本複数人数で使う物だけどなw 同じシステムで作るから、名前そのままにしただけだろ で、他に何かいえる事有るの?てか、別に複数人で使わないでも言うってURLまで 貼ってこっちから示してるわけだがw そんなんだからコミュ障言われるんだよ
980 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 08:23:08.58 ] >>979 指摘されたら 「基本」とか、アホ過ぎて議論にもなってない。 > 別に複数人で使わないでも言うってURLまで > 貼ってこっちから示してるわけだがw 示してるレス番書いてみな。
981 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 17:38:41.07 ] >>980 URLで検索かけろよカスがw
982 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 17:45:24.08 ] 何だ、やっぱり書けないのか。 想像通りの回答乙。
983 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 19:43:27.31 ] >>982 スレに検索もかけられない奴は何も書き込む権利無いんだ。 残念ながら、コミュ障や園児レベルの馬鹿と認定されてスルーされるのが2ch
984 名前:デフォルトの名無しさん [2012/01/28(土) 19:51:14.84 ] >>983 とその相手の連中 >949がDB板に誘導してるのに それに気付かずなのか無視してるのか知らんが いつまでも板違いの罵り合いをしてるお前さん達全員が コミュ障や園児レベルの馬鹿だと思うよ DB論議やりたきゃそれにふさわしいところで好きなだけやれよ ここでするのはスレ違いだし板違いだ
985 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 20:45:09.63 ] >>984 エクセルがDBかどうか・・・ まぁDB関連の一覧じゃなくてキチンと誘導すべきだったなw そも単発で書きなぐっただけのお前とコミュニケーション自体取ろうとしてないがなw 無視された=コミュ障なんだな 「お前の中では」
986 名前:984 [2012/01/28(土) 20:57:55.61 ] いや、俺この件について書き込むのは初めてだったんだが・・・ 自分に意見言う奴はみんな同一人物かよ 本物のコミュ障だなお前
987 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 20:59:27.52 ] >>986 んじゃ、まともに誘導してないのも知らないのに適当に書きなぐってみただけなんだな 屑だなw
988 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:03:55.89 ] >>986 誘導してる奴と同一人物には見えても DBの定義が分からないの馬鹿にされて暴れてる馬鹿とは同一人物認定してないわけだがなw 被害妄想酷過ぎるな まぁsageすら知らんカスは書き込むなよw
989 名前:984 [2012/01/28(土) 21:10:34.37 ] >>987 まず勝手に同一人物認定した事とかの反省は一切無いの? まぁそういう人だからこんなことやってんだろうけど。 で、誘導がまともかどうかは君と俺では見解が違うとしか言いようが無いな。 DB板で自分でスレ立てして好きなだけ語れというつもりだったんだが (多分>>949 もその程度の意図しかなかったと思う) スレ立ててから誘導してほしいなんて ドンだけ甘えんぼさんなんだよw 付き合いきれんわ
990 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:20:51.29 ] >>989 やっぱり同一人物なんじゃねーか DB定義知らん奴と同一人物だとはだれも認識してないと思うが 被害妄想酷過ぎだな それと sageすら知らんカスは書き込むな sageすら知らんカスは書き込むな sageすら知らんカスは書き込むな sageすら知らんカスは書き込むな sageすら知らんカスは書き込むな sageすら知らんカスは書き込むな コミュ障はこんな基本を教えてもらっても全て聞き流すんだよな
991 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:21:39.60 ] >>983 権利とかばかじゃねーの? > スルーされるのが2ch 「 お・前 」 がスルーできてないし (w
992 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:25:16.42 ] >>984 DB板なんかに誘導するなよ、それこそ迷惑だ。 このやり取りをDB議論と思うようなら、ちょっとにちゃんから はなれて世間の常識を取り戻した方がいいぞ。 単に、アホが一人暴れてるだけだろ。
993 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:25:42.99 ] >>991 真性のコミュ障ばかり集まってるなw スレ内検索してから出直して来い、お前の意見に耳を傾ける奴は誰も居ない まともに対応してもらいたいならまず検索を覚えろw これも2ch利用する為のマナーの部類だな
994 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:32:14.86 ] >>992 同意。 上で何度か出てるが「議論ですらない」
995 名前:984 [2012/01/28(土) 21:37:15.69 ] >>990 >やっぱり同一人物なんじゃねーか 意味分からん 俺は949氏じゃない 意見が同じだってのと同一人物だってのは別物だぞ 949氏がDB板へのリンク張ってて、 君らはそっち行くべきだと俺も思ったから984を書いたんだよ。 だから(多分>>949 もその程度の意図しかなかったと思う) って書いただろ 俺が949氏ならこんなこと書かねーよ 被害妄想も大概にしとけ で、sageについてはどうでも良い このスレはsage推奨でもないし、 もうすぐ1000行くスレであげた所でたいした実害も無いからな。 あと、第三者が冷静に見たらsageない事と ここでDB論議してる事とどっちが痛いかは一目瞭然なんで、 目立つようにわざとあげてるってのもある
996 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:40:24.90 ] >>995 「議論ですらない」 議論に見えるなら眼科行けw それと誘導するなら暴れてる馬鹿一人なんだが・・・ DBの定義辞書でひいて張り付けてあるのに、DBスレの一覧に誘導して何になるの?w
997 名前:984 [2012/01/28(土) 21:41:21.65 ] >>992 ごめん、悪かった DB論議として適当かどうかは別として やるんならDB板だろって思ったんだが、 確かにこんなの押し付けられたらDB板の人も気の毒だな
998 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:43:28.19 ] 次スレたてるならIDつけて
999 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:53:12.74 ] >>993 また、スルーできなかったね。 レス番も書けないし、そうやってごまかすしかないもんな。(w まあ、このスレも終わりだ、良かったな。
1000 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:54:36.99 ] >>999 カスの自覚はあったのねw
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。