Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6731 / 13644 ツリー ←次へ | 前へ→

【43453】J6に数秒とどまりE10へ移動 とし 06/10/16(月) 17:51 質問[未読]
【43457】Re:J6に数秒とどまりE10へ移動 ichinose 06/10/16(月) 18:45 発言[未読]
【43466】Re:J6に数秒とどまりE10へ移動 とし 06/10/16(月) 20:15 発言[未読]
【43459】Re:J6に数秒とどまりE10へ移動 Hiroko 06/10/16(月) 19:03 発言[未読]
【43468】Re:J6に数秒とどまりE10へ移動 とし 06/10/16(月) 20:19 発言[未読]
【43469】Re:J6に数秒とどまりE10へ移動 とし 06/10/16(月) 20:31 発言[未読]
【43470】Re:J6に数秒とどまりE10へ移動 Hiroko 06/10/16(月) 21:07 発言[未読]
【43477】Re:J6に数秒とどまりE10へ移動 とし 06/10/16(月) 23:58 発言[未読]
【43486】Re:J6に数秒とどまりE10へ移動 とし 06/10/17(火) 9:55 お礼[未読]

【43453】J6に数秒とどまりE10へ移動
質問  とし  - 06/10/16(月) 17:51 -

引用なし
パスワード
   みなさんよろしくお願いします。
題名の通りなのですが下記コードのなかにJ6に約5秒間程度とどまり
E10へセル移動するコードをプラスしたいのですがこんなの出来るでしょうか。

Sub 月曜日()
  Dim 日付 As Date

  ActiveSheet.Unprotect
  日付 = Now()
  Do Until Weekday(日付) = 2
    日付 = 日付 + 1
  Loop
  Range("J6").Value = Format(日付, "yyyy/mm/dd")
  Dim II As Integer, RR As Long, CC As Long
  For II = 1 To 14
   Select Case II
     Case 1 To 7: RR = 7 + II * 3: CC = 6
     Case Else:  RR = 24 + II:   CC = 5
   End Select
   '
   Worksheets("調書").Cells(RR, CC) _
        .Value = "=Calendar!H" & (4 + II)
  Next
  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
  ActiveSheet.EnableSelection = xlUnlockedCells
  Application.Goto Reference:="R10C5"
End Sub

【43457】Re:J6に数秒とどまりE10へ移動
発言  ichinose  - 06/10/16(月) 18:45 -

引用なし
パスワード
   ▼とし さん:
こんばんは。

>みなさんよろしくお願いします。
>題名の通りなのですが下記コードのなかにJ6に約5秒間程度とどまり
>E10へセル移動するコードをプラスしたいのですがこんなの出来るでしょうか。
>
>Sub 月曜日()
>  Dim 日付 As Date
>
>  ActiveSheet.Unprotect
>  日付 = Now()
>  Do Until Weekday(日付) = 2
>    日付 = 日付 + 1
>  Loop
   With Range("J6")
    .Value = Format(日付, "yyyy/mm/dd")
    .Select
    Application.Wait Now() + TimeValue("00:00:05")
    End With
>  Dim II As Integer, RR As Long, CC As Long
>  For II = 1 To 14
>   Select Case II
>     Case 1 To 7: RR = 7 + II * 3: CC = 6
>     Case Else:  RR = 24 + II:   CC = 5
>   End Select
>   '
>   Worksheets("調書").Cells(RR, CC) _
>        .Value = "=Calendar!H" & (4 + II)
>  Next
>  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
>  ActiveSheet.EnableSelection = xlUnlockedCells
>  Application.Goto Reference:="R10C5"
>End Sub
というように
Application.Wait を使ってみてください。
 

【43459】Re:J6に数秒とどまりE10へ移動
発言  Hiroko  - 06/10/16(月) 19:03 -

引用なし
パスワード
   ▼とし さん:
こんばんは、
こんなことでしょうか・・・
一度試してみてください。
J6に5秒の表示、そしてそれが消え、E10にJ6の内容が表示される
ようにしています。

