- ベストアンサー
グラフを高速に動かす方法は?
- 添付画像にあるグラフを連続的に高速で動かす方法を教えてください。現在のコードでは1000まで繰り返すのに34秒かかっており、3秒程度に短縮したいと考えています。
- 現在のコードではグラフの更新が表示されないため、DoEventsを使用しています。グラフの更新が表示されるようにしながら、1000までの繰り返し時間を3秒程度に短縮する方法はありますか?
- グラフを連続的に高速で動かすための効率的な方法を教えてください。現在のコードでは34秒かかっているため、3秒程度に短縮したいと考えています。また、グラフの更新が表示されない問題にはDoEventsを使用して対応しています。
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- チェックボタンでチェックした値をセルに連続入力
チェックボタンでチェックした行(表-1)を下記のコードでExcelセル(表-2)に入力できたのですが既にに"B2:E3","B10:E10",に値が入力されている場合、B4から続けて入力したいのですがどのように コードを追記すれば良いのかどなたかわかる方よろしくお願いします。 Sub 入力() Dim i As Integer Dim j As Integer Dim k As Integer k = 3 i = Range("Z65536").End(xlUp).Row For j = 3 To i If Range("Z" & j).Value = True Then k = k + 1 Range("B" & k).Value = k - 1 Range("H" & j, "K" & j).Copy Range("B" & k) End If Next j End Sub
- ベストアンサー
- Visual Basic
- 実行中のマクロを中断したい
過日、「マクロの中断」について質問し適切な回答をいただき無事解決したものです。 ところが、初心者の悲しさ、少し変わると全く応用がききません。 Range("A1:B10")を読み上げている途中で中断したいのです。前回ご教示いただいたところにより 「DoEvents」や「Me.Repaint」「Sleep」などをあちこち挿入してみましたがうまくいきません。理屈、理論を理解できていないので仕方ないのでしょうがよろしかったら又ご指導のほどお願いします。Excel2003です。 Dim c As Range Dim CancelFlg As Integer Private Sub CommandButton1_Click() Range("A1:B10").Select CancelFlg = 0 For Each c In Selection ’ DoEvents Application.Speech.Speak c.Value ’ DoEvents If CancelFlg = 1 Then Exit For ’ DoEvents Next c Range("A1").Select End Sub Private Sub CommandButton2_Click() CancelFlg = 1 End Sub 前回のご教示いただいたもの Private Sub CommandButton1_Click() Dim i As Integer CancelFlg = 0 For i = 1 To 100 DoEvents ActiveCell.Value = 1 ActiveCell.Offset(1, 0).Activate Application.Wait (Now + TimeValue("0:0:01")) If CancelFlg = 1 Then Exit For Next i End Sub Private Sub CommandButton2_Click() CancelFlg = 1 End Sub
- ベストアンサー
- オフィス系ソフト
- エクセルで連続印刷した範囲を印刷済とわかるように
エクセルで以下のようなプログラムで変数s、eに入力の範囲でシートの連続印刷しております。印刷し終わった後ですが、変数s~eの範囲を赤くして印刷済かどうかをひと目でわかるようにしたいと思います。可能でしょうか。 Sub 範囲を指定して印刷() Dim s As Long Dim e As Long Dim i As Long On Error Resume Next s = InputBox("開始No.を入力して下さい。") If s = 0 Then Exit Sub e = InputBox("終了No.を入力して下さい。") If e = 0 Then Exit Sub For i = s To e Worksheets("A").Range("C1") = i Application.Wait Now + TimeSerial(0, 0, 10) Worksheets("B").PrintOut Next i End Sub
- 締切済み
- Excel(エクセル)
- Excle 表紙作成マクロ
今、添付しているような表紙を作成しているのですが、下のマクロで印刷からPDF化をしています。 ただ、毎回名前をつけなければいけないので、大変時間がかかります。 どなたか、楽な方法があるなら教えてください。 Sub Test() Dim c As Range Dim Ws As Worksheet Set Ws = Sheets("記録写真(表紙)") For Each c In Sheets("名前").Range("B1:B6") Ws.Range("A10").Value = c.Value '念のため DoEvents Ws.PrintOut Next End Sub
- ベストアンサー
- オフィス系ソフト
- Excel2010 VBAについて
以下のソースを書いて実行したのですが 「実行エラー'1004' WorksheetFunctionクラスのVlookupプロパティを取得できません」 と表示されます Sub 時刻表示() '日本の時間と選択した年の時刻・時差を1秒ごとに表示しなおす Dim City As String Dim Jisa As Long Application.ScreenUpdating = False City = Range("C6").Value Jisa = WorksheetFunction.VLookup(City, _ Worksheets("都市リスト").Range("B3:C14"), 2, False) Range("E7").Value = Jisa Range("C4").Value = Now Range("C7").Value = DateAdd("h", Jisa, Now) Range("C4, C7").NumberFormat = "m/d h:mm:ss" Application.ScreenUpdating = True Application.OnTime Now + TimeValue("0:00:01"), "時刻表示" End Sub Sub 時刻表示終了() '時計を止める Application.OnTime Now + TimeValue("0:00:01"), "時刻表示", Schedule:=False End Sub デバックをすると Application.OnTime Now + TimeValue("0:00:01"), "時刻表示", Schedule:=False がマーカーで引かれます 一応本通りには打ったと思うのですが、、、。 どこが間違えているか教えてください
- ベストアンサー
- その他(プログラミング・開発)
- エクセルのマクロでLoopを使うと応答なしになり…
エクセル2010でタイマーを作って作動させるとかならず応答なしになります。Sleepも使ったのですが応答なしになりました。そうなった理由をできれば教えてください。よろしくお願いします マクロ Sub macro() Dim EndTime As Long Dim PassTime As Long EndTime = Timer + Range("c6").Value * 60 + Range("E6").Value Do PassTime = Timer Range("c6").Value = (EndTime - PassTime) \ 60 '分 Range("e6").Value = (EndTime - PassTime) Mod 60 '秒 Loop Until EndTime - PassTime <= 0 Beep MsgBox "時間だよ" End Sub
- ベストアンサー
- オフィス系ソフト
- Excel vba PDF 複数ファイルを一括保存
以下のコードで、for eachの部分をどのように変えると 1枚のpdfですべて保存出来るか教えてください。 よろしくお願いします。 sub macro1() dim h as range worksheets("Sheet1").select for each h in range("C2:C" & range("C65536").end(xlup).row) worksheets("Sheet2").select range("B6").value = h.value range("E18...
- 締切済み
- Excel(エクセル)
- Excel ユーザーフォームの入力値をシートに転記
Excelでユーザーフォームを作りました。 ユーザーフォームには、テキストボックスを2個、ボタンを1個("記入"という文字が入っています)置いてあります。 テキストボックスに入れた数値をSheet1のセル"C24","C25"に転記したいので、ユーザーフォームのコードを次のようにしましたが、エラーメッセージは出ないかわりに何も動いてくれません。 「どこ」と「なに」が違いどうするのが正しいのか教えて下さい。よろしくお願いします。 Private Sub Tbox1_Change() a = Tbox1.Value End Sub ---------------------------- Private Sub Tbox2_Change() b = Tbox2.Value End Sub ---------------------------- Sub 記入Button_Click() '入力値をSheet1に転記 Dim a As Range Dim b As Range Sheets("Sheet1").Select Set a = Range("C24") Set b = Range("C25") End Sub
- ベストアンサー
- オフィス系ソフト
- ExcelのVBAで、順次動作の実現
Excelのシートに、トグルボタンを3つ配置します。 ToggleButton1~3 そして、次のマクロを実行すると、2秒ごとに順番にトグルボタンが押されるのかと思いきや、6秒後に一斉にトグルボタンがへっこみます。 どうにか?2秒ごとに順番にトグルボタンが押されるように出来ないでしょうか? Sub test() Dim MyWait As String MyWait = 2 ToggleButton1.Value = True Application.ScreenUpdating = True DoEvents 'この間にもマクロを入れたい(0.1秒以内に処理できるものです) Application.Wait (Now + TimeValue("0:00:" & MyWait)) ToggleButton2.Value = True DoEvents Application.Wait (Now + TimeValue("0:00:" & MyWait)) ToggleButton3.Value = True Application.ScreenUpdating = True DoEvents End Sub
- ベストアンサー
- オフィス系ソフト
- コピペマクロを高速化したい(Excel)
見よう見まねで以下のようなコードを書いてみたのですが、 これだと表示にやや時間がかかるので改善したいです。 ------ Sub コピペ() Dim i As Long i = Range("A1") Range("C12").Value = Worksheets("sheet2").Cells(i, 2).Value Range("D12").Value = Worksheets("sheet2").Cells(i, 3).Value Range("E12").Value = Worksheets("sheet2").Cells(i, 4).Value Range("F12").Value = Worksheets("sheet2").Cells(i, 5).Value Range("G12").Value = Worksheets("sheet2").Cells(i, 7).Value ------ こんな感じでコピペしたい値があと15個くらいあります。 コピー元とコピー先のセル配置には法則性があまりありません。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- 機種の違うスマホどうしの音楽ファイルの移動方法を知りたいです。GalaxyのSM-A750CからAQUOSのSense4 SH-M15に音楽ファイルを移したいです。
- Galaxyの中に入っていた画像はGメールに添付して自分宛てに送信して、AQUOSのGメールアプリを開いて添付ファイルをダウンロードすることで移動できますが、音楽ファイルの移動方法が分かりません。
- YouTube Musicアプリに追加してある音楽ファイルは新しい端末に引き継がれますが、古い端末にあるGooglePlayMusicの音楽ファイルの移動方法が分かりません。マイクロSDカードを使用する方法も教えて欲しいです。
お礼
そんな方法があるんですね。 ありがとうございます。 試してみます!