トップページtech
1001コメント417KB

Excel VBA 質問スレ Part33

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/10/17(木) 22:04:40.64
ExcelのVBAに関する質問スレです

                   ___
       ___      /____ヽ      ____
      /____\    | |´・ω・`| |    /___ヽ
      .l |´・ω・`|  ニX二 . ̄ ̄ ̄  二X二  |´・ω・`| l 俺たちに任せろ
      !、 ̄ ̄ ̄  ヽ   |       |    /    ̄ ̄ ̄/
       ヽ_/ヽ、  ヽ__)  \__/\_/.   /_/  ノヽ_/
             ̄                ̄ ̄

前スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/

このスレはコード書き込みOKです。
作成依頼もOKですが、作成依頼限定ではありません。

コードが嫌な人はこちらのスレへ
http://toro.2ch.net/test/read.cgi/tech/1381151995/l50
0497デフォルトの名無しさん2014/05/13(火) 19:08:16.70ID:JkOdWH0g
>>496
ありがとうございます
04984872014/05/13(火) 21:08:23.50ID:wn45zDPA
>>488
すまん、30分と間違えた
0499デフォルトの名無しさん2014/05/13(火) 21:32:17.40ID:ph3+WM+5
30分www
まぁ手書きで
0500デフォルトの名無しさん2014/05/14(水) 15:02:32.44ID:CuHF+7gT
何方か>>478をお願いします。
検索してみたら、同じ様な事をしたい人が居たのですが、解決には至っていませんでした。
どうか、宜しくお願いします。
0501デフォルトの名無しさん2014/05/14(水) 17:08:56.86ID:ZCY9UWx+
>>500
実行するたびにシートが増えるが、そこはどうにかしろ。

Sub foo()
  Dim r As Range
  Dim sheet As Worksheet

  For Each r In Range("A1").CurrentRegion
    Set sheet = Worksheets.Add
    クエリ抽出 sheet, r.Value
Next
End Sub

Sub クエリ抽出(ByRef sheet As Worksheet, ByVal url As String)
  With sheet.QueryTables.Add(Connection:= _
    "url;" & url, _
    Destination:=sheet.Range("A1"))
    .WebSelectionType = xlSpecifiedTables
    .WebFormatting = xlWebFormattingNone
    .WebTables = "1"
    .Refresh BackgroundQuery:=False
  End With
End Sub
05025002014/05/15(木) 01:25:42.71ID:Gz+0SdGV
>>501
ありがとうございます。
今夜、早速試してみます。
0503デフォルトの名無しさん2014/05/17(土) 08:01:53.07ID:nXU1UeAN
2次元配列の要素の数を調べるにはどうすればいいですか?
普通のはUBoundでいけるけど、2次元だと詰んでる。
0504デフォルトの名無しさん2014/05/17(土) 08:07:13.92ID:bGHl19aa
それぐらいぐぐれよw
0505デフォルトの名無しさん2014/05/17(土) 08:10:05.17ID:q+MS9gLN
ヘルプで十分
05065002014/05/17(土) 09:11:27.80ID:kSvc6BWF
>>501
実際に動作を確認しました。
シートが一枚一枚、増えるのはこちらの希望通りで、問題ありません。
期待していた通りになってくれました。大変助かりました。
重々、お礼申し上げます。ありがとうございました。
0507デフォルトの名無しさん2014/05/17(土) 18:55:01.51ID:nXU1UeAN
じゃあ
2次元配列の要素数を動的にして
あとでReDimで変更するにはどうしたらいいですか?
2つのうち両方とも変更したいです。
0508デフォルトの名無しさん2014/05/17(土) 19:03:56.16ID:q+MS9gLN
>>507
そんなもん自分でやってみりゃいいじゃん
なんでもかんでも聞くなよ

Sub test()
  Dim a()
  ReDim a(3, 3)
  ReDim a(5, 5)
End Sub

さあ、どうなった?
0509デフォルトの名無しさん2014/05/17(土) 19:54:30.60ID:nXU1UeAN
>>508
あれ、できるじゃないか。
おかしいな。
2次元動的配列は、最終の2次元目のみ要素数を変更できると書いてあったのに。
0510デフォルトの名無しさん2014/05/17(土) 19:57:07.95ID:nXU1UeAN
実際こうしたらエラーが出たぞ。

Sub test2()
Dim a() As String
ReDim a(3, 3)
ReDim Preserve a(5, 5)
End Sub
0511デフォルトの名無しさん2014/05/17(土) 20:48:25.73ID:q+MS9gLN
>>510
ヘルプぐらい読め
ていうかまず一番にヘルプを読め
ヘルプでわからなかったらググれ
それでもわからなかったら人に聞け
0512デフォルトの名無しさん2014/05/17(土) 21:35:47.99ID:nXU1UeAN
ヘルプ見つからず、検索出てこず、ここで人に聞いても回答なし。
詰んでる。
0513デフォルトの名無しさん2014/05/17(土) 21:43:18.79ID:E1N9nGHa
PreserveなしのRedimは次元数も要素数も変更できる
Preserve付きのRedimは次元数は変更できず、最後の次元の要素数のみ変更できる
0514デフォルトの名無しさん2014/05/17(土) 22:28:57.78ID:q+MS9gLN
>>512
Excelが入っててヘルプが入ってないわけないだろ
0515デフォルトの名無しさん2014/05/17(土) 22:40:38.76ID:bGHl19aa
これすら見つけられなかった?
Redimステートメント
http://msdn.microsoft.com/ja-jp/library/w8k3cys2.aspx
0516デフォルトの名無しさん2014/05/17(土) 22:42:59.11ID:bGHl19aa
VS2013?間違えた
0517デフォルトの名無しさん2014/05/17(土) 23:06:02.53ID:q+MS9gLN
msdnだと日本語のリファレンスが見つからないんだよなあ (VBはあるけどVBAが見あたらない)
http://msdn.microsoft.com/en-us/library/gg251578%28v=office.15%29.aspx

探し方が悪い気もするんだけど、ようわからん
0518デフォルトの名無しさん2014/05/18(日) 11:25:50.87ID:f0QDfVej
正直、ヘルプMSDNとかよりもググって誰かの書いた説明の方が
わかりやすいと思ってしまう俺はド素人なんだろうな。
0519デフォルトの名無しさん2014/05/18(日) 11:52:19.34ID:rUx0aG1K
とりあえず動けばいいレベルのマクロを作るだけなら何を参考にしてもいい
想定外の動作をしてバグか仕様か自分の勘違いかわからない時は、結局はmsdnやヘルプを確認するしかない時もある

もちろん公式文書にも間違いはあるので注意が必要だけど、>>510みたいにヘルプにちゃんと書いてあることを
あたかも大発見みたいに書かれると萎える
0520デフォルトの名無しさん2014/05/18(日) 16:00:29.34ID:1/it3LsY
>>518
英語力の問題では?
0521デフォルトの名無しさん2014/05/18(日) 16:47:32.55ID:0bx4PTQ0
>>518
ヘルプやMSDNがわかりやすいと思ったら、だれもそんな解説書かないだろ
ヘルプみてわけわからんなら解説探せばいいけど、公式情報みるのは最低限必要
0522デフォルトの名無しさん2014/05/18(日) 21:22:16.26ID:UBuQU1Du
http://toro.2ch.net/test/read.cgi/tech/1382015080/
0523デフォルトの名無しさん2014/05/18(日) 22:00:39.47ID:H/JD4vj2
MSDNも、機械翻訳版だと無意味に近いし、
人間が訳したのは英語版の重要なところを
こっそりスッ飛ばしてる場合があるから要注意だ。
0524デフォルトの名無しさん2014/05/21(水) 22:23:52.70ID:BFHFMym8
俺ほどの人間は、自分で調べるなんて愚行しない。
ここに書いて手っ取り早く解答得るのがベスト。
0525デフォルトの名無しさん2014/05/22(木) 17:38:55.74ID:OR1KcKew
そして素人の書いた適当なレスに騙される
0526デフォルトの名無しさん2014/05/22(木) 18:09:40.63ID:jxaWow30
情報とか手がかりじゃなくて解答というあたりが・・・
0527デフォルトの名無しさん2014/05/24(土) 10:53:14.15ID:eu02DRrY
Excel2013 の PDF保存のコードについて教えてくださいませ。
名前をつけて保存、で複数シートを1つのPDFに保存するコードを書きましたが
なぜか動く動きません。

Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Sheets("Sheet1").Activate
ActiveSheet.ExportAsFixedFormat type:=xlTypePDF,
Filename:= "C:\Sheet123.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True

Arrayで最初に選択したシートのみが出力されてしまいます。
2行目の Sheets("Sheet1").Activate を削除しても結果は変わらずでした。
マクロで記録しても、上記と同様のコードが記録されます。
しかしこの記録されたマクロを実行すると、やはり最初に選択したシートしかPDF出力されません。

何が足りないのでしょうか?
05285272014/05/24(土) 10:56:45.70ID:eu02DRrY
ごめんなさい!出来ました!ワ〜イ
ウィンドウを複数開いてたのが原因でした
0529デフォルトの名無しさん2014/05/25(日) 22:23:52.52ID:8sEJJ/Xn
VBAを使ってπの道の桁数の計算に挑戦することは可能ですか?
0530デフォルトの名無しさん2014/05/25(日) 22:24:17.44ID:8sEJJ/Xn
>>529
道→未知・・
0531デフォルトの名無しさん2014/05/26(月) 10:24:59.73ID:xBqIirxp
挑戦するだけなら可能でしょ
成功はしないけど
0532デフォルトの名無しさん2014/05/26(月) 12:13:08.87ID:ptXAqcmg
たぶん未知の領域に到達する前に
後から来る人に追い越される
0533デフォルトの名無しさん2014/05/26(月) 12:26:24.18ID:dlApJPlM
道の桁数の計算方法が確定しているなら
その計算に必要なリソースが確保できるなら可能
0534デフォルトの名無しさん2014/05/26(月) 15:34:56.33ID:EGdbrytd
いや、未知の桁数に達するまで太陽系が存在出来るかを問題にしないと
0535デフォルトの名無しさん2014/05/26(月) 19:57:34.24ID:dlApJPlM
>>534
挑戦出来るかどうかと聞いてるから、そこは問題にならない
0536デフォルトの名無しさん2014/05/26(月) 20:30:26.14ID:9XuuTI4K
Excel VBA 量子コンピューター版が出れば最初に的確に着手した人なら達成出来る?
http://it.impressbm.co.jp/articles/-/10453
D-Wave はコンピュータではないらしい。
計算を高速化する独自の数式や手法を発見すれば現在のExcelでも可能?
0537デフォルトの名無しさん2014/05/26(月) 20:39:03.08ID:JsbqvBWY
考えてみればExcelは1つじゃない
手に入るだけの台数の高速なPC(数千・数万台とか)とExcelで並列処理させればできるか?
VBAが何所まで並列処理にむいているかはやったことが無いのでわからんが。
0538デフォルトの名無しさん2014/05/26(月) 20:51:31.05ID:LCv9Wl+A
>>529
VBA は 64KB 壁があったりして棘の道だと思うが君ならきっとやれる。
0539デフォルトの名無しさん2014/05/26(月) 23:11:20.50ID:Ed2uGBCo
仕事で自動化したくてOLEオートメーション使いたいのだけど
これってもう古いの?
どこ探してもよくわからない
おすすめの本ってある?
0540デフォルトの名無しさん2014/05/26(月) 23:43:24.09ID:7NSDbYse
>>539
質問の意味が良くわからない
何を自動化したいのか
「オートメーション」という言葉を何か勘違いして受け取っているようにも見える
0541デフォルトの名無しさん2014/05/26(月) 23:47:12.46ID:Js6v2rIN
ActiveXでぐぐれなさい
0542デフォルトの名無しさん2014/05/27(火) 11:36:41.29ID:CQuE4vUS
VBAで満足しているんですが、
ほかのプログラム言語覚えるとなにかいいことありますか?
VBAじゃ出来ないことある?
0543デフォルトの名無しさん2014/05/27(火) 12:10:21.53ID:pK8lgo+n
>>542
もちろんVBAにできないことはたくさんあるけど、他の言語にもそれぞれ苦手な分野があるんで
自分のやりたいことがVBAじゃ大変だとわかってから、その作業に最適な言語を探した方が無駄が少ないかもね
0544デフォルトの名無しさん2014/05/27(火) 12:29:28.96ID:CQuE4vUS
>>543
そうですかぁ
目的はっきりしないうちに、
ほかの言語覚えるのも大変ですよね・・
VBAの限界がみえるまではVBAだけで行きます!
0545デフォルトの名無しさん2014/05/27(火) 12:39:03.97ID:JkwAmhtq
>>542
JAVAとかCとかだと求人が多いけどVBAじゃ求人が少ないから
つぶしが利かない
0546デフォルトの名無しさん2014/05/27(火) 12:44:54.08ID:CQuE4vUS
>>545
なるほど、
仕事じゃなく個人で使うだけならVBAで十分かな?
足りなくなったら、DLL?とかほかの言語で作って、
VBAで呼び出せばいいか・・
0547デフォルトの名無しさん2014/05/27(火) 13:18:47.16ID:1WWRQ+yd
Excel VBAで作ると、出力先がほぼシートになるから結構便利なのよね
グラフとか後でくっつければ良いだけだし

sheet1、使い方の説明とか入力用
sheet2、出力用テンプレート
sheet3以降、出力先

って感じで作れば、使い方とか後で訊かれる事も少ない
インターフェイスの設計とか悩まなくて済むのはメリット
05485392014/05/27(火) 21:24:50.12ID:ynAF/lre
>>540
Excelに数値を入れてCADでそれに沿った図面を作成したいのです。
OLE自体をあまり理解してないのですが、
アプリケーション自体が公開しているメソッド(CADでもソフトによって違う)
を使用するということでしょうか
0549デフォルトの名無しさん2014/05/28(水) 06:25:58.57ID:am2JQYoj
つまり、CADソフトをOLEオートメーションでEXCELから操作したい、と
OLEオートメーションって言葉は古いな。間違ってはないが

VBAの命令としてはそのCADソフトのオブジェクトを生成するCreatObjectって言う命令だけ
それ以外は普通のEXCEL VBAの入門書でだいたい事足りるかと

あとはそのCADソフト側で用意されてるメソッドなり何なりを操作する
それはそのCADソフト側の問題なんでそっちに聞いてください
0550デフォルトの名無しさん2014/05/28(水) 09:41:47.76ID:BSb9yGb4
ああ、昔AutoCADで似たような事やったな
VC++だったけど
CAD側の文字コードに注意してやらないと、文字化けとか大変な事になる予感

使い方としては、549の言ってる通りでいけると思うけど、
Excelで数値入れるのが果たして使いやすいかというと、
実はそうでもなかったりしがちになるので、
必要な要件はきっちり洗い出す必要あると思うよ
0551デフォルトの名無しさん2014/05/28(水) 11:36:19.19ID:tvrcqpPe
VBAの標準関数のソースを見たいのですがどこに記述されているのでしょうか?
0552デフォルトの名無しさん2014/05/28(水) 11:42:23.21ID:mspF09G9
非公開じゃないの
0553デフォルトの名無しさん2014/05/28(水) 11:52:24.90ID:tvrcqpPe
そりゃないよかあちゃん
0554デフォルトの名無しさん2014/05/28(水) 16:09:51.90ID:PxoSlPb7
excel vba実行中の画面のちらつきは
Application.ScreenUpdating で 抑えられたが
それでもタスクバーがちらついて困っていた。
タスクバーのちらつきは Application.ShowWindowsInTaskbar
で抑えられるのが分かった。

ShowWindowsInTaskbar って昔からありましたっけ?
0555デフォルトの名無しさん2014/05/28(水) 18:00:58.65ID:pq9FJS3g
>>554
> ShowWindowsInTaskbar って昔からありましたっけ?

なんでググらないの?
0556デフォルトの名無しさん2014/05/28(水) 19:31:12.32ID:tvrcqpPe
あるセル範囲を選択してて
その中にあるセルで
 (1) 空白なら除外する
 (2) 同じ値があれば1つを残して他は除外する
の操作をしたあと
各セルの値をString型の配列変数として入れたいんです。
そのためにはどういうコードを書けばよいでしょうか?

さあ、書きなさい。
0557デフォルトの名無しさん2014/05/28(水) 19:51:40.59ID:6RxarYIU
rangeをOLEで取得するとarrayになるようですが
VBA以外の言語とデータをやり取りするにはどうすれば良い?
0558デフォルトの名無しさん2014/05/28(水) 20:35:31.75ID:aALl0Wxc
>>557
Variant型はExcelやVBAだけで使える型じゃなくてWindowsシステム全体で定義されてるんで
たいていの言語でそのまま扱うことができる
05595392014/05/28(水) 21:11:33.80ID:tkho5s2n
>>549-550
詳しい解答ありがとうございました。
非常に分かりやすかったです。
描くのは直線だけでなるものなので業務の時間を短縮できるのかなと。
あとはCADソフト側の命令の仕方ですね、頑張って探してみます。
ありがとうございました。
0560デフォルトの名無しさん2014/05/28(水) 23:52:38.39ID:am2JQYoj
>>556
あるセル範囲を選択してて
その中にあるセルで
 (1) 空白なら除外する
 (2) 同じ値があれば1つを残して他は除外する
の操作をしたあと
各セルの値をString型の配列変数として入れる
こういうコードを書けばよいよ

要件定義が甘いが、どこがわからんかわからん
0561デフォルトの名無しさん2014/05/29(木) 00:20:40.78ID:pIxlUzsM
>>556
Dictionary使うのはどう?
Existで調べて、無かったらAdd
これを繰り返して最後にString型の配列変数に入れる
0562デフォルトの名無しさん2014/05/29(木) 00:22:14.59ID:pIxlUzsM
スペル間違えた
× Exist
○ Exists
0563デフォルトの名無しさん2014/05/29(木) 08:48:17.68ID:/DaeRAwK
Do
DoEvents
Sleep (100)
Loop Until flag = True

な無限ループをイベント監視用にユーザーフォームで走らせているんですが,
フォームのタイトルバーを捕まれるとループが止められてしまいます。

ループ用にvbModelessなフォームをHiddenで隠して回しても,
他のフォームのタイトルを捕まれると止まってしまいます。

タイトルを捕まれてもマクロが止まらなくなる方法ってありますか?
0564デフォルトの名無しさん2014/05/29(木) 12:02:11.02ID:Amp5ddSE
>>561
ありがとうございます。
あなたはこのスレにときどき登場するDistionary厨のかたですね?
これを機会にDisctionaryの使い方を理解してマスターしようと思うのですが
いいサイトか本はないでしょうか?
0565デフォルトの名無しさん2014/05/29(木) 14:29:26.90ID:sq7Ykhg/
>>563
残念ながらExcelVBAはマルチスレッドに対応しておりません

というか、止められると言っても、終了してしまうのではなく中断するだけだろ?
タイトルバーを掴んでいる間さえも中断しちゃまずいって、いったい何を監視しているやら?
それに、ユーザーフォームの移動なんて、そう頻繁に行うことでも、長時間行うことでも無いじゃん

それとも、自分が使う物ではなく他人が使う物で、タイトルバーを掴んだままにすることで
意図的に監視を一時停止出来ちゃうと困るとかなのかな?
だとすれば、パス掛けたところで簡単に破れて、ソース弄れば監視の無効化も、もっと簡単に
一時停止できるようにすることも可能なVBAでそういうものを作ること自体が不適切

それに、タートルバーを掴んでいる間、つまりExcelの操作をしていない間も監視が必要って事は、
監視対象はExcel上のものではないんだよね?
だとすると、その辺に別の対処法の突破口があるかもしれないな
0566デフォルトの名無しさん2014/05/29(木) 15:11:02.01ID:dLhscPPS
>>563
Sleepを消せば少し改善されると思う
空のループはDoEventsだけで十分
0567デフォルトの名無しさん2014/05/29(木) 15:20:33.17ID:mJj+KV4g
タイトルバーを掴んでる間はDoEventsが戻ってきてないようだが
05685632014/05/29(木) 17:38:29.96ID:/DaeRAwK
>>565
やりたいことは測定器からのデータ取得(GPIB)で,2秒に一回のイベントを監視する目的です。

具体的には AD変換完了のイベント発生 -> 測定値の取得コマンド発行 -> 測定値の転送
という流れで,イベントが発生したら2秒以内に「取得コマンドの発行->転送」をしないと
データを取りこぼしてしまいます。
そこで,フォーム(中断イベント発生用ボタンを表示)がじゃまだと画面の脇によける動作をすると
ループが止まって取りこぼすので困っておりました。

その後,WindowsAPIのSetTimer/KillTimerを試しまして,今回の目的(2秒)なら
行けそうな感じで収まりました。

>>566
>>567 のとおり,つかんでいる間は帰ってきてくれないようです。
0569デフォルトの名無しさん2014/05/29(木) 18:03:06.09ID:mJj+KV4g
そのAD変換完了のイベントってのがどうなってるかしらんが
それで空ループまわして待つ意味がわからんし、時間制限があるのに変換完了イベントから
取得コマンド発行までの間でDoEventsする必要もわからん
0570デフォルトの名無しさん2014/05/29(木) 19:47:40.83ID:sq7Ykhg/
>>568
そういうのは普通、測定器→ローカルデータ、ローカルデータ→Excelって二段構えでやるもんだよ

ユーザーフォームのタイトルバーを掴む意外にも、ループが一時停止される要素はあるし
Excelのエラーで強制終了して再立ち上げするにも、2秒以内じゃまず無理なので取りこぼしが出る

だからまずはデータをローカル(HDD)に保存するってことだけに専念したアプリやスクリプトを走らせて
それが保存するローカルデータをExcelで監視するってのが常套手段
それなら、Excelの監視が止まっている間にイベントが2回発生しようと3回発生しようと
HDDにはその2回なり3回分なりのデータが保存されたままになるから、後からいくらでも読み出し可能
0571デフォルトの名無しさん2014/05/29(木) 19:57:52.53ID:dLhscPPS
それこそ外部プログラムからOLEでワークシートにデータを書き込んで、Changeイベントで処理すべきだろ
リアルタイムで処理する必要があるかどうかは知らんが

リアルタイム性が必要なければファイルにCSV保存して、あとから加工なり分析なりすればええ
0572デフォルトの名無しさん2014/05/29(木) 21:38:45.66ID:pIxlUzsM
>>564
Dictionaryでググレばいいと思うよ
俺もそうした
0573デフォルトの名無しさん2014/05/29(木) 22:25:02.22ID:MJP51S+k
"プロジェクトまたはライブラリが見つかりません"のコンパイルエラーが発生したので以下のページを参考にして解決しました。
http://www.moug.net/tech/exvba/0150128.html
お聞きしたいのは、参照不可となった原因です。あと、参照不可となっていたライブラリのチェックを外すことで今後問題が起きないのか?ということです。
ちなみに、開発環境と実行環境は同一のPC1台のみです。よろしくお願いします。
05745632014/05/30(金) 08:43:27.05ID:VsNT1DP0
>>569
イベント=グローバル変数のビットが立つだけでなので,
単純にループを回し続けてグローバル変数を確認し続ける処理となってます。
また,DoEventsは中断/終了処理のためにフォームのボタンを押す必要があるためです。

>>570,571
CSVを吐かせるのが一番容易ではあるんですが,他者がメンテするときに開発環境等
構築の必要がないVBAのみで完結させたいなというのがありまして。
0575デフォルトの名無しさん2014/05/30(金) 09:28:42.64ID:ztZ/Ok0F
>>574
悪い事は言わん、計測器関連はVBAでやるの止めとけ
今はVisualStudio Expressもあるし、無料で環境構築できるんだから、
Excel に拘らない方が良い

どっちかつうと、VB側からExcel吐き出しする方が経験上楽で確実
0576デフォルトの名無しさん2014/05/30(金) 09:34:30.18ID:tZceHJTB
Excel2個起動したらマルチで動くよ
0577デフォルトの名無しさん2014/05/30(金) 10:03:47.61ID:gm611zV1
そのグローバル変数を書き換えてるプロセスはいったいどこで動いてるんだ?
0578デフォルトの名無しさん2014/05/30(金) 15:23:03.23ID:g1Pwsqem
>>574
>単純にループを回し続けてグローバル変数を確認
グローバル変数セットするときにイベント起こすなり特定プロシジャ呼ぶなりすれば良い話
ループで変数監視とかどう考えても設計がおかしい

>DoEventsは中断/終了処理のために
変換完了イベントから取得コマンド発行までの間は中断できないようにすれば良いだけ
要求される仕様にもよるけど設計がおかしい
0579デフォルトの名無しさん2014/05/30(金) 15:38:13.41ID:g1Pwsqem
>>573
>参照不可となった原因
たとえば参照設定されていたプログラムをアンインストールしたら当然参照不可能になるわな
お前のPCに起こった事がそれだけの情報でわかるわけがないだろう

>今後問題が起きないのか
お前のプログラムが何をどうやってたかわからんのに、わかるわけがないだろう
コンパイルしてみてエラーが無いようなら、一応問題が無いと言えるかもしれんが
ライブラリの中身が変わって参照設定が無くなってたりしたら、そのライブラリに
互換性の問題があったりするかもしれん
0580デフォルトの名無しさん2014/05/30(金) 15:45:03.61ID:9Pr1vy7p
いつもの

「設計が不適切だから、実現が困難になる」

という、初心者がよくハマる罠ですな
0581デフォルトの名無しさん2014/05/30(金) 16:06:49.06ID:VsNT1DP0
>>575
テンプレート作っておいて最終的にcom使って吐き出させるのが確実ですかね。

>>577
すみません,私の勘違いでグローバル変数が変わるのではなく,
ループ中で測定器のステータスを読みに行くコマンドを送り,
ADデータが更新されたかのフラグを自分で立てていました。
0582デフォルトの名無しさん2014/05/30(金) 21:06:21.63ID:uIjyT6t9
具体的な記述は自分で考えますので方向性だけお力をおかしください


現在、シート1にデータの羅列を手入力しています
その後、いくらかの計算を経てシート2に転写しています
このとき、シート1は月日関係なく羅列が続いているのですがシート2は月末ごとに集計したいと考えています


↓へ続く
0583デフォルトの名無しさん2014/05/30(金) 21:07:57.55ID:uIjyT6t9
イメージとしては

・シート1
1/1   5
1/10  3
1/25  6
1/31  10
2/3   5
2/20  2
3/2   4


シート2
1/1   5
1/10  3
1/25  6
1/31  10
----------
1月最大 10
1月最少 3
1月計  24
----------
2/3   5
2/20  2
----------
2月最大  5
2月最少  2
2月計   7
----------
3/2   4

こんなイメージです、初めは文字通り転写していたのですがそうするとあとから月末の集計を挟むとずれるのでそのあたりヒントをいただけたらと思います
0584デフォルトの名無しさん2014/05/30(金) 21:20:31.98ID:9Pr1vy7p
クラス使って構造化すれば良いだけやん

因みに最大の反対は最小で、最少の反対は最多な
0585デフォルトの名無しさん2014/05/30(金) 21:36:10.28ID:e0LBlZuD
転写後に集計行を挿入する。
転写元と転写先の行指定を同一にしないでわける。
(Row1行目をRow2行目に転写)
0586デフォルトの名無しさん2014/05/30(金) 22:04:39.86ID:FUgryqqJ
>>583
分かり易いコードだったら
シート1の上から月の変わり目まで値をシート2に代入して、
その間最大と最小と月計を求めておいて、それをシート2に書き込んだら
また次の月を処理してやればいいんだけど、
別にそんなことしなくてもピボットで行けるんじゃないかと思う。
0587デフォルトの名無しさん2014/05/31(土) 01:24:27.59ID:BIC+yzDE
ひとまずシート1からシート2へ、
全てのデータをコピーする

次にシート2へ、最大値・最小値・合計を、
後ろの行から追加していくと、
行の数え間違いが減りそう
0588デフォルトの名無しさん2014/05/31(土) 08:16:56.63ID:Ym0wh1sa
エクセルの2003で作ったマクロを2013で使用したいのですが、
そのままコピーをしても使えません・・・

互換モードで変換しても、上手く起動してくれません。
どうしたらよいでしょうか?
0589デフォルトの名無しさん2014/05/31(土) 08:31:34.05ID:hcRtMx6V
>>588
使えないってのどういう状況?
コピーって、何をどうコピーしたんだ?
それは本当に2003で作ったマクロなのか?

情報が足りなすぎて何とも言えん

エスパーするならセキュリティセンターの設定で行ける気がするが
0590デフォルトの名無しさん2014/05/31(土) 10:11:58.90ID:0hCJmlYV
>>588
エスパーすると、
信頼できる場所、拡張子(マクロ有効ブック)、参照設定、PtrSafe
あたりかなあ?
0591デフォルトの名無しさん2014/05/31(土) 17:06:26.42ID:vfwWW6a6
質問でございます。
エクセルVBAで効果音を鳴らすにはいかにすればよろしいでしょうか?

また、画像を張ったり、消したりするにはどのようなコードを書き込めばいいものでしょうか?
0592デフォルトの名無しさん2014/05/31(土) 17:57:42.27ID:Ym0wh1sa
マクロの制作代行(修正)を3000円位で行ってくれる所ないかな?

既にあるマクロに機能追加してもらいたいんだけど、
スキルがなくて困っています。
0593デフォルトの名無しさん2014/05/31(土) 18:03:54.56ID:MZZ4d7NB
>>591
http://www13.plala.or.jp/kymats/study/multimedia.html
0594デフォルトの名無しさん2014/05/31(土) 18:15:17.55ID:xW/2bai/
>>593
いまいち、理解できないっす。
要するにどういうコードを書き込めばよいのでしょうか?
そして音源はどこにあるのでしょうか?
0595デフォルトの名無しさん2014/05/31(土) 18:24:22.00ID:6LzyMI+6
>>592
翌日以降に発覚した瑕疵等は別途見積もり・請求させていたたきます
0596デフォルトの名無しさん2014/05/31(土) 18:42:36.10ID:ROAafTCn
>>592
マッチングサイトなんてググればヒットするでしょ
■ このスレッドは過去ログ倉庫に格納されています