もう18時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50 [PR]女性必見!ネットで高収入バイト[PR]  

Excel VBA質問スレ Part13

1 :デフォルトの名無しさん:2009/09/30(水) 12:25:04
過去スレ
01 http://pc11.2ch.net/test/read.cgi/tech/1054356121/
02 http://pc11.2ch.net/test/read.cgi/tech/1168308855/
03 http://pc11.2ch.net/test/read.cgi/tech/1180192018/
04 http://pc11.2ch.net/test/read.cgi/tech/1189814602/
05 http://pc11.2ch.net/test/read.cgi/tech/1197448064/
06 http://pc11.2ch.net/test/read.cgi/tech/1205231499/
07 http://pc11.2ch.net/test/read.cgi/tech/1212587819/
08 http://pc11.2ch.net/test/read.cgi/tech/1219673793/
09 http://pc11.2ch.net/test/read.cgi/tech/1228372971/
10 http://pc12.2ch.net/test/read.cgi/tech/1235332603/
11 http://pc12.2ch.net/test/read.cgi/tech/1241885130/
12 http://pc12.2ch.net/test/read.cgi/tech/1247566074/

697 :デフォルトの名無しさん:2009/11/21(土) 13:42:52
>>695
起動時に強制終了するアドインでも作ったんじゃね?


698 :デフォルトの名無しさん:2009/11/21(土) 14:51:42
>696
わかる

699 :685:2009/11/21(土) 15:14:26
>>686
出来ました。
ありがとうございました。

700 :デフォルトの名無しさん:2009/11/21(土) 16:15:33
パチンコ店 ATM8000台 IIJ社 今後4、5年で全国に
http://www.jcp.or.jp/akahata/aik09/2009-11-14/2009111401_04_1.html
2chとパチンコ屋が無くなれば日本の景気は上向くかもな

701 :デフォルトの名無しさん:2009/11/21(土) 18:55:37
>>695 >>696
俺も似たような現象で悩んでいる。
アドイン複数入れて、VBAでプログラム作って2〜3回動かすのには問題ないんだが
しばらく使ってExcelを終了させると、
「問題が発生したため、Microsoft Office Excelを終了します。ご不便をおかけして申し訳ありません。」
とかいうふざけたエラーが出てくる。

俺の記憶が確かなら、
グローバル変数とか配列を大量に使いだした辺りでぶっ壊れた気がする。
メモリを開放しなきゃいけないとか、そういうことなのか???

702 :デフォルトの名無しさん:2009/11/21(土) 19:05:46
エクセルのブック自体が変なメモリリークをしてぶっ壊れるってのをよく聞くぜ。

703 :デフォルトの名無しさん:2009/11/22(日) 00:08:50
>>680
MSのサイトにoutlook使ったメール送信のサンプル見つかると思うから
それを参考にしたら?
Accessに取り込んだ内容を登録したメアドにoutlook使って送信するPG
を昔作ったことがあるから、出来るはずだよ
ウイルス対策用(だろうなぁ・・)で1通単位でダイアログ押という仕様の
回避用のexeも見つかると思うから探してくれい


704 :デフォルトの名無しさん:2009/11/22(日) 14:29:02
excel 2007
xp sp3

Sheet1のA1にSheet2を参照とした「=SUM(Sheet2!$A$2:Sheet2!$A$3)」を入れる為のマクロ、

Sub test()
Sheet1.Cells(1, 1).Formula = "=SUM(" & Sheet2.Cells(2, 1).Address & " : " & Sheet2.Cells(3, 1).Address & ")"
End Sub

ですと、Sheet1のA1には同一シートを参照とした「=SUM($A$2:$A$3)」となってしまいます。

"=SUM(" & Sheet2.Cells(2, 1).Address & " : " & Sheet2.Cells(3, 1).Address & ")"の部分を
"=SUM(Sheet2!$A$2:Sheet2!$A$3)"にすれば解決するのはわかっておりますが、
どうしてもcellsを使いたく質問させていただきました。
解決策がありましたら、宜しくお願いします。


705 :デフォルトの名無しさん:2009/11/22(日) 14:39:40
>704

突っ込み所がいろいろと・・・
本題は数式のINDIRECTで解決しそうな気がするが?

706 :デフォルトの名無しさん:2009/11/22(日) 14:51:06
>>704
Sheet2.Cells(2, 1).Address
が何を返すかを考えればいいんじゃね?

Sheet2.Cells(2, 1).Addressって書き方をするのも珍しい.....

