在表格“表格”中,有表格输入他们在范围内的测试结果(D7:M7),学生姓名的单元格(D2)和他们的主题单元格(D4)。 (D2)和(D4)是“学生”表中的下拉列表和来源。
我还创建了几个主题表
我想将数据从“表格”表格范围(D7:M7)复制到“数学”表格或“物理”表格或等等范围(C4:L23),取决于单元格中选择的内容(D2)和( D4)。 我还添加了activex控制命令按钮“提交”。因此,当我按下“提交”按钮时,“表格”表格范围内的数据(D7:M7),复制到范围内的另一张纸张(C4:L23)。 我需要vba代码来编写“提交”命令按钮,以便完成处理。
答案 0 :(得分:0)
我假设这是“表单”工作表看起来像
“和”主题“工作表如下所示:
单击该按钮时,结果将复制到相应的主题工作表中:
以下是按钮的源代码:
Option Explicit
Dim ResultWorkbook As Workbook
Dim FormWorksheet As Worksheet
Dim SubjectWorksheet As Worksheet
Dim ListRange As Range
Sub CopyResult()
Dim LastRow As Long
Dim CurrentRow As Long
Set ResultWorkbook = Workbooks(ActiveWorkbook.Name)
Set FormWorksheet = ResultWorkbook.Sheets("Form")
Set SubjectWorksheet = ResultWorkbook.Sheets(FormWorksheet.Range("D4").Value)
Set ListRange = FormWorksheet.Range("D7:M7")
Application.ScreenUpdating = False
LastRow = SubjectWorksheet.Cells(Rows.Count, "B").End(xlUp).Row
For CurrentRow = 4 To LastRow
If SubjectWorksheet.Range("B" & CurrentRow).Value = FormWorksheet.Range("D2").Value Then
SubjectWorksheet.Range("C" & CurrentRow & ":L" & CurrentRow).Value = ListRange.Value
End If
Next
End Sub