修改现有数据条目excel电子表格以将数据保存到另一个xls

时间:2014-11-20 03:30:38

标签: excel vba excel-vba

我只是在最简单的Excel数据输入表单之后。我已经对一个非常可用的免费xls表格数据输入表进行了略微修改,并且我想修改它以便将用户输入的数据导出到另一个电子表格(目前它导出到另一个工作表)。

这是我到目前为止的代码。

Option Explicit
Sub UpdateLogWorksheet()
Dim historyWks As Worksheet
Dim inputWks As Worksheet

Dim nextRow As Long
Dim oCol As Long

Dim myRng As Range
Dim myCopy As String
Dim myCell As Range

'cells to copy from Input sheet - some contain formulas
myCopy = "D5,D7,D9"

Set inputWks = Worksheets("Input")
Set historyWks = Worksheets("PartsData")

With historyWks
    nextRow = .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).Row
End With

With inputWks
    Set myRng = .Range(myCopy)

    If Application.CountA(myRng) <> myRng.Cells.Count Then
        MsgBox "Please fill in all the cells!"
        Exit Sub
    End If
End With

With historyWks
    With .Cells(nextRow, "A")
        .Value = Now
        .NumberFormat = "mm/dd/yyyy hh:mm:ss"
    End With
    .Cells(nextRow, "B").Value = Application.UserName
    oCol = 3
    For Each myCell In myRng.Cells
        historyWks.Cells(nextRow, oCol).Value = myCell.Value
        oCol = oCol + 1
    Next myCell
End With

'clear input cells that contain constants
With inputWks
  On Error Resume Next
     With .Range(myCopy).Cells.SpecialCells(xlCellTypeConstants)
          .ClearContents
          Application.GoTo .Cells(1) ', Scroll:=True
     End With
  On Error GoTo 0
End With

用户输入3个字段,同时获取authorid和日期/时间,并将其放入xls文档的工作表中。我希望将此数据发送到另一个指定的电子表格/ xls。

非常感谢您的帮助。对不起,编码真的不是我的事。

1 个答案:

答案 0 :(得分:0)

基本上,您只需要设置两个工作簿的名称,方式与工作表的方式类似。然后,当您在代码中引用工作表时,在它之前添加您给出工作簿的变量(假设其他工作簿具有与现有工作簿相同的工作表名称和结构)。

前一个问题解释了如何引用工作簿: Dynamic Workbook and Worksheet name in Macro or VBA