707 :デフォルトの名無しさん:2009/11/22(日) 19:21:46
プログラミング経験なしで興味を持ち趣味で覚えたいと思い色々考えた結果、
javascriptとvbscriptを学ぼうと思いました。入門するために言語について探しているうちに、
下記のようなことがしてみたいと思ったのですが、出来るのかということと、
もっと適した言語があるのかをご存知であれば助言くださるとうれしいです。

過去の株価を利用したシミュレーションプログラム。
具体的には、データとして興味のある某銘柄の日柄(日別に始値、高値、安値、終値、出来高)
を10年分オープンオフィスの表計算calcにyahooファイナンスから入手しました。
例えば、このデータを使って特定の日にその株を1000株買い、以降10円上がれば売り、売り値から
10円下がればまた買い、その買値より10円下がれば買い増し(仮の現金残高がなくなるまで)し、
それぞれは買値より10円上がると売る。
持ち株がなくなると、高値から1割下がったところからまた始める。
というようなことを繰り返すと、いくらの利益でいくらの買値ので
どれぐらい持ち株になった状態かを結果としてだすものです。

javascriptやvbscriptでも出来るのでしょうか、それとももっと別のスクリプト
言語の方が適しているのでしょうか?
よろしくお願いします。。

708 :デフォルトの名無しさん:2009/11/22(日) 20:19:54
何か変なヤツが迷い込んでるな〜

709 :デフォルトの名無しさん:2009/11/22(日) 20:45:53
>>707
ようは売買システムのバックテストしたいんだろ
できるよ

というか言語で出来ることが制約されるケースは少ない
もちろん得意、不得意はあるけど
ってことで好きな言語使いな
そして、このスレ以外に逝け

710 :デフォルトの名無しさん:2009/11/22(日) 20:56:01
>>707
ExcelVBAがいいんじゃないか?

711 :701:2009/11/22(日) 20:57:29
>>702
MSのバグかよ。

データはエクセルから取得して、処理は他(とりあえずDelphiを考えている)でやって、
結果をまたエクセルに返すかな・・めんどくさ・・

712 :デフォルトの名無しさん:2009/11/22(日) 21:10:43
うっはっっw

MSのバグ扱いかよw

713 :701:2009/11/22(日) 21:26:24
>>712
じゃあ原因は何なんだよ

714 :デフォルトの名無しさん:2009/11/22(日) 22:12:12
確かに、ウィンドウズもエクセルもMSだな。
そう考えたら、世の中で起きるバグの50%はMSのバグと云っても過言ではない。

715 :デフォルトの名無しさん:2009/11/22(日) 22:31:13
>>714
だがオレのPCのバグは99%オレのバグと言っても過言ではない

何度PCや開発ソフトのせいにして、その後取り下げたことか・・・

716 :デフォルトの名無しさん:2009/11/22(日) 22:41:02
>>715
wwwww

717 :デフォルトの名無しさん:2009/11/22(日) 23:50:32
>>715
まぁ、シンタックスエラーなら仕方ないな。

718 :デフォルトの名無しさん:2009/11/23(月) 10:52:45
>>510-544
お前らwwwww
今更だけどツボったwwwww
そういうセンスがいるんだなコーディングって俺まだまだだわ。

719 :デフォルトの名無しさん:2009/11/23(月) 11:34:44
>>707
15マソぐらいとちょっと高いけど、検証くんなどソフトもあるぞ

720 :デフォルトの名無しさん:2009/11/23(月) 15:05:25
excel2003

こんにちは

For Nextを使い、
セルE5、E6、E7へそれぞれ「H線」「L線」「中心線」という文字を入れたいのですがどうすればよろしいでしょうか?

For i = 1 to 3
Cells(5,i + 4) = ?
next i

721 :デフォルトの名無しさん:2009/11/23(月) 15:30:19
x = Array("H線", "L線", "中心線")
For i = 1 To 3
Cells(5, i + 4) = x(i - 1)
Next i

初心者の発想はこんな感じ。

722 :720:2009/11/23(月) 15:45:34
>>721

早速のご回答、誠に有り難うございます。
>>721様のおかげで解決できましたので、心より御礼申し上げます。


723 :デフォルトの名無しさん:2009/11/23(月) 16:22:36
初心者に配列はいきなりきついんじゃないか?

724 :デフォルトの名無しさん:2009/11/23(月) 16:31:36
>>720
For-Next使う必要ないじゃん

For i = 1 To 3
Next i
Range("E5").Value = "H線"
Range("E6").Value = "L線"
Range("E7").Value = "中心線"

725 :デフォルトの名無しさん:2009/11/23(月) 17:07:02
>>723
配列無しで出来る?
俺には思いつかなかった

