Excel VBA質問箱 IV

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

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


2 / 13339 ツリー ←次へ | 前へ→

【81071】範囲を選択して1セルずつコピー riki 19/8/14(水) 2:27 質問[未読]

【81072】Re:範囲を選択して1セルずつコピー ピンク 19/8/14(水) 7:07 発言[未読]
【81073】Re:範囲を選択して1セルずつコピー ピンク 19/8/14(水) 11:21 発言[未読]
【81074】Re:範囲を選択して1セルずつコピー ピンク 19/8/14(水) 11:25 発言[未読]
【81075】Re:範囲を選択して1セルずつコピー riki 19/8/14(水) 19:21 お礼[未読]

【81072】Re:範囲を選択して1セルずつコピー
発言  ピンク  - 19/8/14(水) 7:07 -

引用なし
パスワード
   ▼riki さん:
>例えばA1の値をB2:G5の範囲に1分ごとにB2,B3,B4,B5,折り返してC2,C3・・・と
Sub Test()
  Dim c As Long, r As Long
  For c = 2 To 7
    For r = 2 To 5
      Range("A1").Copy Cells(r, c)
      Application.Wait (Now + TimeValue("00:01:00"))
    Next
  Next
End Sub

【81073】Re:範囲を選択して1セルずつコピー
発言  ピンク  - 19/8/14(水) 11:21 -

引用なし
パスワード
   Sub Test() では Application.Wait を使っているので
マクロ実行中はセルの操作ができないので
Application.OnTimeに変更しました。

Option Explicit
Dim myTime As Date
Dim myAddress As String
Sub 自動転記()

  If myAddress = "" Then
    myAddress = "B2"
  ElseIf myAddress = "$G$5" Then
    MsgBox "おわり"
    myAddress = ""
    Exit Sub
  ElseIf Range(myAddress).Row = 5 Then
    myAddress = Range(myAddress).Offset(-3, 1).Address
  Else
    myAddress = Range(myAddress).Offset(1).Address
  End If
  Range("A1").Copy Range(myAddress)
  myTime = Now + TimeValue("00:00:01")
  Application.OnTime TimeValue(myTime), "自動転記"
End Sub
Sub 自動転記停止()
  On Error Resume Next
  Application.OnTime TimeValue(myTime), "自動転記", , False
  myAddress = ""
  On Error GoTo 0
End Sub

【81074】Re:範囲を選択して1セルずつコピー
発言  ピンク  - 19/8/14(水) 11:25 -

引用なし
パスワード
   >1分ごとにB2,B3,B4,B5,折り返して
myTime = Now + TimeValue("00:00:01")
  ↓に訂正
myTime = Now + TimeValue("00:01:00")

【81075】Re:範囲を選択して1セルずつコピー
お礼  riki  - 19/8/14(水) 19:21 -

引用なし
パスワード
   ▼ピンク さん:
>>1分ごとにB2,B3,B4,B5,折り返して
>myTime = Now + TimeValue("00:00:01")
>  ↓に訂正
>myTime = Now + TimeValue("00:01:00")

ご丁寧に回答いただき、ありがとうございます。
さっそく試してみます。

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