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
ネイサンにする必要が定義する場所それはあなたの迅速な返信いただき、誠にありがとうござい開始します! – MGs
問題はありません、10000を 'EURGBP.Rows.Count'に変更することもできます –
そのような意味ですか? EURGBP.Cells(EURGBP.Rows.Count.End(xlUp).Row + 1、1) – MGs