726 :デフォルトの名無しさん:2009/11/23(月) 17:21:26
>>724よく見たら笑えるww三回回ってワン

あれは配列のお勉強だったんじゃね?

727 :デフォルトの名無しさん:2009/11/23(月) 17:32:17
For i = 1 to 3
Cells(5,i + 4) = Iif(i=1,"H線",Iif(i=2,"L線","中心線"))
next i

配列思いつかなくてもできるじゃん不気味で自分はこんなの書きたくないけど。

728 :デフォルトの名無しさん:2009/11/23(月) 18:01:59
なんでループにすんの?

729 :デフォルトの名無しさん:2009/11/23(月) 19:07:59
これはどうですか
For i = 1 To 3
Cells(5, i + 4) = Choose(i, "H線", "L線", "中心線")
Next i

730 :デフォルトの名無しさん:2009/11/23(月) 19:14:19
x = Array("H", "L", "中心")
For i = 1 To 3
Cells(5, i + 4) = x(i - 1) &"線"
Next i

731 :デフォルトの名無しさん:2009/11/23(月) 19:17:41
vbaにもchoose関数あるの初めて知ったわw

732 :デフォルトの名無しさん:2009/11/23(月) 19:29:47
同じく、知らんかった。へ〜。。。

733 :デフォルトの名無しさん:2009/11/23(月) 20:05:46
x = Array("H", "L", "中心")
ReDim y(1 to 1 , 1 to 3 )

For i = 1 To 3
y(1 , i)=x(i - 1) &"線"
Next i

Range("E5:E7")=y


もしもしからなので動くかどうかはしらね

734 :デフォルトの名無しさん:2009/11/23(月) 21:37:37
>>724
お前>>718だろ?w

735 :デフォルトの名無しさん:2009/11/23(月) 21:44:02
>>720
>>529流に書くとこうだな。
For i = 1 To 3
Next
Range("E6:E8").Value=WorksheetFunction.Transpose(Split("H線 L線 中心線"))

下が普通だが。
For i = 1 To 3
Next
Range("E6:E8").Value=WorksheetFunction.Transpose(Array("H線","L線","中心線"))

736 :デフォルトの名無しさん:2009/11/23(月) 21:53:08
おまいらForがかわいそうとかNextが不憫とか思わんの?

737 :デフォルトの名無しさん:2009/11/23(月) 21:58:09
>>721の一部修正
x = Array("H線", "L線", "中心線")
For i = 1 To 3
Range("E5").Cells(1, i).Value = x(i - 1)
Next i


738 :デフォルトの名無しさん:2009/11/23(月) 22:02:05
なんだChooseがVBAで使えるのかよ。
俺も知らんかったわ。

739 :デフォルトの名無しさん:2009/11/23(月) 22:11:42
何もないのに回っているFor-Nextを思うと萌える

740 :デフォルトの名無しさん:2009/11/23(月) 22:25:43
For i = 1 To 3
Next i
Range("E6:E8").Value = [{"H線";"L線";"中心線"}]

741 :デフォルトの名無しさん:2009/11/23(月) 22:28:06
Evaluateか、なるほどそれもあるな。

742 :デフォルトの名無しさん:2009/11/23(月) 22:28:09
Sub 萌()
Do
Loop
Exit Sub

743 :デフォルトの名無しさん:2009/11/23(月) 22:33:23
>>739
何もなくても行数を稼ぐのが昔はプロの技と言われたもんだぜ

744 :デフォルトの名無しさん:2009/11/23(月) 22:35:06
ボッタクリの末路は...

745 :デフォルトの名無しさん:2009/11/23(月) 22:43:56
>>742
無限ループって怖くね?
http://pc11.2ch.net/test/read.cgi/prog/1140435913/

746 :デフォルトの名無しさん:2009/11/24(火) 00:22:51
  i = 1
Loop1:
  If i > 3 Then GoTo Loop1_End
  Select Case i
    Case 1: Cells(5, 5).Value = "H線"
    Case 2: Cells(5, 6).Value = "L線"
    Case 3: Cells(5, 7).Value = "中心線"
  End Select
  i = i + 1
  GoTo Loop1
Loop1_End:

207 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]

■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
Excel総合相談所 88 [ビジネスsoft]
Windows98を使い続けるよ Part14 [Windows]
何でもかんでもExcelで資料作る奴 [ビジネスsoft]
老符「東方シリーズ総合スレッド 6128/6128」 [ゲームサロン]
蠢符「東方シリーズ総合スレッド 6137/6137」 [ゲームサロン]

新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.0.7.8 2008/11/13 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)