>みなさんよろしくお願いします。
>題名の通りなのですが下記コードのなかにJ6に約5秒間程度とどまり
>E10へセル移動するコードをプラスしたいのですがこんなの出来るでしょうか。
>
>Sub 月曜日()
>  Dim 日付 As Date
>
>  ActiveSheet.Unprotect
>  日付 = Now()
>  Do Until Weekday(日付) = 2
>    日付 = 日付 + 1
>  Loop
>  Range("J6").Value = Format(日付, "yyyy/mm/dd")
  Application.Wait Now + TimeValue("00:00:05")
  Range("J6").Value = ""
  Range("E10").Value = Format(日付, "yyyy/mm/dd")
>  Dim II As Integer, RR As Long, CC As Long
>  For II = 1 To 14
>   Select Case II
>     Case 1 To 7: RR = 7 + II * 3: CC = 6
>     Case Else:  RR = 24 + II:   CC = 5
>   End Select
>   '
>   Worksheets("調書").Cells(RR, CC) _
>        .Value = "=Calendar!H" & (4 + II)
>  Next
>  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
>  ActiveSheet.EnableSelection = xlUnlockedCells
>  Application.Goto Reference:="R10C5"
>End Sub

【43466】Re:J6に数秒とどまりE10へ移動
発言  とし  - 06/10/16(月) 20:15 -

引用なし
パスワード
   ▼ichinose さん:
返事ありがとうございます。
コードに入れてみたのですがとどまるだけで次にE10へ行くはずですが
移動してくれません。わかりますか?よろしくお願いします。
>
>>みなさんよろしくお願いします。
>>題名の通りなのですが下記コードのなかにJ6に約5秒間程度とどまり
>>E10へセル移動するコードをプラスしたいのですがこんなの出来るでしょうか。

>>Sub 月曜日()
>>  Dim 日付 As Date
>>
>>  ActiveSheet.Unprotect
>>  日付 = Now()
>>  Do Until Weekday(日付) = 2
>>    日付 = 日付 + 1
>>  Loop
>   With Range("J6")
>    .Value = Format(日付, "yyyy/mm/dd")
>    .Select
>    Application.Wait Now() + TimeValue("00:00:05")
>    End With
>>  Dim II As Integer, RR As Long, CC As Long
>>  For II = 1 To 14
>>   Select Case II
>>     Case 1 To 7: RR = 7 + II * 3: CC = 6
>>     Case Else:  RR = 24 + II:   CC = 5
>>   End Select
>>   '
>>   Worksheets("調書").Cells(RR, CC) _
>>        .Value = "=Calendar!H" & (4 + II)
>>  Next
>>  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
>>  ActiveSheet.EnableSelection = xlUnlockedCells
>>  Application.Goto Reference:="R10C5"
>>End Sub
>というように
>Application.Wait を使ってみてください。
>

【43468】Re:J6に数秒とどまりE10へ移動
発言  とし  - 06/10/16(月) 20:19 -

引用なし
パスワード
   ▼Hiroko さん:
返事ありがとうございます。
内容が伝わっていない様なのでもう一度書きます。
J6で5秒程度とどまり5秒後E10へ移動だけでいいのですが
いかがでしょ。
あくまでJ6に日付は表示したままでOkです。

>こんなことでしょうか・・・
>一度試してみてください。
>J6に5秒の表示、そしてそれが消え、E10にJ6の内容が表示される
>ようにしています。
>

>>Sub 月曜日()
>>  Dim 日付 As Date
>>
>>  ActiveSheet.Unprotect
>>  日付 = Now()
>>  Do Until Weekday(日付) = 2
>>    日付 = 日付 + 1
>>  Loop
>>  Range("J6").Value = Format(日付, "yyyy/mm/dd")
>  Application.Wait Now + TimeValue("00:00:05")
>  Range("J6").Value = ""
>  Range("E10").Value = Format(日付, "yyyy/mm/dd")
>>  Dim II As Integer, RR As Long, CC As Long
>>  For II = 1 To 14
>>   Select Case II
>>     Case 1 To 7: RR = 7 + II * 3: CC = 6
>>     Case Else:  RR = 24 + II:   CC = 5
>>   End Select
>>   '
>>   Worksheets("調書").Cells(RR, CC) _
>>        .Value = "=Calendar!H" & (4 + II)
>>  Next
>>  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
>>  ActiveSheet.EnableSelection = xlUnlockedCells
>>  Application.Goto Reference:="R10C5"
>>End Sub

