Я пытаюсь реплицировать данные, введенные из одного листа, в другой, а затем сохранять их дважды в день, когда они завершаются в отдельной строке каждый раз на листе2.Я столкнулся с несколькими проблемами.
Моя первая проблема заключается в том, что я сцепил данные при извлечении из первого листа со второго из нескольких ячеек, и эти данные не реплицируются должным образом, но все остальные строковые столбцы.
Вторая проблемаявляется то, что автоматическая репликация данных в новую строку в соответствии с набором таймера не работает, если этот лист специально не выбран.Основное использование этого будет состоять в том, чтобы лист 1 был открыт / обновлен, а лист 2 - сохранять данные каждый указанный период времени, но лист 1 всегда будет открытым на машине, на которой он будет работать.
Вот пример одной из моих составных строк:
=CONCATENATE(Sheet1!I9,", ",Sheet1!I10,", ",Sheet1!I11,", ",Sheet1!I12)
Код ниже - это то, что я использую для записи строки на второй лист каждые 5 секунд во время тестирования.Когда я переключаю листы, он начинает вставлять данные в активный лист.Можно ли указать только вывод на лист2?
Option Explicit
Public dTime As Date
Sub ValueStore()
Dim dTime As Date
Range("A" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("A2").Value
Range("B" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("B2").Value
Range("C" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("C2").Value
Range("D" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("D2").Value
Range("E" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("E2").Value
Range("F" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("F2").Value
Range("G" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("G2").Value
Range("H" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("H2").Value
Range("I" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("I2").Value
Range("J" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("J2").Value
Call StartTimer1
End Sub
Sub StartTimer1()
dTime = Now + TimeValue("00:00:05")
Application.OnTime dTime, "ValueStore", Schedule:=True
End Sub
Sub StopTimer1()
On Error Resume Next
Application.OnTime dTime, "ValueStore", Schedule:=False
End Sub
Это код, который я использую для кнопок, чтобы запускать и останавливать это:
Private Sub CommandButton1_Click()
Call StartTimer1
End Sub
Private Sub CommandButton2_Click()
Call StopTimer1
End Sub
Обновление
Чтобы уточнить, строки, которые я объединяю в одну ячейку, отображаются пустыми при повторном копировании строки каждые 5 секунд, но другие не объединенные ячейки будут копироваться без проблем.