我只是在最简单的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。
非常感谢您的帮助。对不起,编码真的不是我的事。
答案 0 :(得分:0)
基本上,您只需要设置两个工作簿的名称,方式与工作表的方式类似。然后,当您在代码中引用工作表时,在它之前添加您给出工作簿的变量(假设其他工作簿具有与现有工作簿相同的工作表名称和结构)。
前一个问题解释了如何引用工作簿: Dynamic Workbook and Worksheet name in Macro or VBA