Как записать данные одного листа Excel и сохранить другой лист после интервала - PullRequest
0 голосов
/ 16 октября 2019

Я получаю код VBA для этого, но я не могу собирать данные построчно. В нем хранятся только данные по столбцам.

Set Capture = Worksheets("Sheet1").Range("A1:C5")

Этот код захватывает данные Сначала столбец A1 - A5, затем столбец B1 - B5 в той же строке и т. Д. Но я пытаюсь захватить, как сначала от А1 до С1 в одном ряду, затем от А2 до С2 в следующем ряду и так далее. Есть ли способ, которым я могу поставить это? Скриншот проблемы

Dim NextTime As Double



Sub RecordData()
Dim Interval As Double
Dim cel As Range, Capture As Range
Interval = 5    'Number of seconds between each recording of data
Set Capture = Worksheets("Sheet1").Range("A1:C5") '****Problem in this code.Only****
With Worksheets("Sheet2")   'Record the data on this worksheet
Set cel = .Range("A5")  'First timestamp goes here
Set cel = .Cells(.Rows.Count, cel.Column).End(xlUp).Offset(1, 0)
cel.Value = Now
For i = 1 To 5
cel.Offset(0, 1 + (i - 1) * Capture.Rows.Count).Resize(1, Capture.Rows.Count).Value = 
Application.Transpose(Capture.Columns(i).Value)
Next i

End With

NextTime = Now + Interval / 86400
Application.OnTime NextTime, "RecordData"
End Sub

1 Ответ

0 голосов
/ 18 октября 2019

Правильный код может быть переписан как:

Dim NextTime As Double 
Sub RecordData()
Dim Interval As Double
Dim cel As Range, Capture As Range
Interval = 5    'Number of seconds between each recording of data
Set Capture = Worksheets("Sheet1").Range("A2:N2") 'Capture this column of data
With Worksheets("Sheet2")   'Record the data on this worksheet
Set cel = .Range("A5")  'First timestamp goes here
Set cel = .Cells(.Rows.Count, cel.Column).End(xlUp).Offset(1, 0)
cel.Value = Now
cel.Offset(0, 1).Resize(1, Capture.Cells.Count).Value = Capture.Value


End With

NextTime = Now + Interval / 86400
Application.OnTime NextTime, "RecordData"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...