Excel数据复制和自动保存

Excel数据复制和自动保存,excel,vba,Excel,Vba,我试图将从一个工作表输入的数据复制到另一个工作表中,然后在每次在sheet2的单独一行上完成时,每天保存两次。我遇到了一些问题 我的第一个问题是,当从多个单元格从第一个工作表拉到第二个工作表时,我连接了数据,并且数据没有正确复制,但所有其他字符串列都被连接 第二个问题是,除非特别选择了该工作表,否则按照计时器集自动将数据复制到新行是不起作用的。此功能的主要用途是打开/更新工作表1,并在每一指定时间段保存工作表2的数据,但工作表1始终是运行此功能的机器上打开的工作表 下面是我的一个连接行的示例:

我试图将从一个工作表输入的数据复制到另一个工作表中,然后在每次在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秒重复复制行时,我连接到单个单元格中的字符串将显示为空白,但未连接的其他单元格将复制而不会出现问题。

类似的内容(根据需要调整工作表名称)

已编辑-防止可乐上没有内容的问题

Sub ValueStore()

    With ThisWorkbook.Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
        .Value = Now 'put a timestamp in first cell
        'then copy the values
        .Offset(0, 1).Resize(1, 10).Value = ThisWorkbook.Sheets("Sheet1").Range("A2").Resize(1, 10).Value
    End With

    StartTimer1

End Sub

我不关注您的连接问题。

如果您需要澄清,尽管更新问题很好,但也请在要求澄清的答案下进行评论。要进一步澄清,每5秒重复复制一行时,我连接到单个单元格中的字符串将显示为空白,但未连接的其他单元格将复制而不会出现问题。您的连接公式输入到哪里?是否将计算设置为自动?我将它们输入到表2中,从表1的多个单元格中提取数据。例如=连接(Sheet1!I9,“,”,Sheet1!I10,“,Sheet1!I11,”,“,Sheet1!I12),其中sheet2上的单元格AB-AI连接了sheet2上的数据,这些数据来自Sheet1上的单元格,并且这些数据不会在下一行重复,但所有常规单元格都会重复。