我正在努力从主表中的数据中填写100个表单实例。我正在寻找一种自动化的方法。
表单包含字段NAME
和DATE
(以及其他字段)我希望创建一个代码,该代码将从一行中获取NAME
和DATE
在主表中,将其填充到单独工作表上的表单中,然后为下一行和工作表重复该过程。例如:
表1:将从行A中取NAME和DATE 表2:将从行B中取NAME和DATE 表3:将从行C获取NAME和DATE ...
我正在尝试用它来学习VB,但到目前为止还没有成功。
答案 0 :(得分:1)
为了我的快速尝试,您的工作表将需要具有相似的名称,并在末尾增加数字(sheet1,sheet2,...),并将主数据表格命名为“MasterData”。此外,它假设您的名字位于A列和日期,B列,以及您从第一行开始。
Sub NameDate()
Dim i As Integer
For i = 1 To 100 'assuming 100 sheets
Sheets("Sheet" & i).Range("A1") = Sheets("MasterData").Range("A" & i) 'placing the name in row i in the Sheet's A1 cell
Sheets("Sheet" & i).Range("B1") = Sheets("MasterData").Range("B" & i) 'placing the date in row i in the Sheet's B1 cell
Next 'next i = next row for the master data sheet AND the next sheet as well
End Sub
这是非常基本的,高度可改进的,如果您不理解,我可以在评论中解释它是如何工作的。
答案 1 :(得分:0)
尝试这样的事情: 我强烈建议您首先在单独的工作表上测试此代码,只需要几个"名称"和"约会" 如果您需要或者需要修改,请告诉我们。
使用以下代码创建一个新按钮:
Dim ColumnA As String
Dim ColumnB As String
Range("A2").Select
Do Until IsEmpty(ActiveCell)
ColumnA = ActiveCell.Value
ColumnB = ActiveCell.Offset(columnOffset:=1).Value
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Range("A1").Value = ColumnA
Range("B1").Value = ColumnB
ThisWorkbook.Sheets("Sheet1").Activate
ActiveCell.Offset(rowOffset:=1).Select
Loop
End Sub