2016-10-14 15 views
0

VBAでプログラミングを始めましたが、もちろんいくつかの問題に直面しています。 私は私の問題ができるほど良く説明しようとしますが、明確でない場合は教えてください。VBAループの最初のセルを上書きする

今日の特定の時間に、通貨ペアの現在のスポットレートをコピーして、それを別のシートに貼り付けようとしています。次のタイムステップでは、新しいスポットレートを次の行のその列にコピー貼り付けするなどします。 現時点で問題になっているのは、時間を選択した場合などです。 09:00私はそのスポットレートをコピーして貼り付けることができますが、明日は同時に09:00にコードが最初のセルに戻り、値を上書きします。これは私が望んでいない。私は次のセルに貼り付け続けたいと思います。私は私の問題を見ることができるように私のコードを添付しています。私はI = 1

Sub Macro1() 
' 
' Macro1 Macro 

    alertTime = Now + TimeValue("00:00:05") 'hh:mm:ss 
    Application.OnTime alertTime, "Macro1" 

    Dim LTime1 As Date, LTime2 As Date 
    Dim i As Integer, j As Integer 
    Dim USDJPY As Worksheet, EURUSD As Worksheet, Allrates As Worksheet 
    Dim LastRow As Long 

    With Range("P17") 
     .Value = Date 
     .NumberFormat = "dd/mm/yy" 
    End With 

    Set Allrates = Sheets("Allrates") 
    Set EURUSD = Sheets("EURUSD") 
    Set EURGBP = Sheets("EURGBP") 


    LTime1 = TimeValue("09:00:00") 
    LTime2 = TimeValue("12:00:00") 

    i = 1 
    If Range("P20") = LTime1 Then 
     Allrates.Range("B18").Copy EURGBP.Cells(i, 1) 
    End If 

    i = i + 1 

    If Range("P20") = LTime2 Then 
     Allrates.Range("B18").Copy EURGBP.Cells(i, 1) 
    End If 


ActiveWorkbook.RefreshAll 

End Sub 

答えて

0

EURGBP.Cells(i, 1)EURGBP.Cells(EURGBP.RANGE("A10000").End(xlUp).Row+1, 1)

+0

ネイサンにする必要が定義する場所それはあなたの迅速な返信いただき、誠にありがとうござい開始します! – MGs

+0

問題はありません、10000を 'EURGBP.Rows.Count'に変更することもできます –

+0

そのような意味ですか? EURGBP.Cells(EURGBP.Rows.Count.End(xlUp).Row + 1、1) – MGs

関連する問題