【43469】Re:J6に数秒とどまりE10へ移動
発言  とし  - 06/10/16(月) 20:31 -

引用なし
パスワード
   5秒間に表示点滅させているのですがそのコードが
いけないのでしょうか下記に書きます

Option Explicit
 Private myFlag As Boolean

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Call Worksheet_SelectionChange2(Target)
 Dim m As Long, n As Long
 
  If Target.Address <> "$J$6:$P$6" Then
    myFlag = True
  
    Application.EnableCancelKey = xlInterrupt
    Application.Cursor = xlDefault
    Exit Sub
    
  End If
  
  Application.EnableCancelKey = xlDisabled
  Application.Cursor = xlNorthwestArrow

  myFlag = False        
  
  For m = 1 To 20000000
    For n = 1 To 20000000: Next
    
    If Target.Font.ColorIndex = -4105 Then
      Target.Font.ColorIndex = 3
    Else
      Target.Font.ColorIndex = -4105
    End If

    DoEvents
    If myFlag Then Exit Sub
  Next
  
  Application.EnableCancelKey = xlInterrupt

  Application.Cursor = xlDefault
End Sub
以上です。

【43470】Re:J6に数秒とどまりE10へ移動
発言  Hiroko  - 06/10/16(月) 21:07 -

引用なし
パスワード
   ▼とし さん:

>返事ありがとうございます。
>内容が伝わっていない様なのでもう一度書きます。
>J6で5秒程度とどまり5秒後E10へ移動だけでいいのですが
>いかがでしょ。
>あくまでJ6に日付は表示したままでOkです。

少し意味が違いますか・・・?
J6の年月日は削除しないのですか?
E10に年月日を出すまでに5秒カウントして
E10にJ6と同じ年月日を出すということでしょうか?

Range("J6").Value = Format(日付, "yyyy/mm/dd")
  Application.Wait Now + TimeValue("00:00:05")
  'Range("J6").Value = ""
Range("E10").Value = Format(日付, "yyyy/mm/dd")

理解は正しいでしょうか?
それでしたら3行目をコメント処理にして下さい。
これでいけます。テスト済みですので一度試してください。

【43477】Re:J6に数秒とどまりE10へ移動
発言  とし  - 06/10/16(月) 23:58 -

引用なし
パスワード
     ▼Hiroko さん:
ありがとうございます。

>>内容が伝わっていない様なのでもう一度書きます。
>>J6で5秒程度とどまり5秒後E10へ移動だけでいいのですが
>>いかがでしょ。
>>あくまでJ6に日付は表示したままでOkです。
>
>少し意味が違いますか・・・?
>J6の年月日は削除しないのですか?
はいしません
>E10に年月日を出すまでに5秒カウントして
E10は移動先で年月日は不要です
>E10にJ6と同じ年月日を出すということでしょうか?
単純にJ6の5秒間とどまりE10へ移動出来ればいいのですが
#43469 にも書いたとおりフリッカさせているのがわるいのか
フリッカのままE10へ移動してくれません。
上記の様な説明でよろしいでしょうか?

>
>Range("J6").Value = Format(日付, "yyyy/mm/dd")
>  Application.Wait Now + TimeValue("00:00:05")
>  'Range("J6").Value = ""
>Range("E10").Value = Format(日付, "yyyy/mm/dd")
>
>理解は正しいでしょうか?
>それでしたら3行目をコメント処理にして下さい。
>これでいけます。テスト済みですので一度試してください。

【43486】Re:J6に数秒とどまりE10へ移動
お礼  とし  - 06/10/17(火) 9:55 -

引用なし
パスワード
   ▼Hiroko さん:
ichinoseさん
ありがとうございました。
質問の仕方が悪く困惑させてしまいました。

6731 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free