1 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 17:19:08.43 ] ExcelのVBAに関する質問スレです ★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。 ★2 ExcelのVBA以外の部分に関する質問はNGです。 但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。 ★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。 VBAとは、『Visual Basic for Applications』の略で Application ├Workbooks |└Workbook | ├Worksheets | |└Worksheet というApplication以下のオブジェクトを、VB言語で操作するものを指します。 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。 ★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。 ★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、 コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。 ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。 ★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R) 前スレ: Excel VBA 質問スレ Part23 toro.2ch.net/test/read.cgi/tech/1327763113/
331 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:54:01.42 ] 2007で動かなかったという現実があるのに、なんで「ありますか?」とか聞くのだ、この馬鹿は
332 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 20:48:49.86 ] ネタスレにすんな。 せっかく有益なスレなのに
333 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 21:52:02.46 ] 悪い、動かんと言われたけど、実際の環境というか操作方法とか確認できないのよ。 だから、聞いたのよ。
334 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 21:52:37.26 ] >>331 馬鹿は出てこないでくれ
335 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 22:19:00.30 ] >>333 んで、そんなこと聞いてどうするの? 実際の環境も操作方法も確認できなくて、2ちゃんでできるとかできないとか回答もらってどうするの? いまいち質問の意図が読みとれない
336 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 00:30:32.23 ] >>333 そんなもん99%は操作ミスかセキュリティ設定が悪くてマクロが動いてないだけ まずは客先へ行ってちゃんと知識のあるやつが状況を把握してこい
337 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 00:33:00.36 ] >>336 確認できないって書いてるの読めない?
338 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 00:38:19.48 ] 確認できないってのは、確認するのが「不可能」じゃなくて、「めんどくさい」だろ デバッグってのは結局のとろこ>>336 に尽きるんだが、それをしないなら有意な質問にならないし、まともな回答も出来ないんだよ
339 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 01:24:01.74 ] 小学生知能にマジレスしてやんなよw
340 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 01:46:55.88 ] 確認できないってことは相手は言語を超越した何かか?w
341 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 02:26:50.55 ] >>340 それだと受注もできんだろ 太陽系の外へ向かったロケットか何かなんだよ、きっと
342 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 03:20:17.30 ] 2007でなくなって2010で復活した変更点があればそれ絡みだろうけど それっぽいものは見つけられんなぁ 環境に依存する何かを使ってるんじゃないかと
343 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 14:54:57.82 ] >動作保証は、あくまでも2003と2010。 >客先にもそれしかないから。 >たまたま動かしたPCに2007が入っていて 部外者が勝手に動かしたのか?恐ろしい職場だな
344 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 19:54:52.28 ] ユーザーフォームで使用者に必要事項を入力させているのですが ComboBoxで何も選択されていないことが想定され その場合のエラー処理で困っています。 ユーザーフォームは表示したままでCommandButton をクリックする前の状態に出来ないでしょうか?
345 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 20:07:07.92 ] if combobox1.value="" then exit sub
346 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 21:10:08.88 ] >>345 あら、そんなに単純だったんですね ありがとうございます。
347 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 21:51:02.47 ] for〜nextで繰り返し処理している中で inputboxで数値を入力させているのですが、 inputboxのキャンセルをクリックしたときに inputbox以外の処理はカウント完了するまで続けたいのですが できませんか? また出来るなら方法をご教示下さい。
348 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:09:07.15 ] Sub test() For i = 1 To 5 a = InputBox("hoge") If a = "" Then MsgBox "キャンセルされたよ" Else MsgBox a End If b = b + 1 Next MsgBox b & "回ループしたよ" End Sub
349 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:13:05.89 ] >>333 その位で確認してから質問しろ
350 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:38:17.64 ] >>348 それだと毎回inputboxが出てくるので 一度キャンセルされるとそれ以降はinputboxを とばして残りの処理をしたいのです。
351 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:46:01.10 ] exit for すりゃいいじゃん
352 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:49:35.84 ] >>351 それだと残りのFor〜Next内の処理ができないです。
353 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:04:09.77 ] Sub test() Dim flag As Boolean For i = 1 To 5 If Not flag Then a = InputBox("hoge") If a = "" Then flag = True b = b + 1 Next MsgBox b & "回ループしたよ" End Sub
354 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:17:15.40 ] >>353 ありがとうございます。 完璧です!
355 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 03:21:47.17 ] 例えばあるシートの、1行目の、1列から10列目までに色々な数値が書かれていて 最小値だったり、最大値だったりを持つ数値の列数を算出していきたいんですが とりあえず以下のようなやり方で出来るんですが 最小値 = WorksheetFunction.Min(Range(Cells(1, 1), Cells(1, 10))) 最小値をもつ列 = Range(Cells(1, 1), Cells(1, 10)).Find(最小値).Column 何か1行ぐらいのスッキリした文で求める方法ないでしょうか? というのは、行の部分を変数化して、何千行、何万行と作業やっていくので 負担の無い早そうなスピードがのりそうな文があればそのほうがいいんですが どなたがご存知でしょうか?
356 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 08:45:44.06 ] ねえよ 見た目だけそうなればいいなら、サブモジュール作る
357 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 09:02:26.45 ] >>356 ありがとうございます>>355 でもあんまり速度は悪くなさそうですね。 これでやってみます。もしそういうのがあれば、知りたいなと思いました。
358 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 09:17:27.03 ] だめだオブジェクト指向が苦手だ Cで慣れすぎたせいで効率悪い
359 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 09:57:16.22 ] >>358 単に大規模システムの構築に慣れてないか、 小規模なものを無理矢理小分けにして無意味にごっちゃにしてるかのどっちかじゃないの
360 名前:デフォルトの名無しさん [2012/05/16(水) 10:31:06.74 ] P10に=((1/(COS(RADIANS(N10))))-1)*AI10*AJ10*X10/V10/1000 O10に=AK10/(SIN(RADIANS(N10)))という式が入力されていて P10=O10のときのN10の値を求めたいんですがどういうコードを書けば いいのかわかりません。
361 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 10:38:16.38 ] >>360 Function GetN10() If Range("P10") = Range("O10") Then GetN10 = Range("N10") Else GetN10 = 0 End If End Function
362 名前:デフォルトの名無しさん [2012/05/16(水) 11:43:29.77 ] >>361 ありがとうございます。 でもそれを使ってどうしていいのかわかりませんでした。
363 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 12:06:29.58 ] へえ、あんたなかなかやるじゃん
364 名前:デフォルトの名無しさん [2012/05/16(水) 17:10:25.84 ] 失礼します。 今プログラムを作っていて、 ある列に数字をうっていてある条件を出していくようなプログラムを作っているのですが、(ここはあまり関係ない) ActiveXコントロールを押すと、行のBの列の数字を。 そして次にまた押すと、行のCの列の数字を、、、というように やっていきたいのですが、これをするためには、 例えば、iだとかjだとを一回格納する必要があります。 例えば、 Private Sub CommandButton1_Click() dim i as integer i=0 i=i+1 ・ ・ End Sub プログラムが終了しても、このiを保存しておきたいのです。 どのようなやり方がありますか?
365 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 17:33:52.80 ] セルに書く 外部ファイルに書く ソースコードのコメントに書く コントロールに書く
366 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 17:36:40.83 ] まぁセルのどっかに保存が一番簡単だな。 見た目云々をいうなら白文字で代入とか。 ところで、例えがiを必ず初期化しているせいで、逆に分かりづらくなっている気がするんだが
367 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 17:40:35.92 ] ブック名やシート名っていう手もあるぞい
368 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:39:35.86 ] >>360 ゴールシークは使えないの?
369 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:44:24.26 ] というか、ホントにプログラムが終了しても保存してないとダメなのか? Subを抜けても保存されてるんだけで良いんじゃないのか? それならSubの外で変数定義するか、Staticな変数使えばいいだけだが
370 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:55:08.71 ] 釣られすぎw
371 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 22:24:58.52 ] 中国のGDP、実は日本を超えてなかった engawa.2ch.net/test/read.cgi/poverty/1337172543/ 中国経済、予想を超える急減速か 世界第2位の経済大国の舵(かじ)取り役に来年就任する人物は、 中国の国内総生産(GDP)統計に対する疑念をうっかり漏らした。 中国の公式GDP統計は「人為的」で当てにならないと語ったのは李克強氏だ。 李氏の評価が正しければ、中国経済はGDP統計がこれまで示唆してきたよりもかなり厳しい苦境に陥っている。 電力や鉄道貨物、銀行融資をはじめ、ここ数日で発表された注目度の低い統計は、 いずれも経済活動の急激な落ち込みを示しており、政策立案者たちに不意打ちを食らわせたようだ。 最近の悲惨な統計を受け、中央銀行は12日、融資拡大を促すために市中銀行の預金準備率を引き下げた。 しかし、金融危機後の大規模な低利融資と政府支援による投資の結果、中国政府には今回、 限られた武器しか残っていない。一方で、インフレ再燃と国営銀行の不良債権への懸念が高まっている。 www.nikkei.com/biz/world/article/g=96958A9C9381959FE3E7E2E1848DE3E7E2E7E0E2E3E0E2E2E2E2E2E2;dg=1;df=2;p=9694E3E7E2E0E0E2E3E2E6E1E0E2
372 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 23:05:47.74 ] 超えててくれたほうがいろいろありがたいんだが
373 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 16:01:40.27 ] うん、愚図愚図してないでとっとと超えろと言いたい
374 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 16:11:52.78 ] 馬鹿には無理
375 名前:デフォルトの名無しさん [2012/05/19(土) 18:47:15.19 ] VBAを使って作業しまくったらPCが異常に重くなるんです。 最近会社で効率のため自分用VBAをいっぱいつくるようになってからの症状なので VBAが原因なのは明らかです。 なにかメモリを解放しないといけないのですかな? どうか対策のことでアドバイスをお願いできますでしょうか?
376 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:51:19.39 ] >>375 まず、タスクマネージャでどのプロセスが CPU やメモリ食ってるかを見てみなよ。
377 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:55:17.89 ] 動的配列を使ったら最後に必ず erase するとか
378 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:58:16.27 ] >>375 どんなコード書いてるのかわからないのでアドバイスしようがないと思うけど・・・? PCが重いってのは何が重いの?ディスクI/O?CPU?メモリアクセス? VBAが原因なのは明らかっていう根拠は何?
379 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 20:27:42.40 ] EXCEL終わらせても重いままだったらVBAは無関係だと思っていいが
380 名前:375 [2012/05/19(土) 20:29:04.21 ] Excel終わらせたら、もちろん軽いパパです。
381 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 20:38:35.31 ] >>380 じゃあVBAのロジックがクソなんだろw
382 名前:375 [2012/05/19(土) 20:51:45.02 ] そのとおり糞だからこそその改善策を聞いているのですが・・・
383 名前:デフォルトの名無しさん [2012/05/19(土) 20:55:33.26 ] VBAでオートフィルタをさせているんですが そのフィルタをする項目として、Selectionで囲ったセルを指定してます。 criteria1:=Array(Selection) みたいな感じです。 しかしこのselection、1行の横長だとうまくいくんですが 1列の縦長だとエラーが出て「エラいこっちゃ」になります。 縦でselectionしたときも、複数行・列にわたってselecionしたときにその内部のセル全部でフィルターしたいときには どういうコードを書けばいいですか?
384 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:11:24.37 ] >>382 だから早くその糞コードを見せろよ
385 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:12:19.84 ] >>383 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
386 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:26:08.03 ] >>382 重い処理を何回もループさせるとCPU使用率がヤバくなるよね。それじゃね?。sleep入れてみれば?。
387 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 03:39:29.77 ] >>375 適当なタイミングでDoEventsかませ
388 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 11:03:41.98 ] データを他のブックに貼り付けて終わらせるのがあるんですけど、 下のメッセージが出るんでこれを出さないようにする方法とかないですか? クリップボードに大きな情報があります。この情報をほかのプログラムに貼り付けられるようにしますか?
389 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 11:10:30.81 ] >>388 Application.CutCopyModeにFalseをセットする。
390 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 11:12:45.84 ] Application.DisplayAlerts = False
391 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:00:31.73 ] sn = Array("りんご", "ゆず", "かぼす") For ii = 1 To 3 Set ws = Worksheets(sn(ii)) Set tmp = ws.Cells(Rows.Count, 1).End(xlUp).Rows ws.Range(Cells(1, 1), Cells(tmp, 10)).Select Next ii とするとRangeのところで実行時エラー1004が出ます。 どうしたらいいでしょうか
392 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:14:26.21 ] >>391 tmpには正しい(意図している)値が入ってるの?
393 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:27:12.60 ] >>392 すこし修正して入っているのを確認しましたが、 今度はRangeクラスのSelectメソッドが失敗しました。 のエラーが出ました。
394 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:56:30.31 ] >ws.Range(Cells(1, 1), Cells(tmp, 10)).Select CellsがActiveSheet見てるんじゃないかと予想
395 名前:再質問です [2012/05/20(日) 16:00:22.22 ] VBAでオートフィルタをさせているんですが そのフィルタをする項目として、Selectionで囲ったセルを指定してます。 criteria1:=Array(Selection) みたいな感じです。 しかしこのselection、1行の横長だとうまくいくんですが 1列の縦長だとエラーが出て「エラいこっちゃ」になります。 縦でselectionしたときも、複数行・列にわたってselecionしたときにその内部のセル全部でフィルターしたいときには どういうコードを書けばいいですか?
396 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 16:04:09.76 ] >>395 出たエラーとコードを晒せ
397 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 16:05:34.96 ] >>389 thxですm(__)m
398 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 16:06:49.95 ] >>394 正解でした。 しょうもないミスですんません・・
399 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 16:22:50.57 ] >>277 ActiveSheet.Range("B1").AutoFilter Field:=1, Operator:=xlFilterValues, Criteria2:=Array(1, "31/05/2012")
400 名前:395 [2012/05/20(日) 16:25:19.61 ] >>396 恥ずかしいゎ
401 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 17:28:16.42 ] >>395 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
402 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 18:36:04.74 ] >>395 こんな感じかな Sub test() Dim V() Dim c As Range Dim n As Long ReDim V(1 To Selection.Count) For Each c In Selection n = n + 1 V(n) = c.Value Next Range("A1").AutoFilter Field:=1, Criteria1:=Array(V), Operator:=xlFilterValues End Sub
403 名前:395 [2012/05/20(日) 18:38:22.69 ] >>402 すばらしい! それこそわたしが探し求めてたものです。 ありがとうございます。 しかしマクロ記録を勧める人は何だったんだろ。ピントはずれ。
404 名前:395 [2012/05/20(日) 18:40:35.55 ] この配列を使い、それをvarient型で使う、というのはどういうしくみになってるんだろ。 使い方をまとめてくれてるサイトみたいなのない? あとFilter機能で使ったように、Arrayの使い方も、 今後の活用のために、まとめサイトみたいなのない?
405 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 20:22:49.49 ] >>402 Criteria1:=V でよっかた
406 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:01:11.02 ] >>402 コードを見て質問の意味が理解できたw あんたスゲーよ
407 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:44:27.03 ] さすがにそれはエスパーレベルが低すぎだろ
408 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 08:38:38.53 ] シートに A:データの一覧表(500行ほど) B:ブランクフォーム と2つのシートがあるマクロがあります。マクロを実行すると −Aシートの1行をBのブランクフォームに転記して、 −ブランクフォームを新しいシートにコピー −そのシートを新しいファイルにして保存。 を繰り返しています。 ただ、100〜200くらいでメモリーか何かのエラーでマクロが止まります。 再開すればまた走るのですが、最初から最後まで連続で生かせる方法ありません?
409 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 08:54:21.37 ] ファイル保存終わったら閉じろ 更に一回ごとにクリップボード空にしろ かなあ 新規ブックのインスタンスって閉じた時点で解放されるのか?
410 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 09:36:18.16 ] >>408 コードにバグがあるんだろうね どっかにアップしてみたら誰かが見てくれるよ
411 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 09:46:48.28 ] 調べてみたら、エクセルで増やしたブックのメモリは減らないのが仕様らしい クローズしたら一回doevent入れてみそ VBAからエクセルあるいは別のオートメーションを参照して、毎回解放するとかくらいかなあ
412 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 11:16:58.15 ] まず 本体ブック 作業ブック にわける 本体ブックから作業ブックを呼び出し、作業ブックにある実際の作業モジュールを実行して、作業ブックを閉じる クリエイトオブジェクトでエクセルアプリケーションをセット セットしたオブジェクトから作業ブックを開く 作業ブックのモジュールを実行 作業ブックを閉じる セットしたエクセルアプリケーションをクイット エクセルアプリケーションの解放 これでフロセス上エクセルが二重起動して作業側が主メモリを食った後解放されるはず 本体メモリも若干ふえるけど、致命的にはならないんじゃないか
413 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 11:33:17.81 ] 日付 あるセル 5月12日 15回目 5月15日 16回目 5月30日 17回目 上記の日付と「NN回目」は予め入力済みとする。 このとき、日付蘭が今日を過ぎている場合、 あるセルの書式を「水色背景、青文字」にするという書式設定をしている。 後日、「NN回目」の後にセンテンスを追加した場合(途中に半角文字があったりすると) セルの書式(文字色)が途中から指定の青ではなく黒のままになってしまう。(背景色はOK) 単純にセルの切り取り&ペーストをしても変わらないので、 @「セルのセンテンスをコピーし、テキストデータとしてはり付けると既定の書式に修正される。」 この手順が手間なので、ボタン一つで@と同じ動作をさせたいのですが、マクロで出来ますか?
414 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 11:47:51.21 ] 5月12日を過ぎたら、15回目と書かれたセルの書式は「水色背景、青文字」になるけど、 「15回目」の後に「ぬるぽ」って追加すると「水色背景、黒文字」になってしまうということ?
415 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 13:20:18.11 ] できる 対象セルに「NN回目」って文字列が記入されてるならだが 1.正規表現 vbsのregexpをオブジェクト参照セット パターン文字列に数字一回以上&回目 2. 頭から一文字づつ判定 連続した数字でかつ最後に回目だったら抜き出し
416 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 14:06:26.72 ] 必ずそうなるというわけではないんだけど 15回目 (水色背景、青文字) ↓文字「ぬるぽ?ががが」追加 15回目 ぬるぽ?ががが (水色背景) 「ぽ」まで青文字 「?」以降が黒文字 ←?が半角 どうやら半角文字があると、その文字以降に文字色の書式が反映されないみたい 半角以外でも同様の現象が起きているけど、条件ははっきりしていない
417 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 15:08:17.31 ] ボタンを押していいなら、ボタンのイベントで日付列の経過してるセルを確認して、 それに対応している「あるセル」に書式設定すればいいんでないの。
418 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 10:18:01.96 ] 「マクロを書け」とか「ソースを見せろ」とか人によって言われることが違うんですが マクロ、VBA、コード、プログラム、ソースの違いというか言葉の正しい使い分けを教えて下さい
419 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 10:48:04.64 ] >>418 じっくり読んでください ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89 ja.wikipedia.org/wiki/Visual_Basic_for_Applications ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0_ (%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF) ja.wikipedia.org/wiki/%E3%83%9E%E3%82%AF%E3%83%AD_ (%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E7%94%A8%E8%AA%9E) ja.wikipedia.org/wiki/%E3%83%9E%E3%82%AF%E3%83%AD%E8%A8%80%E8%AA%9E
420 名前:413 mailto:sage [2012/05/23(水) 12:55:49.58 ] 左隣のセルを使うという姑息な手法で作ってみたw あるセルを選択した状態で、マクロ「カットペースト」を実行 Sub カットペースト() '選択セルの値をコピー Selection.Copy '左のセルに値を貼り付け ActiveCell.Offset(0, -1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False '左セルの値をコピー Selection.Copy '選択セルに値を貼り付け ActiveCell.Offset(0, 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False '左セルの値を空に ActiveCell.Offset(0, -1).Select Application.CutCopyMode = False Selection.ClearContents ActiveCell.Offset(0, 1).Select End Sub もっとシンプルに出来そうなんだけど・・・
421 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 13:00:52.08 ] selectする奴はトド素人
422 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 13:02:59.11 ] selectしてると誤動作するよね
423 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 13:39:28.64 ] じゃお洒落な解答を教えてけろっぴ
424 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:22:46.42 ] EXCEL VBAをJavaScriptみたいにJITコンパイルして欲しいなあ 実行速度が遅すぎる
425 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:24:35.79 ] >>424 無理です
426 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:28:18.29 ] >>425 何でや JavaScriptに出来てどうしてVBAで出来ん
427 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 18:59:31.41 ] じゃあアセンブラでもやっとけ
428 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 19:02:17.80 ] VBAだけ頑張っても、どうせExcelが足引っ張るだろうし。
429 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 19:06:47.07 ] >>424 CSV形式にしてRUBYで処理すれば良いよ。
430 名前:408 mailto:sage [2012/05/23(水) 21:04:26.55 ] >>411 doevenで解決。深謝。
431 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:30:42.08 ] JIT はどうでもいいから、Excel C# for Application にしてくれ。
432 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:52:46.56 ] やめてdotNetやめてまじやめて 書き直しとか死ねる いざってために出来るようにいろいろ勉強してるけどまじ簡便
433 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 11:00:35.34 ] 使ったことないけど、VSTOとかExcel-DNAとか使うといいんじゃ
434 名前:デフォルトの名無しさん [2012/05/25(金) 01:20:59.06 ] ExcelVBAとSharePOINTのデータ連携なんですが dt_sheet.ListObjects.Add(SourceType:=xlSrcExternal, _ Source:=Array("SharePoint サイトの URL", ListName, ViewGUID), _ LinkSource:=True, _ XlListObjectHasHeaders:=xlYes, _ Destination:=Range("A3")).Name = tbllist SharePointのリストデータを取得しエクセル上にデータ表示(これはできました) ここから質問なんですが、以下手順 1.エクセル上でデータを修正 2.エクセル上に作成した〔更新〕ボタンを押下 3.SharePointのリストデータが更新される これってVBAで可能なんですかね? 可能であればどういうコード書けばいいんですかね? 【ver】 Excel2007 SharePoint2007
435 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:27:32.47 ] 知らん 外部連携ならそっちの仕様による
436 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 17:04:52.52 ] バルーンをvbaで操作したいのだが、このスレでいいのかな。 ボタンなしのモードレスバルーンでコールバックさせたいんだが、どうすればいいんだろか。 要は『処理中』みたいなバルーンを表示させたままコールバックプロシージャを実行させて、 終わったらクローズして、新しいバルーンで『終了』→OK、みたいに。 ユーザーフォームじゃなくて、『ろっきー君』にしゃべってもらいたいのだが・・・、 もちろんアニメは103な。
437 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 17:59:00.53 ] >>436 こういうことか? msdn.microsoft.com/ja-jp/library/cc376672 コールバックされるのはバルーンのボタンを押したときみたいだな 単に処理中を表示したいなら、 普通にモーダレスのバルーンを表示するだけの話じゃないのか? つかオフィスアシスタントっていまのバージョンでも使えるんだろうか
438 名前:デフォルトの名無しさん [2012/05/26(土) 18:48:28.46 ] VBAの知識がない人にVBAの修正をお願いするのは無理なことでしょうか?
439 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 18:49:45.75 ] >>438 お願いするだけならあなたの勇気次第でしょうね
440 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 18:52:28.11 ] そもそもなんでそんなことしたいのよ。
441 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:04:21.99 ] >>437 thx excel2003だ。 そうなんだが、残念ながらモードレスバルーンはコールバック必須だろ? ボタンつき(あるいは『ret=.show』で戻るタイプ)のバルーンでコールバックプロシージャがないと えらーになる。ボタンなしだとエラーにはならないが、当然、何もおこらんし、バルーンは消す手段がないときたもんだ。 ボタンつけてもいいんだが、いちいち『OK』するのがめんどくさい。 バルーン表示すると、表示したまま即勝手にコールバックが動いてそこで bln.close With NewBalloon ----- .show End With End Sub みたいにしたいんだが...
442 名前:デフォルトの名無しさん [2012/05/26(土) 19:20:36.51 ] 438>ですが、一人で現在2つの仕事を抱えていて、その中にVBAの修正も 含まれています。VBAの知識がない人にも頼まないといけない状況で 本人も「やります。」と言われたので教えました。 すると、本人が「無理です。出来ません。」と言われました。 でも、上司が本人に実際やってみようと言っています。
443 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:20:38.22 ] >>437 >普通にモーダレスのバルーンを表示するだけの話じゃないのか? すまん、君の言うとおりだった。そのとおりだ。ボタンなしバルーンはコールバック必須じゃないんだな。 解決だ。ありがd
444 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:25:19.27 ] >>442 むしろ仕事が遅れると思うよ。長期的にみてどうかは、別かもしれんが。
445 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:27:34.25 ] >>442 「出来ません」でやらなくていいぐらいの仕事かよw ユルい会社でうらやましいな
446 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:34:17.90 ] VBA の仕事なんて、そんなもんだろ。
447 名前:>>442 [2012/05/26(土) 19:35:56.59 ] 本人がもう、説明途中で飽きてしまって…。「細かすぎて私には向いていません。 無理です。出来ません。担当している人(私)にしか出来ません。」ってことに なってしまいました。
448 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:36:59.43 ] >>447 2ちゃん見る暇があるなら自分でやれよ
449 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:39:46.45 ] >448 そんな暇はありません。 一人で現在2つの仕事を抱えていて忙しいんです・・・ 日本語読めないんですか?
450 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:45:11.24 ] 暇はないと言いつつ、レスをちゃんと返してる ww
451 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:50:32.75 ] 保守不可能なきったねーコード書いてるんだろ。
452 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:06:31.85 ] >>449 2ちゃん見る暇があるなら自分でやれよ
453 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:23:52.43 ] >>447 それ出来る出来ない以前の資質の問題だわww 興味がある仕事には一直線でバリバリだけどアラが目立ったり 興味がない仕事にはまったく見向きもしない そういうタイプだろ? 上司はそいつにVBAをさせるのが目的じゃなくて、本人が気に入らない仕事でも一回やり遂げさせみようとしてるだけじゃね というかVBAを何も知らないヤツにいきなり修正作業とか間違ってる
454 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:42:41.58 ] <<450 応援ありがとうございます。 頑張ります。 <<451 残念ながら私のVBAのコードは上司からも非常に綺麗なコードだと高い評価を受けています。 そういうあなたこそ綺麗なコードが書けるんですか? そういう批判はまずはあなたの綺麗だというコードを提示してからにしてもらえますか??? <<452 本当に日本語が読めないんですね・・・。 さすがの私もにかわいそうになってきました・・・。
455 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:54:09.62 ] (あ、これはしょうがないな)
456 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:54:52.94 ] 2ちゃん見る暇があるなら自分でやれよ
457 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:01:37.58 ] >>438 無理
458 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:02:56.82 ] 仕事外、それも家で(たぶん)やらせるとか、俺なら絶対許可しねえ 残業ならともかく、情報落としたりへんなコードひっかけたりしたらって考えると特に
459 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:05:45.49 ] >>456 ・・・。。。 病院紹介しましょうか? >>457 無理だという根拠を教えてくいただけないでしょうか?
460 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:06:21.96 ] >>454 2ちゃんやる暇があるなら仕事しろ 小汚いコードを綺麗にしろ
461 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:06:39.93 ] て言うか、にちゃんに相談… つまりは、そう言うことだろ。 スルー推奨。
462 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:11:47.76 ] >>461 いや、みんな、そこはわかってて、ただの暇つぶしだろ。
463 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:13:27.19 ] 釣り師と針つついて遊んでる魚のじゃれ合いだよな
464 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:14:30.92 ] >>460 仕事しろって・・・ 今日は土曜日なので休みですが??? 先ほども書きましたけどコードは綺麗なんです。 日本語読めないんですか? >>461 困っているから相談しているんです。 他に相談するところが見つからなかったんです・・・
465 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:15:50.54 ] >>464 仕事遅いんだから仕事しろ
466 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:16:07.78 ] >>463 機嫌を損ねてしまったのならば申し訳ありません。 本当に困っているんです。 このままでは週明けに2つの仕事を抱えていて忙しくてまずいです。
467 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:19:27.93 ] >>464 >>466 今日は休みなんなら 考える仕事は月曜日にすればいい 休みなのに仕事するんなら2chなんかやらずさっさとコード書け 以上だ。スレチだからマ板いけ。もうくるな
468 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:19:45.43 ] >>466 VBAでやればいいんじゃね?
469 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:23:46.11 ] >>467 初めて有益なレス、まことにありがとうございます。 使えないレスばかりで間違ってヤフー知恵遅れに書き込んでしまったのか焦ってしまいました。 今日と明日はVBAのことは忘れてとりあえずゆっくり休みたいと思います。 月曜日にまたお邪魔するかもしれませんが、そのときはよろしくお願いしますm(_ _)m >>468 はい。ソースの修正をVBAでやるというのは名案ですね。 月曜日に上司に相談した上で検討したいと思います。
470 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:25:19.30 ] 批判コメにしかレス付けてない 何をどうしたいのかも不明 そもそもVBAスレwww 回答をコード化すりゃいいのかね
471 名前:デフォルトの名無しさん [2012/05/27(日) 00:22:02.72 ] VBAがなければ今頃Haskellが搭載されてたろうに。
472 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 02:26:57.34 ] 件の上司はそのやり遂げられない人と 人にモノ教えるのが下手な>>469 の二人を なんとかしてあげたいと思ってるのかもしれん
473 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 09:42:06.57 ] >>471 さすがにそれはないw とはいえF#内蔵されたらめちゃくちゃ幸せだな
474 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 16:42:42.68 ] 大学でExcel 2010が1500円で販売されていたのですが、これは何をするものなのでしょうか。 VBAでプログラミング可能と書いてありましたが、自分は今MMOをやっているのですが、このソフトでbotなど作成することは可能なのでしょうか。 本当に無知な質問で申し訳ありません。
475 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:00:26.76 ] >>474 「VBA 初心者」でいったんググってからもう一度ここに来ようか、ね。
476 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:38:42.06 ] ほんっといろんな人間がいるな… w
477 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:42:49.32 ] M マジ M ムカつく O おまえら
478 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:43:27.87 ] M まあ M まあ O 落ち着いて
479 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:46:13.10 ] いや、やろうと思えばまあ出来ないこともあんまないんだけど ぐぐるべきはVBAじゃなくてMMOとかBOTとかだろ
480 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:56:30.27 ] Excel 2010ってアカデミック版でも今8,000円以上するはずだが・・・
481 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:58:24.18 ] Excelについて質問です セルに「n」週の数字を打ち込んで 適当なセルに「a歳bヶ月c週」と表示させることは出来ますか? 例えば、n=51と置いて 1歳0ヶ月3週みたいにです
482 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:59:20.75 ] できます はい次
483 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:10:09.94 ] >>481 worksheet_change でググれ
484 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:17:36.81 ] Excel関数でやれよ
485 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:19:15.66 ] 一年て52週がデフォなのにその赤ちゃん化け物か・・・
486 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:25:26.77 ] >>485 なんか独自の方程式があるんでしょ そこは質問に関係ないとこだから突っ込んでやるな
487 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:27:28.45 ] >>481 それVBA使う必要ないけど・・・
488 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:32:12.66 ] 妊娠は受精した日からじゃなくて 排卵した日から数えるんだっけ
489 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:37:31.24 ] >>488 生でInsertメソッドを使ったのか?
490 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:39:05.78 ] >>481 Excel総合相談所 102 toro.2ch.net/test/read.cgi/bsoft/1334818676/
491 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:42:43.44 ] >>489 Insertより前だ
492 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:23:45.81 ] >>475 「VBA 初心者」でぐぐってここにたどり着きました。
493 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:24:30.29 ] >>480 ということは1500円で買えるというのはかなりお買い得ということですね。
494 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:35:03.81 ] >>492 「教えて君」でくぐってから出直そうか
495 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:44:41.38 ] >>492 試しに「VBA 初心者」でググったけどこのスレは少なくとも1ページ目には出てこなかったし、もっと分かりやすいのがいっぱい出てきた訳だが、さてと(ビキビキ
496 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:45:05.50 ] >>493 「猫に小判」でぐぐってから出直そうか
497 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:51:09.80 ] というか、結局質問まだあんのか?
498 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:58:07.10 ] >>495 私の環境だと上から2番目に出ますが? ttps://www.google.co.jp/search?q=VBA+%E5%88%9D%E5%BF%83%E8%80%85+site%3A2ch.net >>496 値打ちのわからない者には何の役にもたたないということ。 たしかに・・・使えない物に1500円は高いですね・・・。
499 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 20:01:19.18 ] >>498 2chがおまえの世界か!w
500 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 20:02:11.06 ] >>498 はあ?環境? 2ちゃん内でググるバカがどこにいんだよ、人に聞くことを大前提に調べてんのか。くれくれ君の極みだな。しねよ。
501 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 20:08:03.61 ] くれくれ君二重の極み!
502 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 21:01:31.84 ] >>499 >>500 すみません。 ぐぐれと言われたので2チャンネルのスレッドを探せという意味にとらえてしまいました・・・。 しにたくないです。
503 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 21:06:28.04 ] たどり着いたっつってたのと時系列が合わないな。つまんねえ後釣り宣言すんなら今のうちに消えな。
504 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 21:09:19.92 ] >>503 いえ、最初からぐぐってここにたどり着いたんです。 初心者用のスレッドがあるからぐぐれという意味かと。 なので>>492 はぐぐってたどり着きました。という意味です。
505 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 21:12:31.41 ] >>504 ぐぐらなくていいから教えてgooで聞けよカス
506 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 23:23:49.25 ] 今年大学に入ったばかりのいとこも同じようなこと言ってた 大学でOfficeがめっちゃ安く買えるって ボリュームライセンスのバラ売りしてんじゃない?
507 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:05:47.71 ] WindowsXP Excel2002 ホストのプログラムが起点になって ネットワークドライブからワークシートを手元にコピー という処理を一連で行い使用しています ですが Sheets.Copyでコピーすると ファイル名がBook1となってしまうので これを固定名+年月日に変えたいです 調べて、SaveAsをつかえばファイル名を変えて保存できることがわかりましたが 保存する前、ファイルをコピーした時点で名前を変えることはできますか?
508 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:24:14.84 ] >>507 FileSystemObjectのCopyFileメソッドを使う。
509 名前:507 mailto:sage [2012/05/28(月) 19:39:37.58 ] ありがとうございます 手元にコピーというのが悪かったですね そのメソッドだと結局保存されたのを開いて使っているイメージになりますよね? そうではなく、新規でbookを開いた状態で名前をつけたい ということがしたいのですが
510 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:45:48.92 ] >>509 何故そうしたいのか?
511 名前:507 mailto:sage [2012/05/28(月) 20:17:15.06 ] わかりません 仕様です
512 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 20:36:29.09 ] >>511 何故BooK1のままだとだめなのか?
513 名前:507 mailto:sage [2012/05/28(月) 20:40:38.36 ] 結局保存するかブック名つきで印刷するかくらいだと思いますが不明です 保存するならこれまで出てきたのでやればいいじゃないかと言われそうですが 保存場所は指定できないので、やはり保存せずに名前を変えられるとベストです
514 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 20:45:47.47 ] >>513 ・マクロを実行した時点では新たにファイルは作成したくない。 ・でもブック名(ファイル名)は設定したい。 ということ?
515 名前:507 mailto:sage [2012/05/28(月) 20:49:38.18 ] その通りです
516 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 20:55:21.89 ] >>515 ファイル名=ブック名なのでファイルが存在しないのにファイル名を作ることはできない。 ので、%TEMP%の下などにファイル作るとかで回避するしかないかと。
517 名前:507 mailto:sage [2012/05/28(月) 21:10:50.63 ] そうなんですか 不可能なら仕方ありませんね ではそのように説明してみます 長くなってしまいましたが付き合ってくれてありがとうございました
518 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 22:44:59.34 ] こいつ前いた奴だろ まだ解決できてなかったのか
519 名前:507 mailto:sage [2012/05/28(月) 23:01:07.34 ] その方のために言いますが 私は初めてですよ
520 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 23:06:26.20 ] >>519 一時的に保存しておいて、最後に削除するのでは何か問題あるの?
521 名前:507 mailto:sage [2012/05/28(月) 23:34:35.29 ] 一度ユーザーの手に渡ったら完結で その後一時的に保存したところのを削除するかどうか制御できるんですか? あまり複雑なことは考えずに できないと言うかc:\直下に保存するか選んでもらうことにしようと思います
522 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 23:37:06.69 ] >>521 マクロの最後でKillすればいいじゃん
523 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 23:47:59.43 ] kill?
524 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 03:13:37.58 ] 新規ブックどうやって作ってるか解らんが テンプレートで保存したブックを開いたら そのブック名はテンプレートのファイル名+数字になった気がする
525 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 13:18:21.54 ] フォルダにファイルを作成してから開けばいいじゃん じゃん
526 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 23:40:15.58 ] 4つのセルを統合したところにソースコードで オートシェイプの円を表示させようとしたところ 一番左端のセルにだけ円が表示されてしまいます 番地指定ではなくアクティブセルを基準に、 セル内に余白を残しつつ4セル分の中心部にオートシェイプを表示したいのですが どういったコードを使えばよろしいでしょうか?
527 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 00:06:33.11 ] アクティブセルがどこか確認したかい?
528 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 08:08:19.74 ] >>526 4セルの状態がわからん □□ □□ □□□□ 長くなるから縦一列は省略 どれも4セルの結合
529 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 10:44:18.84 ] >>526 4つのセルの中心に1つだけ円を表示してみた もし4つのセルに4つの円を表示したいって質問ならループを回せばいい (For Each セル In Selection) Dim セル As Range Set セル = Selection Dim 円 As Shape Set 円 = ActiveSheet.Shapes(1) Dim 余白 As Long 余白 = 20 Dim 円サイズ As Long 円サイズ = IIf(セル.Width > セル.Height, セル.Height, セル.Width) - (余白 * 2) 円.Width = 円サイズ 円.Height = 円サイズ 円.Top = セル.Top + ((セル.Height - 円サイズ) / 2) 円.Left = セル.Left + ((セル.Width - 円サイズ) / 2)
530 名前:デフォルトの名無しさん [2012/05/30(水) 11:16:53.13 ] こんなセルだよ □ □□□ □ □□□□
531 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 11:56:27.73 ] 学校の課題でN進数を10に直せって課題が出たんだが、助言を頂けないだろうか 要求されたことは、 While int 四則演算 Application.InputBox のみで2〜9進数を10進数に変換しなさい って奴なんだ とりあえず、Application.InputBoxで何進数か判別して、要求する値をまた入力って流れで組んだんだがそこからが分からないorz WhileとIntと四則演算を組み合わせて解くのだと思うけど、俺の頭じゃさっぱりだ どなたか助言お願いします
532 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:13:10.03 ] 使っちゃだめな関数あるの?
533 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:13:14.15 ] >>530 こうなりました □ □□ □ □□ □ □ □
534 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:17:57.09 ] >>532 上に載ってる関数以外使っちゃダメって言われた ググってもHEXとかを使うと良いとかで、この問題には使えなかったんだ…
535 名前:デフォルトの名無しさん [2012/05/30(水) 12:25:05.50 ] >>553 下手糞。 こうしろ。 □ □□□□ □□□□
536 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:39:35.19 ] ああ、桁抜き出しの代わりにint使うのか ただそれでどうやって最上位桁を判定するんだろ
537 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 14:41:51.89 ] >>531 何進数かってのと対象の数値の2回入れるんだよな? Modとか%もだめなのか 10で割ってIntで切り捨てた物をもとの数字から引くと下一桁が取り出せるから それを基数の階乗に掛けるとかかかなあ 4進数の312の場合 2 * 3 ^ 0 + 1 * 4 ^ 1 + 3 * 4 ^ 2 で答えが54みたいな あまりいい課題ではないな
538 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 14:42:56.87 ] >>537 「10で割ってIntで切り捨てた物を再度10倍したもの」だった。 すまん
539 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 14:51:22.94 ] >531 Excel VBAの質問ではないなこれは
540 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 20:31:54.09 ] >>536 設問から、 最上位の数値は、必ず10より小さい。
541 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 21:45:51.97 ] >>531 やってみたが、違ってるかもしれん。 Sub test() Dim n As Long, myNum As Long, cnt As Long Dim tmp1 As Long, tmp2 As Long, tmp3 As Long, tmp4 As Long, tmp5 As Long n = Application.InputBox("何進数ですか") myNum = Application.InputBox("変換したい数字を入力してください") cnt = myNum tmp1 = 1 tmp5 = 1 While cnt > 0 cnt = Int(cnt / 10) tmp1 = tmp1 * 10 tmp2 = (myNum - Int(myNum / tmp1) * tmp1 - tmp3) / tmp1 * 10 tmp3 = tmp3 + tmp2 * tmp1 / 10 tmp4 = tmp4 + tmp2 * tmp5 tmp5 = tmp5 * n Wend MsgBox n & "進数の" & myNum & "は、10進数で" & tmp4 & "です" End Sub
542 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 22:28:41.60 ] 何故か出来ているように見えるので一応投げてみる。 進数の違いで多過ぎた分を後から引いていく感じ。 筆算では合っているっぽいけど、自分でも実は良く解らん(おぃ Dim src As Long, radix As Long src = 53423 radix = 7 Dim v1 As Long, v2 As Long, v3 As Long v1 = src v2 = src v3 = 10 - radix While v2 > 0 v2 = Int(v2 / 10) v1 = v1 - v2 * v3 v3 = v3 * radix Wend Debug.Print v1
543 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 22:39:02.30 ] >>542 おおー、理屈はよくわからんが、すごいな。
544 名前:デフォルトの名無しさん [2012/05/31(木) 16:49:59.55 ] Excel2010で同じシートのマクロで、 別のマクロを実行させたいのですが。 Sub FVB() Application.OnTime TimeValue("16:42:00"), "mm" End Sub このように時間になったらmmマクロを呼び出して Sub mm() Range("H92").Select End Sub このように実行させたいのですが、 時間になると実行できませんとエラーがでます、 他のマクロは普通に実行できてるのですが、 どこか問題あるでしょうか?
545 名前:544 [2012/05/31(木) 19:57:39.14 ] 標準モジュールというところに書き直したら、 なぜか実行できました、 なんでうまくいったか分からないけどとりあえず自己解決。
546 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 20:02:52.98 ] >>544 マクロ名が微妙に異なっているとか?
547 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 20:03:37.37 ] あら解決したのね
548 名前:デフォルトの名無しさん [2012/05/31(木) 21:18:36.27 ] 毎日、取引先にエクセルのブックをメール添付で送ってます。 マクロボタンをクリックすると、特定のシート(例えばSheet1)だけを 添付して送信することはできますか? ついでにテンプレートとなる本文と件名と、とくていの部分(日付とか)だけはその日用に変えておくることはExcelVBAできますか? メールはOutlookで下書きを書いて、送信ボタンを押す直前までが希望です。
549 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 21:23:30.05 ] 出来る……ハズだが、やったことない OutlookもVBAを使ってるから、送信までを行うならOutlook側で制御したほうがいいと思う
550 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 21:30:27.93 ] >>548 Outlooknのヘルプにサンプルがあるから頑張れ。 添付ファイルを付けるときは MailItemを作成してAttachmentをつけるとかコードが結構増える。 下書きまでは単純にmailto:のリンクを起動するだけでできるから シート1だけコピーして新規ブックを作成してどこかに保存と mailto起動だけやって添付は手動とかでもいいと思う
551 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 19:55:33.46 ] 最近、毎日ですが、エクセルで、VBAで、プログラムを、組んでます。 どうやったらプログラマにまれますか? プログラムーに、なりたい、です。 ので、誰か、教えてください。
552 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:05:19.01 ] >>551 プログラム、組んでるなら、既に、プログラマ、じゃん かっこいい、な
553 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:08:41.14 ] >>551 C++やRubyの本を読んで挑戦すればいいじゃん
554 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:21:18.47 ] >>552 かっこいいなど、そんなことは、ありません。 プログラマとは、仕事の、ことを、いってます。 ぼくは、まだ、家でしか、やったことが、ないです。 >>553 まずは、C++とか、Rubyというの、本を読んだ方が、いいんでしょうか? ぼくはばかなので、友達にも、ばかだ、といわれています。 まだ、パソコンを、恥またばかりで、よく分からなくて、ごめんなさい。
555 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:26:33.99 ] >>554 まず日本語勉強して会話できるようになれよ
556 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:28:12.80 ] 句読点きもい
557 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:37:20.31 ] >>555 >>556 すいません、タイプングミスばかりして。 国語は、3です。 急いで打つと間違いやすい正確なんです。
558 名前: 【豚】 mailto:sage [2012/06/01(金) 20:50:29.34 ] 偏差値40以下ですね判ります
559 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:01:04.25 ] >>558 エスパー、ですか? 国語の、偏差値は、38です。 でも、数学の偏差値は60、くらいです。 プラグラマに、なるには、国語を、偏差値が、高くないと、無理でしょうか?
560 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:07:14.87 ] >>559 プログラマだからこそ、国語ができないと。 お客の意思疎通ができずにとんでもないもん作っちまうぞ。w
561 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:14:26.39 ] >>560 ぼくは、まだ、プログラマ入級者なので、よくわかっていないのですが、 システムエンジニアは、国語が、必要で、 プログラマーは、国語は、あまり重要じゃ無い、と考えていたのですが、 違うのでしょうか。
562 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:39:48.32 ] まあ別にいいとして どんなプログラム組んでるんだ? VBAである程度なれてるなら、VSオヌヌメするが
563 名前:デフォルトの名無しさん [2012/06/01(金) 22:11:52.01 ] 超初心者です。 オブジェクト、メソッド、プロパティが何かわかる解説付きの一覧表とかあるのでしょうか?
564 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 22:19:47.53 ] 入門編とか応用なんちゃらとかいう本には載ってる 機能からイベントやら探すのも本ある ネットでも探せるし、MSDN見るようにすればおk
565 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 22:53:44.71 ] 超初心者にMSDNなんか薦めんな あんなクソ判りにくいもん読めっか
566 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 22:59:32.19 ] でもいつかは通る道 まぁVBAでmsdnガン見する必要はないと思うけど。 とりあえずこれ如何? home.att.ne.jp/zeta/gen/excel/c04p21.htm
567 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 23:03:16.62 ] なんでこのレベルの奴がこの板にいんだよ年々レベル下がってるじゃねーか死ね
568 名前:566 mailto:sage [2012/06/01(金) 23:10:07.35 ] あ・・・・微妙にまちがえたなりん home.att.ne.jp/zeta/gen/excel/c03p09.htm
569 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 01:23:02.06 ] レベル高いやつはこんなとこ来なくなるんだろ なんでお前まだいるの?
570 名前:デフォルトの名無しさん [2012/06/02(土) 06:13:20.08 ] なんでこのレベルの奴がこの板にいんだよ年々レベル下がってるじゃねーか死ね
571 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 07:33:23.63 ] >>569 そうだよな。ところで、 レベル高いやつはこんなとこ来なくなるんだろ なんでお前まだいるの?
572 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 10:39:30.90 ] >>563 allabout.co.jp/gm/gc/297719/
573 名前:デフォルトの名無しさん [2012/06/02(土) 20:53:31.78 ] >>563 ですが、みなさん返信ありがとうございます。 知りたいのは構成ではなく、個々のやつの意味が知りたいです。 たとえばプロパティは一杯ありますが、それの個々が何かを知りたいです。
574 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:10:24.63 ] >>573 [F1]キーを押したらヘルプが開くでしょ?
575 名前:デフォルトの名無しさん [2012/06/02(土) 21:25:25.06 ] >>574 HPのPCですが、HPのヘルプが開きます
576 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:34:43.56 ] なにそれこわい っていうかそんなPCうざいな・・・
577 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:39:32.77 ] >>575 それはExcelのVBAに全く関係ないのでここで質問してもスルーされるよ
578 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 13:10:01.26 ] >>575 www.relief.jp/itnote/archives/001208.php
579 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:08:49.99 ] 「コンパイル エラー: If ブロックに対応する End If がありません。」 なんで↑がでますか? aaの一個目のEnd Subで抜けるとEnd Ifを通らないからですか? ---------------- Sub aa(x As Integer) If x = 1 Then MsgBox x End Sub End If End Sub ---------------- ---------------- Sub aaa() Dim x As Integer Call aa(x) End Sub ----------------
580 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:12:21.75 ] >>579 exit subにする
581 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:28:40.21 ] >>580 おおお!ありがとうございます。
582 名前:デフォルトの名無しさん [2012/06/03(日) 23:31:39.47 ] Sub aa(x As Integer) If x = 1 Then MsgBox "ナマポ朝鮮人を排除しよう" End Sub
583 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 12:01:34.93 ] どこで聞いたらいいかわからないのですが、 VBEの特殊性(?ないとは思いますが…)、も考えて こちらでお聞きします。 (スレ違いとは思いますので誘導していただけたら助かります) VBEで書いたコードを、備忘録としてブログに貼ると インデントが全くなくなってしまいますが、 これを解決する方法はないでしょうか? たしか、貼ったコードを実行する?ようなサイトがあって それを利用すると、インデントが当初のままに なるとかいう話は聞いたことがあるのですが、 探せませんでした。 上記のようなサイト利用に限らず、インデントを 崩さないで、ブログに貼る方法を教えて頂けませんか? よろしくお願いします。
584 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 12:35:11.61 ] <pre></pre>あるいは<code></code>で囲む
585 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 13:14:00.24 ] >>583 その程度の知識の人のソースコードなんて誰も見たくないんだから ブログになんて貼らないでもらいたいのですが よろしくお願いします
586 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 13:49:22.92 ] Evernoteにでも貼っとけよ
587 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 14:56:34.06 ] >>583 ソースコードをHTMLにコンバートするツールとかサービスとかググったらいっぱいヒットするけど ホントに探せなかったんだよね? VBA限定なら少ないかもしれないけどVBとかVBScriptなら結構見つかると思うよ
588 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 15:43:42.13 ] >>584 全く知りませんでした。ありがとうございます。 >>585-586 すみませんでした。少しでもご迷惑にならないよう パスワードはかけてあります。 >>587 キーワードが全然ダメでした。 お陰様で見つかりました、ありがとうございます。 スレ違いのところをレス頂いて感謝しております。 ありがとうございました。
589 名前:デフォルトの名無しさん [2012/06/04(月) 21:19:55.91 ] エクセルの表のデータベースで、この日付とこの日付のあいだのものを ピックアップして別のシートに貼り付けるというマクロを組みたいのですが、 この時の日付はシリアル値にしないとだめでしょうか?
590 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 21:24:21.93 ] 自分で加工しやすい値にするのがベスト シリアル値じゃなくても変換すればいいし
591 名前:デフォルトの名無しさん [2012/06/04(月) 21:39:17.63 ] >>590 ふむふむ。 いまDATEVALUE関数を使ってみたのですが、A1に2012/6/4と入力して、 B1に=DATEVALUE(A1)と入れてみたのですが、#VALUE!のエラーが出ました。なぜでしょうか?
592 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 22:08:26.71 ] >>591 A1セルの表示形式が「文字列」になってないとか? まぁVBAに関係ない質問なら↓こっち行けって話だけど toro.2ch.net/test/read.cgi/bsoft/1334818676/
593 名前:デフォルトの名無しさん [2012/06/05(火) 22:14:51.73 ] 行を選んで、別のシートにコピーをしたいのですが、 Do Until Cells(n + 1, 1).Value = "" Cells(n + 1, 10).Value = Cells(n + 1, 1).Value If Cells(n + 1, 1).Value > startdate Then If Cells(n + 1, 1).Value < enddate Then Cells(n + 1, 11).Value = Cells(n + 1, 2).Value Rows(n + 1).Copy Rows(n + 500).PasteSpecial ←ここまでは動いて、ちゃんとコピペした。 Worksheets("sheet3").Select Do Until Cells(m + 1, 1).Value = "" If Cells(m + 1, 1).Value = "" Then Worksheets(1).Select Rows(n + 1).Copy Worksheets(3).Select Rows(m + 1, 1).PasteSpecial ← ワークシート3にコピペしてくれない(´・д・`) どこが悪い? End If m = m + 1 Loop End If End If n = n + 1 Worksheets(1).Select Loop
594 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 22:21:20.69 ] Rows(m + 1, 1)
595 名前:デフォルトの名無しさん [2012/06/05(火) 22:27:29.67 ] Rows(m + 1).PasteSpecial
596 名前:デフォルトの名無しさん [2012/06/05(火) 22:36:53.69 ] Worksheets(1).Rows(n + 1).Copy Worksheets(3).Rows(m + 1)
597 名前:デフォルトの名無しさん [2012/06/06(水) 06:30:49.38 ] >>594-596 指摘あり!(><) 行だったよ・・・・
598 名前:デフォルトの名無しさん [2012/06/06(水) 06:35:06.01 ] >>594-596 速攻なおしてみてやってみたけどダメでした・・・(><)・・・
599 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 07:43:09.07 ] ステップ実行で確認
600 名前:デフォルトの名無しさん [2012/06/06(水) 07:48:58.93 ] ここおかしくない? >Do Until Cells(m + 1, 1).Value = ""
601 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 19:21:39.64 ] >>593 やりたいことは、こうじゃないの With Worksheets(1) Do Until .Cells(n + 1, 1).Value = "" .Cells(n + 1, 10).Value = .Cells(n + 1, 1).Value If .Cells(n + 1, 1).Value > startdate Then If .Cells(n + 1, 1).Value < enddate Then .Cells(n + 1, 11).Value = .Cells(n + 1, 2).Value .Rows(n + 1).Copy .Rows(n + 500) Do Until Worksheets("sheet3").Cells(m + 1, 1).Value = "" m = m + 1 Loop .Rows(n + 1).Copy Worksheets(3).Rows(m + 1) End If End If n = n + 1 Loop End With
602 名前:デフォルトの名無しさん [2012/06/06(水) 23:03:47.49 ] >>593 です。みなさんありがとう。快尻しました (*´∀`*)
603 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:54:23.76 ] こんばんは。 私の尻も快尻してほしいです。
604 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 02:02:21.96 ] 嫌です
605 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 12:25:52.47 ] ExcelVBAで作ったシステムを保守することになりました。 モジュール、Excel側のフォーマットとの連携、ブックの定義など、 設計、構造レベルの話を厚く書いている書籍はないでしょうか。 エクステンドで開発していた経緯が見え隠れし、 非常に保守しづらい状況です。
606 名前:デフォルトの名無しさん [2012/06/09(土) 12:26:13.95 ] 失礼age忘れました。
607 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 12:56:15.66 ] 手にしたことないけど、dotNetのexcel連携専用本ならそこらへんをカバーしてるのありそうだな
608 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 14:06:39.59 ] >>605 まずはヘルプのオブジェクト構造図を眺めるかな
609 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 14:08:49.59 ] 無料でもいいならMSDNライブラリとか
610 名前:デフォルトの名無しさん [2012/06/09(土) 14:53:49.04 ] 出社したため携帯から失礼します。 コメントありがとうございます。チェックしてみます。 前任者が20くらいのマクロでシステムを作り上げていて。。。マクロ組めますレベルで大丈夫だよとは聞いてたけど。。。 ざっとシステムとソース舐めてみたところ、フォーマットと機能とデータががっかり結合しているのがシステム肥大化の原因みたいです。 将来的に運用回らないことも想定できるので、早めに提案したいのですが、VBAをシステムとして扱うとなると知識が不足していまして。。。 よろしくお願いします。
611 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 18:08:51.51 ] 出来ない事は出来ないってハッキリ言ったほうが良くない? 手を付けてから出来ませんでしたじゃ余計迷惑だと思うよ。 システム設計とかそういうレベルの話だと いまからなにかしても付け焼刃で何の役にも立たないはず。
612 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 18:25:16.51 ] こんなところに質問してくる程度のスキルなんだろうし こんなところに質問してなんとかなる程度のシステムなんだろうよ 本人がやる気になってるんだからいいじゃない
613 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 20:20:44.29 ] こんなところに質問してくる程度のスキルだから こんなところに質問してなんとかなる程度のシステムかどうかすら 判断できて無いんじゃないか? アドバイスすることは不可能ではないけど、>>611 の言う通り 付け焼き刃で弄っても害の方大きいだろうから、 向こうの説明不足&自分の能力不足を告げた方が良いと思う 事前にご説明いただいた内容であれば対応出来ると思っておりましたが 実際に要求されているのはもっと高いレベルであり、今の私にはそれをこなす能力はありません、と
614 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 20:36:18.50 ] 見た感じだけどシステムの概要やらは理解してるっぽいから、VBA挙動に慣れれば問題ないんじゃね 調査や習熟に時間がかかる可能性がある その上で修正が可能かは今の段階でわからない そのまま使用して問題なかったとしても、将来的にどういう形に出来るかわからない みたいな形で報告をしておいて、どの程度なら許容範囲なのかを上司と相談してからタッチすべきだな
615 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/06/09(土) 22:39:29.00 ] ボケ老人、知的障害者、馬鹿で幼稚な奴。 この三者に共通する特徴の一つは、繰り返しを好み、しかもその自覚(病識)がないこと。
616 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:14:50.33 ] 通常のシートでデータの並べ替えを行うとき キーは3つ設定できるわけだけど これをVBで4つ設定するようにすることはできない?
617 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:31:29.53 ] 4つどころかいくらでも というか、安定ソートの場合 第一優先:A列、第二優先:B列、第三優先:C列、第四優先:D列 でソートするのと D列でソート、C列でソート、B列でソート、A列でソート とするのは同じだぞ というかExcelの3つのキーが指定できる並べ替え機能は、内部で、 第三優先キーでソート、第二優先キーでソート、第一優先キーでソート をやってるだけだろうし それを踏まえればVBAはもちろん、VBA使わなくても出来る
618 名前:610 mailto:sage [2012/06/09(土) 23:37:21.29 ] コメントありがとうございます。 ×がっかり結合→がっつり結合 >>611-613 小手先でなんとかなってしまう程度なんですよねー、これが。 今々は小手先でなんとかしなきゃいけない背景もあり。。。 >>614 さんを一旦の落とし所にさせていただきます。
619 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:42:44.75 ] Sub sample() ' Selection.Sort _ Key1:=Range("A2"), Order1:=xlAscending, _ Key2:=Range("B2"), Order2:=xlAscending, _ Key3:=Range("C2"), Order3:=xlAscending, _ Key4:=Range("D2"), Order4:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _ DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal, _ DataOption3:=xlSortNormal, _ DataOption4:=xlSortNormal End Sub マクロで、3つのキーでソートするサンプルを作って、上記のように単純にKey4を追加して みたんだけど、エラーになる。何で?
620 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:50:02.37 ] >>619 そりゃ三つまでの指定にしか対応していないからだろ。 というか、エラーの内容書けよ。
621 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:53:50.36 ] >>620 ダイアログ Microsoft Visual Basic 実行時エラー '1004': アプリケーション定義またはオブジェクト定義のエラーです。 ヘルプ アプリケーション定義またはオブジェク ト定義のエラーです。
622 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:55:44.42 ] >>619 あのさ、回答付いてるんだから読んだら? それとも読んだ上でそういうことやらかすお馬鹿さんなの?
623 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 00:01:06.51 ] >>617 理解できたトンクス
624 名前:620 mailto:sage [2012/06/10(日) 00:04:08.13 ] まあ、これじゃエラーの内容を省略したくなっても仕様が無いなw JavaScript程じゃないが、VBAも大概意味不明なエラーメッセージ出すし。
625 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 00:06:26.33 ] >>624 >>619 のコードでエラーのメッセージを見ないと回答できないレベルならハナから黙ってろよ
626 名前:デフォルトの名無しさん [2012/06/10(日) 02:04:20.44 ] "hayabusa3.open*2ch.net/livemarket1/ " という文字列があったとします "*"をヌル文字に置換すると結果はどうなるのですか?
627 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 03:29:08.24 ] どうなるって、普通に置換されるだけだろ 但し、ヌル文字ってもは可視文字ではなく制御文字なので 置換したものを表示させたときにどう表示されるか、 つまり置換の結果ではなく表示結果は表示先次第 というか、そのくらい自分の目で確かめたら良くね?
628 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 04:53:10.26 ] VBAと関係ないし
629 名前:デフォルトの名無しさん [2012/06/10(日) 10:05:48.00 ] やっぱ誰も判らないんだ
630 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 10:08:46.19 ] 置換なんて高等テクだれもわからないぜ〜 バイバイ
631 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 10:26:45.60 ] 置換は良くわからないですが 痴漢は良くしってます。
632 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 10:42:07.90 ] 実践してるから?
633 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 11:04:20.04 ] 台所やコタツなどで揉んだりすると 置換だ編隊だ偏執者だと言われます
634 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 12:11:19.44 ] >>626 ヌル文字なら削除 "aabb*cddef" という文字列があったとします "*"をヌル文字に置換すると結果はどうなるのですか? "aabbcddef"
635 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 13:14:11.54 ] >>634 ヌルヌルになるよ ぬるぽ
636 名前:デフォルトの名無しさん [2012/06/10(日) 14:43:34.81 ] Excelのセルを正方形にして100x100のマスの迷路をつくりたいのですが スタートと出口をそれぞれ左上、右下にし、 必ず出口に行けるルートは一つだけで、 その他は壁をつくり、その壁は罫線で表したいです。 こういうプログラムをつくるにあたり、アルゴリズムはどうすればいいでしょうか? できるだけくわしく教えてください
637 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 14:56:01.54 ] >>636 「迷路 アルゴリズム」で検索 できるだけくわしくって... 労力考えろよ
638 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 15:56:37.53 ] >>636 Excelの質問でもVBAの質問でもない
639 名前:デフォルトの名無しさん [2012/06/10(日) 16:17:07.83 ] >>636 まず二次元配列を作り中身は0が通路1が壁とします 次に左上から右下へ斜めの通路を通路を作ります これは最短距離のルートですよね これを初期値として通路をうねうねとうねらせます それには乱数を使います それは適当なところで止めて、次に騙し用の通路を付け足します 池田は、「ハッ、ハッ」と荒い息を吐き掛けながら、「下着は一枚だね」 と言って、私の下着の中に手を入れてきました。 ものすごい力で押さえつけられた上に、恐怖で声も出せないでいる私に、 池田は後ろからグッと突いてきたのです。
640 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 16:57:57.92 ] #100x100 は時間かかりそうなので試していないことにしておく import os, win32com.client TITLE = u'迷路' HEIGHT, WIDTH, OFFSET_ROW, OFFSET_COL = 10, 10, 2, 2 MAX_ROW, MAX_COL = OFFSET_ROW + HEIGHT - 1, OFFSET_COL + WIDTH - 1 xl = win32com.client.Dispatch('Excel.Application') xl.Visible = True book = xl.Workbooks.Add() sheet = book.Worksheets(1) sheet.Name = TITLE sheet.Cells(1, 2).Value = TITLE sheet.Rows('%d:%d' % (OFFSET_ROW, MAX_ROW)).Select() xl.Selection.RowHeight = 8 sheet.Columns('%c:%c' % (chr(ord('@') + OFFSET_COL), chr(ord('@') + MAX_COL))).Select() xl.Selection.ColumnWidth = 1 for r in xrange(HEIGHT): for c in xrange(WIDTH): sheet.Cells(OFFSET_ROW + r, OFFSET_COL + c).Interior.ColorIndex = 4 for d in xrange(4): if (d == 0 and r == 0 and c >= 1): continue if (d == 1 and r == 0 and c < WIDTH - 1): continue if (d == 2 and r >= 1 and c == WIDTH - 1): continue if (d == 3 and r < HEIGHT - 1 and c == WIDTH - 1): continue sheet.Cells(OFFSET_ROW + r, OFFSET_COL + c).Borders(1 + d).Weight = 2 sheet.Cells(OFFSET_ROW, OFFSET_COL).Value = u'スタート' sheet.Cells(MAX_ROW, MAX_COL).Value = u'出口' book.SaveAs(os.path.abspath(u'./%s.xls' % TITLE)) xl.Workbooks.Close() xl.Quit()
641 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 18:15:17.55 ] >>626 ,627,634 まずヌル文字の定義をはっきりさせてから話しろよ
642 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 18:17:29.36 ] >>641 VBAでヌル文字って言ったら長さゼロの文字列である「""」の事に決まってるだろ
643 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 18:30:21.72 ] >>642 それは空文字だ禿。もしくはフサフサ。それかバーコード。
644 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 18:38:06.13 ] >>642 ヌル文字列、っていうならその解釈で良いと思うがな ヌル文字、って言うと、Chr(0)な文字か、vbNullStringなのかもしれん
645 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 19:41:23.90 ] テキスト表示で "" ってなるだけで、null属性の答えにならんだろ オブジェクト.text が "" だったとしてもそれはオブジェクトの説明にはならん
646 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 19:45:58.60 ] 誰もそんなこと聞いてない
647 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 19:51:30.67 ] ・・・?
648 名前:デフォルトの名無しさん [2012/06/10(日) 20:04:19.72 ] >>640 エラーしかでんがな
649 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 23:36:41.43 ] 見たところVB.NETのコードだもん
650 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 23:53:57.84 ] あ、ほんとだ
651 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 00:33:27.52 ] VB.NETにも見えんが。C#じゃないのか
652 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 00:34:55.67 ] C#ならusingつかう import使ってるのはVB
653 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 00:56:38.42 ] VB で == なんて使わないだろ。 俺の知ってる中だと、Python あたりだと思うが。
654 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 02:08:34.33 ] ほんとだ。Pythonだった。 まあ移植しろってつもりで貼ったんだろうな
655 名前:デフォルトの名無しさん [2012/06/11(月) 02:14:06.27 ] >>641 VbNullまたはChr(0)または""のどれでも良いです >>626 の予想される結果をお願いします ま、これに答えられる人はこのスレにはいません 無理言ってごめんなさい
656 名前:640 mailto:sage [2012/06/11(月) 02:51:12.70 ] >>636 とりあえず完成したので貼っときます ttp://codepad.org/Cbvr8wyx 久しぶりに頭の体操になったよ ありがとう
657 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 04:36:19.60 ] >>655 VbNullは文字ではない vbNullStringかchr(0)なら>>627 ""なら>>634 どちらも答えもらってるんだが、何を煽る必要あるんだろうね まあ、答えられる人がいないと思うなら二度と来るなよ
658 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 07:57:29.11 ] 韓国、ノーベル賞の夢消える! 米国 「ソウル大学で多くの論文捏造が判明した、24時間以内に回答せよ」 engawa.2ch.net/test/read.cgi/poverty/1339342300/ ソウル大でまた幹細胞研究の論文捏造か―論文14本 韓国のソウル大教授が学術誌に投稿した幹細胞研究の論文14本に捏造(ねつぞう)の疑いが浮上し、 波紋を呼んでいる。教授は「単純ミス」と釈明している。 韓国では2005年、ノーベル賞も期待されていた別のソウル大教授が発表した胚性幹細胞(ES細胞)関連論文で 捏造が発覚、社会に衝撃を与えた。同じ大学で同分野の論文が問題となっていることから、韓国メディアは「悪夢の再来か」などと報じている。 教授が4本の論文を投稿した米学術誌は24時間以内の釈明を要求したが、教授は「(釈明のための)時間が十分でない」とした上で、論文を取り下げた。 以下詳細 日経 2012/6/3 www.nikkei.com/article/DGXNASGM0300G_T00C12A6FF2000/
659 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 11:51:47.33 ] >>636 >>656 数ヶ所改良したバージョン ttp://codepad.org/g5QwMAWF ※ 100 x 100 のときは maximum recursion depth exceeded に達するので limit 変更 入口(左上)から掘ると迷路が簡単になる傾向があるので出口(右下)から掘るように修正 罫線描画のタイミングを変更することで無駄を減らし高速化
660 名前:デフォルトの名無しさん [2012/06/11(月) 12:34:31.57 ] >>659 ついでに、その迷路を解くアルゴリズムはどうすればいいでしょうか? できるだけくわしく教えてください。 おながいしまつ。
661 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 12:54:22.32 ] >>659-660 アルゴリズムのスレに池よ 邪魔だよお前ら
662 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 16:35:30.53 ] Vista、Excel2007を使用しています 行数不定、列幅2の範囲の値をListboxに表示させたく Private Sub UserForm_Initialize() Set Ws = Worksheets("sheet1") Dim n As Integer Dim Data1() n = Ws.Cells(31, 1).End(xlUp).Row ReDim Data1(1 To n) Dim Data2(1) For i = 1 To n Step 1 Data2(0) = Ws.Cells(i, 2) Data2(1) = Ws.Cells(i, 1) Data1(i) = Data2 Next i With ListBox1 .ColumnCount = 2 .ColumnWidths = "50;50" .List = Data1 End With End Sub で試したところ、配列自体はできている(Data1(i)を適当にとってセルに書き込むと反映される)ようなのですが ListBoxにはn個の空白行が表示されるだけで、Data1をセルに書き込んだ場合も値は反映されませんでした 配列には手を出し始めたばかりなのですが、そもそも配列の作り方からしておかしいのでしょうか?
663 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 17:00:06.38 ] >>662 こういうこと? ReDim Data1(1 To n,1) dim i as Long For i = 1 To n Step 1 Data1(i,0) = Ws.Cells(i, 2).text Data1(i,1) = Ws.Cells(i, 1).text Next i
664 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 17:51:54.44 ] >>663 希望通りに表示できました、ありがとうございます 2次元配列でRedimを用いる場合行最後の次元しか変更できないと思い込んでData2なんて作ってしまいましたが よくよくヘルプ読むとPreserveある場合の話だったのですね・・・orz
665 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 21:19:04.09 ] 異常者だろうな。私の知る限り彼はこのスレで誰ともコミュニケーション成立したことがない。
666 名前:デフォルトの名無しさん [2012/06/11(月) 21:19:24.55 ] 666
667 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/06/11(月) 23:59:55.35 ] すみません。ワードVBAのスレが無いようなので… ワードのVBAなんですが、セル内で位置指定で垂直方向はすぐ見つかったのですが Selection.Cells.VerticalAlignment = wdCellAlignVerticalCenter 水平方向の指定の仕方を教えてくださいm(__)m
668 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:11:17.42 ] >>667 ワードVBAのスレがあるかどうかに関係なく、 ここはExcelVBAのスレなのでスレチです
669 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/06/12(火) 00:21:58.90 ] >>668 申し訳ないです。 マクロを記録して自己解決しました。 Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
670 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:26:22.01 ] >>668 いちいちウザイ
671 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:30:08.00 ] >>670 じゃあNGに入れろよ お前みたいな何の役にも立たないレスが一番うざいわ
672 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:34:21.62 ] 横からスマンが ID無しの板で、固有コテハン名乗ってるわけでもない奴をNGに入れろってのも 何の役にも立たないアドバイスな気が、、、
673 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:39:39.79 ] >>672 ID無しの板で個人を特定してウザイなんて言うわけないじゃん スレチってキーワードがうざいって事なんじゃないの?
674 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 01:00:06.19 ] スレチなのに書き込むバカが全面的に悪い
675 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 02:44:18.43 ] ビル・ゲイツ「反原発派の政治家や国民はもう少し科学的知識を持った方がいい」 ikedanobuo.livedoor.biz/archives/51740658.html きょうシアトルで、西和彦さんと一緒にビル・ゲイツにインタビューした。 彼は福島事故について驚くほどくわしく知っていて、 「合理的な日本人が非合理的な反応をしているのは残念だ」と言っていた。 特に原発や放射線のリスクについての科学的知識が政治家や一般国民に知られていないことが問題を必要以上に混乱させている、と語った。 印象的だったのは、中国がウェスティングハウスのAP1000を60基発注するという話だ。 中国は世界中からエンジニアを集め、国家プロジェクトとして原子力開発を進めている。 先月、第1号機が納品された。これは1基115万kWだから、合計6900万kW。 これだけで日本の原発の合計をはるかに上回る。設計はすべて同じだから、コストも非常に安い。 重要なのは安全性だが、AP1000のような第3世代の原子炉には、 炉心溶融を物理的に防ぐ受動的安全装置がついており、巨大地震が起きても大丈夫だ。 福島第一原発は古いマークTで、30年前から技術者が危険だと警告していた。 日本も「脱原発か否か」といった不毛な論争ではなく、古い原発を新しい原発に代えて 安全性を高めることも必要ではないか。 エネルギー産業は、情報通信産業の次の大きなフロンティアだ。 古い地域独占の電力会社が残っているおかげで、イノベーションの余地は非常に大きい。 新興国は安くて効率的なエネルギーを求めている。環境問題を考えても、きわめて危険な 石炭を減らすために原子力は重要だ。風力エネルギーも有望だが、フィードインタリフは イノベーションを殺してしまう。 大事なのは、かつての通信と同じく、電力を全面的に自由化して競争を促進することだ。 エネルギー産業でも、かつてマイクロソフトがIBMを倒したように、巨大な電力会社を倒す ベンチャーが出てくる可能性がある。そのためには不合理な規制を徹底的に見直すことが必要だ。 アメリカにはシェールガスもクリーンコールも第4世代原子力技術もあり、イノベーターも多い。 足りないのは合理的な政府だけだ。
676 名前:デフォルトの名無しさん [2012/06/12(火) 03:17:34.15 ] >>671 スレチの指摘だって 何の役にも立ってないうえに >>670 みたいな書き込みの呼び水になるから 結局は一番迷惑 スレチも荒しも放置に限る
677 名前:デフォルトの名無しさん [2012/06/12(火) 03:57:58.74 ] >>667 バーチカルときたらホリゾンタルちゃうかー
678 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 11:12:41.21 ] >>676 大して迷惑でもないだろ・・・
679 名前:デフォルトの名無しさん [2012/06/12(火) 14:10:36.96 ] detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1488984684 わからないのでお願いします
680 名前:デフォルトの名無しさん [2012/06/12(火) 15:35:56.71 ] >>676 はかなり頭逝ってる
681 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 21:33:07.30 ] >>679 質問文をコピペするのではなく、横着してURLだけ貼って 回答者にわざわざリンク先の質問読みにいけと? 最悪なマルチの仕方だな とりあえず3回くらい氏ねよ
682 名前:デフォルトの名無しさん [2012/06/13(水) 16:30:32.22 ] おまえのレスはスレ違い 俺のレスは問題外 他人のレスは全部気違い みんな概出痴的障碍 青貝馬鹿貝想定外
683 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 18:03:00.56 ] このガチのコミュ障は他人に構ってもらうためにSICPを使ってるだけだろ ただし構ってもコミュニケーションは成立しない 頭がおかしいし、もう一生なおらない、一生な、絶対。病院に言っても無駄 まともなレスを一度も出来ずに死ぬ
684 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 10:36:23.07 ] 痛い子にさわるならアンカー付けてレスしてくれないかな。 連鎖あぼーんできないじゃないか。
685 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 10:51:58.63 ] そこまで一生懸命見る価値はないぞこのスレは 早く卒業しなさい
686 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:02:02.78 ] 流し読みするのに邪魔なんだよ。
687 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 12:01:06.06 ] 流し読みの価値すらないことに気付け
688 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 12:44:58.20 ] 流し読みの価値すらないということにしないと困るようです
689 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 13:02:58.24 ] 最近は質問自体が少ないからなあ 質問者が減っているのか、おまいらがオイダシテるのかわからんが
690 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 13:04:47.86 ] ググれば解決することが殆どだしねー 質問が減るのはいいことだ
691 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 13:59:34.76 ] VBAがオワコンだから質問もされない
692 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 16:02:10.96 ] 初心者は常に素人質問をするもの 素人だからググルポイントが解らないとか、結果を読んでも解らないとか だからここで素人質問をする オレもプロではないので全般的に理解できているわけじゃなくて やりたいことを試してエラーが出て、大抵そのエラーの意味はつかみ所がない ググって原因は解っても回避方法がわからないこともある それで質問をすると、即答してくれる人が居て非常に助かる (たまにバカにしたレスが付くけど) 回答するのがウザイならググルキーワードとかヒントだけ出せばいいと思う 過疎化しているのはオワコンだからなのかな? Excel人口は多く、その何%かがVBAをかじるだろうからこのスレの存在は有りがたい オマエラに感謝!
693 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 16:39:15.63 ] >>692 初心者は質問もないのにわざわざこんなスレに来てこんなこと書かないよ いつもごくろうさま
694 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 16:58:12.90 ] >>693 お前邪魔
695 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 08:35:31.86 ] 馬鹿には無理
696 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 17:18:02.56 ] 初歩的な質問ですみません For ii = 0 To 2 sn = Array("1月", "2月", "3月") Set ws = Worksheets(sn(ii)) ws.Columns("A:A").Select ’@ Selection.AutoFilter . . Next ii @のところで 実行時エラー 1004 RangeクラスのSelectメソッドが失敗しました。 のエラーが出ます。 どう修正したらいいでしょうか?
697 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 17:24:27.10 ] >>696 sn = Array("1月", "2月", "3月") For ii = 0 To 2 Set ws = Worksheets(sn(ii)) ws.Columns("A").AutoFilter
698 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 18:37:57.91 ] マクロを登録したボタンの名前を取得したいのですが Sub テスト() Dim Button_Name As String 'どのボタンが押されたか判断する Button_Name = Application.Caller MsgBox Button_Name End Sub このように記述すると >Button_Name = Application.Caller のところで 型が一致しないエラーがでるのですがどうすればいいのでしょうか
699 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 18:58:04.33 ] >>698 型を確認してみたら? Debug.Print TypeName(Application.Caller)
700 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 19:06:57.96 ] >>698 フォームのボタンなら問題ないけど
701 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 19:23:18.25 ] >>699 オブジェクトが必要ですと出ます
702 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 21:47:49.56 ] >>701 「出る」ってのは具体的にどういう状態なのだ?
703 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 22:19:54.80 ] Application.Caller が返すのはオブジェクト型 それをString型で受けようとするから型が一致しないと出るのは当然
704 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 22:50:01.00 ] >>703 それで、どうすればエラーがでなくなるの
705 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 22:57:09.25 ] >>704 Application.Callerのヘルプ見たら答えが載ってるから見てみて ヘルプ見て分からなければヘルプのどの部分が分からないのか質問し直して
706 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 23:05:53.77 ] >>704 エラーなんてでないよ
707 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 23:55:05.42 ] そもそも常にオブジェクト型が返るわけじゃないから。
708 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 00:56:38.28 ] >>698 のものです よく分かりませんが解決しました
709 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 05:15:01.80 ] >>707 いや常にオブジェクト型だろ VBAに戻り値のオーバーライドはないぞ ただその実体が違うだけだ
710 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 08:37:57.82 ] >>709 >VBAに戻り値のオーバーライドはないぞ Variant って知ってる?
711 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 09:13:10.66 ] どんな時にVariantが返る?
712 名前:デフォルトの名無しさん [2012/06/17(日) 09:43:05.78 ] 今からOffice買うなら2010と2007どっちがいい?
713 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 10:54:13.67 ] >>699 Stringでした
714 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 11:24:34.45 ] >>712 VBAは大差ないと思うけど2010の方が速い
715 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 13:47:11.41 ] >>711 常時。 >>713 ホントに TypeName( ) から "String" が返ってきてるのに、String 型の変数に 代入するとエラーになるの? スマン、俺の知識の範囲を超えてるわ。
716 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 14:32:47.38 ] >>715 いや、stringなので、エラーはでない。 なので、>>703 の意味がわからない。
717 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 14:47:21.28 ] >>703 は、スルーでいいと思う。
718 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 16:46:29.32 ] >>712 乗せてるCPU次第だけど 2010は64bitに対応している(VBA7.x)ので そちらの方が良いかな? あと、リボンUIって2010からだったっけ?
719 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 16:50:15.18 ] >>718 >あと、リボンUIって2010からだったっけ? 2007 から。
720 名前:デフォルトの名無しさん [2012/06/17(日) 16:52:50.25 ] >>714 >>718 PCのスペックはBF3をヌルヌルできるくらい高スペックなので問題ないです。 VBAを勉強した買ったから、情報量が多い2007が良いと思ってたけど、2010の方がUIとかの評判良さげですね 2010にします
721 名前:デフォルトの名無しさん [2012/06/17(日) 16:57:22.50 ] ちなみに皆さんVBAは独学? こうやって、わからないところはネットだけで学んだ? それとも最初は参考書に手をつけたりした? もし初心者鉄板のVBA参考書とかあったら教えて下さいな
722 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 17:47:52.44 ] >>721 ヘルプとMSDNライブラリがあれば事足りると思うよ ヘルプとMSDNライブラリで事足りなく感じれば書籍に手を出せばいい
723 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 20:07:34.90 ] Sheets("Sheet1").Range("A1").Select ↑がエラー起こすのはどうしてですか?selectもメソッドだからいけると思ったんだがいけない
724 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 20:25:00.61 ] >>723 Sheet1がないとか、あってもアクチブでないとか
725 名前:デフォルトの名無しさん [2012/06/17(日) 21:35:48.28 ] UserFormにシート上の画像を表示させたい www.asahi-net.or.jp/~zn3y-ngi/YNxv9d92.html グラフなら、ここみたいにやり方を探せたんですがこれをグラフでなく画像で出来ますか? 2003です、お願いします
726 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 22:11:52.58 ] 普通にやればいいだけじゃないの?
727 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 22:16:47.77 ] >>725 シート上の画像をイメージコントロールに貼り付ける でググれ
728 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 23:56:12.56 ] おまえらmsdn見てないのかよ だったら俺も見ないで適当に答えるけど オブジェクトが複数あって、あるいは別マクロ経由しててApplication.Callerの対象オブジェクトが特定されてない というかそのコードだと帰ってくる型はrangeかerrorになると思うんだがどっか省略かまちがってね variantに格納して内部情報見てみたらいいんじゃね
729 名前:デフォルトの名無しさん [2012/06/18(月) 00:00:37.45 ] MSDNはどうやって見れるの?
730 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 00:03:27.98 ] PCをモニタにつなげる あ、電源入れろよ
731 名前:デフォルトの名無しさん [2012/06/18(月) 00:08:57.00 ] つなげたよ。 電源も入れた。
732 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 00:51:28.29 ] まじか、すげえな
733 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 01:11:20.86 ] >>723 エラーの内容くらい書けよ
734 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 07:55:15.46 ] >>728 ボタンに↓を登録したんだが間違ってるの? Sub テスト() Debug.Print TypeName(Application.Caller) End Sub
735 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 08:22:18.37 ] >>734 それであってるよ
736 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 08:36:57.24 ] ボタン直下ならstring だわな >>698 の書き方の時点でボタン特定出来てないだろ その時はstring じゃないんじゃね 作ったコードと同じ状況で確認しろよ
737 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 09:00:14.85 ] やってみたけど 文字列返らないんだが バージョンいくつでやってんだ、95か?
738 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 09:54:22.70 ] あってるっていってんじゃん
739 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:04:32.37 ] >>724 アクティブシートになってなきゃ出来ないのでしたらシートを対象にした意味がない気がしますがそういう仕様でしょうか >>766 RangeクラスのSelectメソッドが失敗しましたと表示されます
740 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:07:47.94 ] ↑安価ミス >>766 でなく>>733 宛てです
741 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:08:57.17 ] っとすまん、コマンドボタンじゃなくてマクロボタンか 普通のstring と名前が戻って来るがなあ
742 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:10:55.83 ] >>740 SheetsってActiveWorkbooksに対してじゃなかったか? 実行してる箇所(スコープ外)だとこけるぞ 完全参照でやるなら Application.Worksbooks(n).Workshees(n). とかだぞ VBとかからCOMでアクセスしててても使えない ちなみにSheetはチャートシート(使ってるのみたことないが) 込みだからWorksSheesのほうがいいぞ
743 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:21:15.19 ] >>739 セルのSelectってのはアクティブシートのみに有効なメソッドだ 但し言語仕様としては、SelectメソッドをRangeオブジェクトのメンバにしなくてはならず Rangeオブジェクトのメンバである以上、親がアクティブシートでも非アクティブシートでも 構文としては全てのRangeオブジェクトに対してSelectメソッドが有効になってしまうというだけ
744 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 12:31:01.45 ] キチガイは >結局どんなものが出てきても文句言ってるっていう気がする。 だよな。 もう、自分や自分の会社で文句でないの作れだよな
745 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 19:53:55.81 ] >>739 セルをSelectするってことは、そのセルをアクティブにする事と同じだと思えばいい Selectされているセル≒アクティブになってるいるセル
746 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 20:07:50.05 ] アクティブセル:単一セルのみに有効な処理の対象となるセル セレクトセル:複数セルに有効な処理の対象となるセル
747 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 09:57:26.89 ] どうしてもわからないのでよろしくお願いします シート1でボタンを配置してシート2のA10:D20範囲にあるオートシェイプを消したいのですが ↓のコードだと一度シート2をselectしてアクティブシートにしなければエラーになってしまいます 画面が切り替わらず(selectせず)にシート1からシート2のA10:D20範囲にあるオートシェイプを消すコードを教えてもらえないでしょうか? Dim MyShape As Shape Sheets("sheet2").Select For Each MyShape In Sheets("sheet2").Shapes If Not Intersect(Range("A10:D20"), MyShape.TopLeftCell) Is Nothing And _ Not Intersect(Range("A10:D20"), MyShape.BottomRightCell) Is Nothing Then MyShape.Delete End If Next
748 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 11:18:02.89 ] シートの切り替え自体はやらないと処理できないと思うが 見た目上の切り替えを見えなくするってことなら可能 Sheets(2).Select の前に Application.ScreenUpdating = False を入れて Next の後に Sheets(1).Select Application.ScreenUpdating = True を入れると、 画面上は切り替わらない。(実際には切り替わってるけど画面の描画はされない)
749 名前:748 mailto:sage [2012/06/19(火) 11:21:25.54 ] ごめん Sheets(2).Select じゃなくて Sheets("sheet2").Select だったね Sheets(1).Select も同様に読み替えてください
750 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 11:46:08.91 ] >>747 シートをSelectしなくても動いたよ? Dim MyShape As Shape For Each MyShape In Worksheets("sheet2").Shapes If Not Intersect(Worksheets("sheet2").Range("A10:D20"), MyShape.TopLeftCell) Is Nothing And _ Not Intersect(Worksheets("sheet2").Range("A10:D20"), MyShape.BottomRightCell) Is Nothing Then MyShape.Delete End If Next
751 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 15:20:50.46 ] selectする奴はド素人の法則
752 名前:747 [2012/06/19(火) 15:26:43.75 ] >>750 それはあなたがもともとシート2をアクティブにした状態でマクロを動かしてるからでしょ。
753 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 15:55:11.12 ] >>752 誰だよお前w
754 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 16:03:29.74 ] >>752 ド素人は黙っとけ
755 名前:747 [2012/06/19(火) 16:25:23.00 ] >>753 オレのものはオレのもの。 キミのものもオレのもの。 ノモのものはノモのもの。
756 名前:747 mailto:sage [2012/06/19(火) 16:50:03.62 ] >>752 誰だよお前 関係ないと思って書いてませんでしたがすみません 通常シート2は非表示にさせておりこのマクロを実行すると表示されるようにしていますので全文はこうなります↓ Dim MyShape As Shape Worksheets(sheet2).Visible = True For Each MyShape In Sheets(sheet2).Shapes If Not Intersect(Range(A10:D20), MyShape.TopLeftCell) Is Nothing And _ Not Intersect(Range(A10:D20), MyShape.BottomRightCell) Is Nothing Then MyShape.Delete End If Next このコードでシート2が非表示の時に実行すると「Intersect'メソッドは失敗しました'_Global'オブジェクト」とエラーメッセージがでます >>750 さんの言うみたいに通常通り最初からシート2が表示されてる時はエラーメッセージが出ないことに気付きませんでした
757 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:16:25.65 ] >>756 マジレスすると>>750 のコードはSheet2を非表示にしたまま問題なく動くよ
758 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:22:26.68 ] >>756 マジでお前うざいわ もうExcel使うな
759 名前:747 mailto:sage [2012/06/19(火) 17:23:09.99 ] >>757 なにを言っておるのだ 非表示だと動かないと言っておるのだ バカボンのパパなのだ
760 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:23:47.07 ] >>750 のどこをどう読んだら「通常通り最初からシート2が表示されてる時」の話だと勘違いするのだろうか。
761 名前:747 mailto:sage [2012/06/19(火) 17:24:09.23 ] >>758 なんだとこの野郎
762 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:25:47.68 ] なにこいつ
763 名前:747 mailto:sage [2012/06/19(火) 17:25:57.25 ] >>757 すみません>>750 さんはコードを直して書いてくれてことに気付きませんでした ありがとうごさいます無事解決しました
764 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:51:47.35 ] ここって何でID表示ないの?
765 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 18:19:54.08 ] >>764 スレ違いな質問です 自治スレ、もしくは運営関係の板で聞いてください
766 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 18:21:10.16 ] ID無いとなりすまして煽ってるやつが多いんだな
767 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 18:26:02.99 ] 火曜は大体こんなもん
768 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 18:28:34.16 ] 自演できねえだろ
769 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 19:21:49.38 ] IDあると自演にコスト(手間および●費)が掛かるだけで 自演出来なくなるわけじゃないじゃん
770 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 07:55:20.69 ] >ID無いとなりすまして煽ってるやつが多いんだな 最近の2chは特にひどい
771 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 13:44:15.47 ] 自己解決しました厨と、質問者になりすまして煽る厨はマジでいらんわ。
772 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 13:56:47.68 ] > 最近の2chは特にひどい そうか? 2ch創設から見てきているが、どんどんマシになっていく一方に見えるけど
773 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 17:16:13.47 ] 俺は牛の屠殺場を見たことがあるが、そこでは牛達が銃で眉間を撃ち抜かれて 殺されている。 日頃従順に人間に従っていた温和な牛たちも、順番を待って並ばされている時に そこではじめて自分の運命に気付くのだろう、日頃聞かないような悲痛な甲高い 鳴き声を絶えず出し続けている。俺は今でもその鳴き声が耳を離れない。 人間は斯くも残酷な行為を毎日何千、何万という動物達に行っているのだ。 せめてその肉を頂く時には少しぐらい感謝の気持ちをもってもいいだろう。 【屠殺場の怖さは異常】 ttp://2.ldblog.jp/archives/1058482.html
774 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 17:59:57.10 ] 口に入れるものなのに、銃で撃つとかあたま狂ってるだろ 重金属や火薬なんかくわせんじゃねえよ
775 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 01:34:23.03 ] ちょっと聞きたいんですが、TextBoxに何もデータが入ってない場合、値はvbNullStringなの? それともEmpty?
776 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 01:47:49.35 ] 1分とかからず確かめられることを、何故確かめずにここで聞く?
777 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 01:57:29.44 ] >>776 どうやって確かめたらいいんですか?
778 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 02:41:47.19 ] TypeName使えば、Emptyは"Empty"が返り、vbNullStringは"String"が返るし VarType使えば、EmptyはvbEmptyが返り、vbNullStringはvbStringが返る
779 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 08:02:13.64 ] EmptyでないことはIsEmptyなどでもすぐに分かるよな。 ただvbNullStringじゃなく長さ0の文字列の""ということも考えられるから、そのときはStrPtrを使って調べればよい。 MsgBox StrPtr(TextBox1.Text)などとすれば"0"が返るから""じゃなくvbNullStringということになる。 ちなみにTextBoxにEmptyを代入しても""を代入しても中身はvbNullStringとなる。 TextBoxをクリアーするときは厳密にはvbNullStringをいれるのがベスト。
780 名前:775 mailto:sage [2012/06/21(木) 09:47:11.63 ] モーグ見てきたら関連するスレッドがあるけど、まともな回答者が珍しく間違ってるな。
781 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 09:51:11.59 ] >>780 775ってどういうこと?
782 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 09:53:01.67 ] 釣り質問だったんだろうか?
783 名前:デフォルトの名無しさん [2012/06/21(木) 22:01:51.25 ] EXCELでマクロを使い IEobjectの操作をしてクリック証券の発注を自動化しようと思っています 株価の入力や株数の入力は ソース内の株価の近くにある <div class="torihiki_area"><input type="text" name="jyuchuuSuuryo" maxlength="11" size="14" tabindex="8" value="" id="jyuchuuSuuryo" class="torihiki"> 株 </div> のid jyuchuuSuuryoに対して bjIE.Document.forms(1).Item("jyuchuuSuuryo").Value = VOLUME '株数 のようにすればよかったのですが 注文確定をクリックしたい場合 注文確定の文字列はソース内には無く <span id="orderButtonBlock" class="button_area_section"> <input type="image" name="" src="https://kabu.click-sec.com/sec1-6/images/orderpanel_3/order.gif" tabindex="19" id="orderButton"> </span> 近くに画像のリンクがあり objIE.Document.forms(1).Item(”orderButton").Click clickやcheckedをやってみたのですがエラーがかえってきてしまい躓いてしまいました type=imageのクリックを実行する方法を教えていただけないでしょうか submitで強引に注文できるかなと思ったのですが上の方に銘柄コード検索がありそちらの検索結果を実行してしまいました
784 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 22:27:15.80 ] >>783 その質問は一切Excel関係ないよ
785 名前:デフォルトの名無しさん [2012/06/21(木) 22:36:17.79 ] >>784 そうなんですか エクセルで実行しているので EXCEL VBAでいいのかと思ってしまいました 申し訳ありません
786 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 22:55:48.81 ] >>785 ググる時の検索キーワードから「Excel」を外した方がいいと思うよ 例えば「ie 自動化 画像 クリック」とか
787 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 04:38:56.27 ] >>785 Excelでやっているとしても、それはExcelのVBAに汎用開発環境としての機能があるからVBAでも実現可能ってだけで Excel固有の機能を必要としている訳じゃない限り、それはExcelVBAの質問ではなくスレ違い
788 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 04:42:43.20 ] >>783 そのページをよく観察して、tabキーで目的の場所に移動できるかどうかを調べて見ませう
789 名前:デフォルトの名無しさん [2012/06/22(金) 07:29:57.00 ] ★2 ExcelのVBA以外の部分に関する質問はNGです。 但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。 あえてVBAでやりたいって物に関してはOK。
790 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 07:39:51.46 ] それ、条件付き書式や入力規則みたいなのの使い方聞くのはNGだが VBA無しでExcelの機能で出来る条件付き書式や入力規則でも 柔軟性や拡張性からあえてVBAでやりたいというような場合はOKって話であって Excelに関係ないものを許容するって話じゃないぞ
791 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 08:47:16.20 ] そのレベルの自分で作ったプログラムで自動で証券を買うなんて、そんな恐ろしいことようやるわ 破産フラグ確定
792 名前:デフォルトの名無しさん [2012/06/22(金) 10:29:03.25 ] >>786 ありがとうございます 目的のものが見つかりそうです >>787 大変申し訳ないです >>791 ご発注二関しては朝の寄付の注文をするだけなので 注文履歴の確認は目視で行っています 理論的には ここ5年間手入力でやってきまて問題なく利益を出していたのですが 年齢が上がってきたせいか1日40銘柄の注文をぽちぽちキーボードとマウス操作するのがめんどくさくて、、、、、
793 名前:デフォルトの名無しさん [2012/06/22(金) 11:26:59.75 ] obj = GetObject("fuga.xls") obj.BuiltinDocumentProperties('Author').Value = "hoge" obj.Save() obj.Close() エクセルのファイルの場合、これで作成者は換わるのですが、 ワードのファイルの場合、 obj = GetObject("fuga.doc") と変えても作成者が書き換わらないです。 どうしたらワードの方も換えられますか?
794 名前:デフォルトの名無しさん [2012/06/22(金) 11:43:04.82 ] Wordも obj.BuiltinDocumentProperties('Author').Value = "hoge" を付け加えたまえ。
795 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 13:03:13.53 ] やってますよw
796 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 11:25:51.84 ] かけるかな
797 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 11:35:30.89 ] すみません質問お願いします。 フォームにマルチページを配置して、その中にフレームやボタンを配置しています。 さらにそのマルチページの下(外)にOKとキャンセルみたいなボタンを配置しています。 このときにタブを押していくと、マルチページ内のボタン>マルチページのタブの部分(Page1みたいなとこ) >マルチページの外のボタン(OKとキャンセル)>マルチページ内のボタン>繰り返し というようなタブオーダーになるんですが、このときにタブ部分に行かずに、 マルチページ内のボタン>マルチページの外のボタン>マルチページ内のボタン というようなタブオーダーにしたいとおもっているんですが、現在はマルチページのタブのCycleを2にして マルチページ内のボタンの最後のボタンでタブが押されたら、マルチページの外のボタンにフォーカスを 移動するようにしています。 ただ、個人的にこのやり方が正しいとは思えなくて、もっと普通のやり方があるような気がするんですが どうかそのあたりを教えていただけないでしょうか。 よろしくお願いします。
798 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 17:41:53.22 ] >>797 こんなのはどうかな Private Sub マルチページ内のボタン_KeyDown(ByVal KeyCode As ****) KeyCodeがTABならマルチページの外のボタン.SetFocus
799 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 17:55:27.56 ] クラスモジュールって、そんなにいいものなの? あんまり、良さを感じないんだけど。
800 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 19:22:41.38 ] >>798 レスありがとうございます。 分かりにくくてすみません。 今はそういう風にしています。
801 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 19:37:04.23 ] タブの部分にフォーカス当てたくないってことか? マルチページはそんな風に設計されてないっぽい 普通じゃない使いかたに「普通の方法」なんてないな
802 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 21:30:39.26 ] >>799 中途半端だからねぇ。 よく知らないなら、今からわざわざ覚えるようなものではないと思うよ。
803 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 23:16:28.11 ] >>801 レスありがとうございます。 たしかにおっしゃるとおり、マルチページの設計に沿っていない使い方でした。その点を理解しました。 そこで質問の内容を変えさせてください。 タブオーダーの順番を、マルチページ内のボタンを巡った後に、マルチページの外のボタン、 その後にマルチページのタブ、そしてマルチページ内のボタン、外のボタンという風に コントロールすることは可能でしょうか。 現在は、マルチページ内のボタン>タブ>外のボタンという順番で移動してしまいます。 どうかよろしくお願いします。
804 名前:デフォルトの名無しさん [2012/06/23(土) 23:17:47.02 ] Excelファイルを開いたら 指定したメールアドレスに開いた人のIPアドレスとかを 送信するようなプログラムって作れるのですかね? ちょっとわけありで、こんなのができるといいんですが…
805 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 23:37:56.02 ] >>804 メール送信マクロが組み込まれたExcelファイルを開いたタイミングでメールを送信したいのか 常駐してファイルオープンを常に監視していてExcelファイルが開かれたタイミングでメールを送信したいのか 前者ならマクロを作るのは簡単だけど確実にマクロを実行させる手段がない 後者ならExcelVBAで作るべきものじゃない
806 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 00:06:22.55 ] >>804 技術的には可能だけど 同意なしならめっちゃマルウェアやん 犯罪に加担しろと? アンチウイルスソフトにブロックされてしまえ
807 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 00:46:14.54 ] 大半の人は、実は釣り質問。 単に馬鹿な回答者がいればそれでいい。
808 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 02:51:59.24 ] >>804 質問「作れるか?」 回答「作れる」
809 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 02:56:03.50 ] メール送信というかネット関係は微妙にハードル高いよ ネットに接続されてなかった場合、外に出られなかった場合とかやり始めるときりがない ログを保存しといて、ネットに接続されたらまとめて送信とかやりたいならVBA以外でやった方がいい
810 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 05:38:17.48 ] >>804 それだけならVBSかバッチでも使ってろ 会社のPC全台調査しなくちゃいけなくなったとき、ファイル作って配布したなあ
811 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 06:52:50.55 ] >>802 やっぱりそうですか!レスありがとう。 まあ、たまにはクラスの1つも作ってみます。
812 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 09:03:01.68 ] >>811 データクラスにたいしてJavaでいうインターフェースで メソッド実装を強制する使い方とかロジックの隠蔽とかもするけど 実はVB系だと↓のコントロールに共通処理させるのが多いと思う www.excellenceweb.net/vba/class/text_filter.html
813 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 12:52:51.19 ] Excelで競馬のソフト作ろうと思ってるんだけど 疑問は 1、webから取り込んだ馬やレースなどにコメントなどつけて編集して、それを出力保存して、セル内に同じ馬名や日付とレース番号を入れたら、それを読込事みたいなことができるか? 2、例えばA1:J5の計50のセル内に色々な数値を表示しているが、ボタン一つでセルを結合して一つの表示を見せる。またボタンを押すと50の表示に戻るなんてことができるのか? Excel VBAで上のような2つのような操作ができるのかアドバイスください
814 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 12:55:56.13 ] >>813 できるよ
815 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 12:56:36.83 ] マルチ
816 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:01:22.19 ] >>813 うん。出来る。 どこのサイトから引っ張るのか知らないけど、まあ、素直に組んであれば、 どのタグで引っ張るか、多少悩めば桶。 何をアドバイスすれば、いいの?コード全部は、カンベン。
817 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:08:00.46 ] >>814 出来るのね。ありがと >>816 webクリエを駆使してwebから読み込むのは出来ている。 2の方法が悩み中。例えばこの画像の上のA1:F3には、Sheet2のA1:F3を表示しているとする。 んで、切り替えボタンを押すと、セルの結合してSheet2のA5を表示する。 んで、またボタンを押すと最初の表示に戻る。というのがやりたい場合はどうすればいいのか iup.2ch-library.com/i/i0670448-1340510590.png
818 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:14:21.04 ] >>817 セルの結合も解除もVBAで1行で書ける あとは結合や解除するたびにデータをいちいちコピーするだけ
819 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:22:55.56 ] >>818 競馬の出馬表で上の画像みたいなのが18列あるから、セル結合解除後のコピーもVBAでしたい 要するに、上をA、下をBとすると、Aを表示するAボタン、Bを表示するBボタンの二つを用意しないといけないってことかな?
820 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:31:08.76 ] 大半の人は、実は釣り質問。 単に馬鹿な回答者がいればそれでいい。
821 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:34:13.35 ] 詳しくいうなら、こんな感じ 表の1〜8の行には各セルに色々なデーターを読み込ませてあるが、 ボタン一つでセルを結合して違う表示をさせる。んでまたボタンを押すと最初の各データの表示に戻る。 そういうのがやりたいんだ。VBAなら出来るかなと思って iup.2ch-library.com/i/i0670464-1340512301.png
822 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 14:06:41.57 ] まさに底辺同士
823 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 14:20:11.26 ] >>821 「マクロの記録」でセルの結合や解除してコード吐き出させてみたら? 競馬のソフトって育成ゲームか?
824 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 16:50:54.89 ] >>823 んやw予想ソフトw
825 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 17:23:44.56 ] >>821 結合するくらいならシート単位で分割して、二画面表示にすればいいと思うが
826 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 17:49:02.90 ] 予想なんて時間の無駄だからよそうぜぇ ナンチッテ
827 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 17:57:35.86 ] 何法を使って予想するのか知らんが プログラムの間違いと予想の外れの見分けはつくんだろうか 質問のレベルからちょっと思ったりした
828 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 23:46:47.61 ] 若かろうがオッサンだろうが、 「これ出来ないとお金払いませんよ、 あなたの生活がどうなろうと私には関係有りませんし。」 と言うとみんなちゃんと新しい技術をマスターしてくる。 努力しないってっことは努力する必要が無いからなんだと思う。 追い詰められていないんだろうね。 幸せなんじゃないか? どうでもいいけど。
829 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 00:05:16.06 ] >>828 その内いいことがあるさ 負けずに頑張れよ
830 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 00:07:07.23 ] 「会議」がアイデアを潰す 若手や中堅がイノベーションを生み出す新しいアイデアを出す時 立ちはだかるのがジジイどもの支配する「会議」という壁だ ・ジジイどもに理解できる企画でなくてはならない ・ジジイどもの好みに合う企画でなければならない ・既に成功した事例がなくてはならない ・ジジイどもに気に入られている人物が提案者でなくてはならない ・ジジイどもに気に入れられていない人物が関わっていてはならない ・ジジイどもの支援が不要な企画でなくてはならない ・にもかかわらずジジイどもにも活躍の場を与えねばならない ・ジジイどもの気まぐれな口出しにいつでも応じなければならない ・失敗してもジジイどもが責任をとらなくてよい企画でなくてはならない ・成功したらジジイどもの業績になる企画でなくてはならない 若い頃は前世代のおかげで繁栄したくせに、自分らの時代には経済を衰退させ そのツケを後世代に回す団塊ジジイ、バブルジジイどもが日本の病巣
831 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:32:43.67 ] excel2000以降ですが 実行させた時に保存するのに ActiveWorkbook.SaveAs Filename:="D:\仕切書PG\\kanriヘッダ挿入後ファイル.xls", FileFormat:=xlNormal とした時にファイル名が"02B90000"とか"73D4B100"とかになり"kanriヘッダ挿入後ファイル"と保存出来ない場合があるのは何故でしょう。 ググってみたんですが出てこないので申し訳ありませんが教えて頂けませんか?
832 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:38:57.18 ] >>831 ググったらこんなん出てきたけど関係ないかな? esupport.trendmicro.co.jp/Pages/JP-2064267.aspx あと、「\\」は「\」が正しいのでは?
833 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:52:20.44 ] >>831 サーバー上とかネットワークドライブに対してやってると Tempフォルダとか権限周りでそんなことがあったな
834 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:52:40.98 ] >>832 \\ではなく\です。ごめんなさい。 出力されたファイルは不明なファイルの種類って出てまして、開くと一応内部は変わらず開けます。 駆除ソフトはウイルスバスターでは無かったです。
835 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:55:46.39 ] >>833 ネットワークではなく個人のpcのみでDドライブ上のフォルダに保存させてます。
836 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 17:13:20.35 ] 質問 excelのシートに貼り付けてあるpictureを、bmp形式の独立ファイルとして生成する方法が知りたいです importメソッドはpictureオブジェクトには使えないし、dotNetのbitmapオブジェクトを使うのが楽かなあって思うんですが いいアイデアありますか?
837 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 18:13:27.44 ] ありますね
838 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 19:24:27.14 ] あるのか? 想像できんな・・・
839 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 19:41:26.68 ] emf wmf を参照せよ
840 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 19:42:47.35 ] >>836 Web形式で保存すれば画像データになるよ。 目的の物かは知らんけど一括で取り出したいだけなら便利
841 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 19:44:36.89 ] msdn.microsoft.com/en-us/library/dd183479%28VS.85%29.aspx
842 名前:デフォルトの名無しさん [2012/06/25(月) 20:00:43.24 ] ありがとうございました
843 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 21:02:04.85 ] 馬鹿には無理
844 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 01:53:46.51 ] 自己解決した問題があったので勝手に忘備録としてかきこ VBAでスペース入力すると勝手に消去されてしまうor全角文字入力すると勝手に確定されてしまう。 原因:Visual studio 2012インスコして追加されるCOMアドインの「Visual Studio Tools for Office Design-Time Adaptor for Excel」 対処:上記のアドインを削除 すでにあったらごめんなさい
845 名前:デフォルトの名無しさん [2012/06/26(火) 22:10:42.87 ] 作品名 全巻数 サザエさん 全4巻 アンパンマン 全5巻 作品数が1000ぐらいあって処理に困っています。 上を下記のようにしたいのですが、どうすればいいですか? よろしくおねがいします。 作品名 全巻数 巻数 サザエさん 全4巻 第1巻 サザエさん 全4巻 第2巻 サザエさん 全4巻 第3巻 サザエさん 全4巻 第4巻 アンパンマン 全5巻 第1巻 アンパンマン 全5巻 第2巻 アンパンマン 全5巻 第3巻 アンパンマン 全5巻 第4巻 アンパンマン 全5巻 第5巻
846 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 22:13:01.14 ] ごめん、意味がわかんない
847 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 22:24:31.89 ] >>845 ループ回すだけじゃないの? 具体的に何がわからないの?
848 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 22:25:53.67 ] >>845 for文って知ってる? VBAは使える?
849 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 22:43:57.68 ] 全n巻の数値部分を切り出してループ回せば良いだけだよな 俺も何が解らないのかが解らない まさか丸投げでコード書いてくれとか言わないよな? まあその場合は>>1 ★5だが
850 名前:845 [2012/06/26(火) 23:39:51.27 ] ありがとう、解決しました。
851 名前:デフォルトの名無しさん [2012/06/28(木) 09:49:45.56 ] 過疎
852 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 16:47:49.64 ] 質問すればスレ違いだのなんだので拒否るくせに w
853 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 17:37:37.85 ] スレ違いが拒否されるのは当然じゃね?
854 名前:デフォルトの名無しさん [2012/06/28(木) 19:27:08.73 ] スレ違いの質問だと思うならスルーすればすむのに 馬鹿の一つ覚えでスレ違いスレ違い言うから スレの勢いもとまるし雰囲気も悪くなるってことでしょ
855 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 20:26:52.48 ] スレ違いな質問に、スレ違いだと指摘を入れないでくれってのは スレ違いな質問するお馬鹿さんの自己厨な言い分でしょ でも、社会に出ればわかると思うが、世の中それではまかり通らない
856 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 22:14:23.55 ] スルーしたら、誰からスレ違い指摘するまで無駄な催促が 続くだけだよ。VBAの質問に回答できるレベルの奴なら、 スレ違い質問に回答することの弊害くらい解ってるから、 スレ違い指摘が無くなったからと言って、スレ違いな質問に 回答が付くようになるわけではない。
857 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 22:29:06.77 ] スルー無視で催促質問するような連中はスレ違いを指摘したところでどうにもならんと思うんだ。 ちょうどつい最近もExcel総合質問スレでおかしな馬鹿が粘着して暴れたところだが、 ああいう連中は何言っても無駄だから結局スルーが一番ってことだと思う。
858 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 00:14:59.12 ] Excel2000での質問です。 ワークシート上に配置したチェックボックスの内容をOLEObjectプロパティで取得して集計するというマクロを組んだのですが、 チェックボックスの数が1200個を越えたところでオートメーションエラーが発生しマクロが動作しなくなりました。 チェックボックスの追加自体は可能なのですが、それらをVBAで操作することができません。 ワークシート上のコントロールの数には上限があるのでしょうか? また、回避する手段はありますか?
859 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 00:26:34.49 ] >>858 仕様に関することはMSに問い合わせないとわかんないと思うよ 他の人に試してもらいたいんだったらせめてブックをアップしないと
860 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 00:57:10.74 ] >>858 わからんけど、分割してみたら?
861 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 00:57:38.36 ] >>859 ファイルは会社なのでアップは出来ないです。 コントロールを1000個以上配置するような状況は見たことが無かったのでさすがに無理ですかね やはり仕様ですか・・・ 何か別の手段を考えてみます。 レスどうもでした。
862 名前:858 mailto:sage [2012/06/29(金) 01:08:34.33 ] >>860 恐らく上限はシート毎だと思うので分割すればいけると思います。 それしかなさそうですね
863 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 02:46:39.85 ] >>858 2003で確認してみたけど、1208個以上になるとエラーになるね でも他の人の指摘通り、別シートにすればまた1200個は作れるから 分散すればどうにでもなる どうしても分散したくないなら、おそらく行単位でチェックボックス作ってるとかだろうから Aに列挿入して、A列の書式を「"☑";;"□"」にして Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub ActiveCell.Value = IIf(ActiveCell.Value = 0, 1, 0) ActiveCell.Offset(, 1).Activate End Sub なんてコードを入れてやると、擬似的なチェックボックスみたいになる 仕様としては、A列に1(というか正数)が入力されると「☑」が表示され 0だと「□」、その「1 <-> 0」「☑ <-> □」をセルをクリックする度に上記マクロが 切り替えてくれる あとは For i = 1 To 5000 If Cells(i, 1).Value <> 0 Then '・・・・・ Next i って感じで、チェック入ってる行の取得や操作ができる
864 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 18:13:53.18 ] >>854 良く見ると「スレ違い」って言ってる奴は一人も居ない その心は、皆単に「>>1 嫁」って言ってるだけなんだよ >>1 にスレの趣旨とスレ違いの定義が書かれており、 それを読んでない奴に当然の指摘をしているだけで 個人の尺度で勝手にスレ違いを定義してスレ違いだ なんだと言ってる奴は見あたらない ついでに言うと、その当然の指摘がなされたことによって 勢いや雰囲気が害された感は全く無いね 見なよ、スレ違いじゃない質問への迅速で真摯な対応
865 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 22:12:13.82 ] まだ続けるのかww
866 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 06:50:06.87 ] ヒマだし
867 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 04:29:13.72 ] でもそんな1000個以上あるチェックボックス見るのも嫌だな どんな嫌がらせだ
868 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 11:32:20.19 ] チェックボックスってマウスが上空を通り過ぎるときに 誤動作で勝手にクリックされたことになってチェックされたり外れたりするよね ヒューマンインターフェースとしては最悪な部類だと思う
869 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 11:43:58.14 ] 誤動作までチェックボックスのせいなのか、色々大変だな。 て言うか、そんな誤動作見たことないが。
870 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 12:18:46.57 ] 誤動作じゃなくて誤操作なwww