【发布时间】:2018-06-11 23:29:23
【问题描述】:
我正在尝试将从一个工作表输入的数据复制到另一个工作表中,然后在每次在 sheet2 上的单独行上完成时每天保存两次。我遇到了一些问题。
我的第一个问题是,当从多个单元格从第一张表拉到第二张表时,我已经连接了数据,并且数据没有正确复制,但所有其他字符串列都是。
第二个问题是,除非专门选择了该工作表,否则按照计时器集将数据自动复制到新行不起作用。其主要用途是打开/更新工作表 1,并让工作表 2 每隔指定的时间段保存数据,但工作表 1 将始终是运行机器上打开的那个。
这是我的连接行之一的示例:
=CONCATENATE(Sheet1!I9,", ",Sheet1!I10,", ",Sheet1!I11,", ",Sheet1!I12)
下面的代码是我在测试期间每 5 秒在第二张纸上写一行的代码。当我切换工作表时,它开始将数据粘贴到活动工作表。是否可以指定只输出到 sheet2?
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 秒重复复制该行时显示为空白,但未连接的其他单元格将毫无问题地复制。
【问题讨论】:
-
如果您需要澄清,虽然更新问题非常好,但也请在要求澄清的答案下发表评论。