一共5个表
1,报名登记
我一共设计了15项,自己可以更改
2、报名存档
注意:第一行要与登记表第一列一致(顺序 ) 可以用复制--选择性粘贴-转置 完成
【开发模式-visual basic--输入以下代码--保存)
Sub 保存数据()
Dim r, Arr
With Sheets("报名登记")
Arr = Array(.[B2], [B3], [B4], [B5], [B6], [B7], [B8], [B9], [B10], [B11], [B12], [B13], [B14], [B15])
r = Sheets("报名存档").[A65536].End(xlUp).Row + 1
Sheets("报名存档").Cells(r, 1).Resize(, 14) = Arr
'.Range("B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15").ClearContents
End With
End Sub
说明:
其中:Arr = Array(.[B2], [B3], [B4], [B5], [B6], [B7], [B8], [B9], [B10], [B11], [B12], [B13], [B14], [B15])是报名登记表首列单元格
Sheets("报名存档").Cells(r, 1).Resize(, 14) = Arr 一共我设计了14项内容
'.Range("B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15").ClearContents 把报名表按B2-b15顺序复制到报名存档中的第一列至第十四列中去
【开发模式--插入-图标--指定宏--保存数据--确定】
测试下,如何:
3、报名查询
第一、六行与报名存档第一行一致
开发模式-visual basic--输入以下代码--保存)
Sub 高级筛选()
Sheets("报名存档").Range("A1:N65536").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:N2"), CopyToRange:=Range("A6:N6"), Unique:=False
End Sub
说明: 报名存档指的是调用报名存档表格名称
Range("A1:N65536") 调用范围
=Range("A1:N2"), 指的是报名查询的前2行 到n列
CopyToRange:=Range("A6:N6"), 根据查询内容,肥皂剧哦复制内容到第六行之后
【开发模式--插入-图标--指定宏--高级筛选-确定】
4、报名单
A3 =报名查询!M2
C3 =报名查询!B7 姓名
d3 =VLOOKUP($C3,报名查询!$B$7:$N$43,2,0) 查询姓名单元格内容 范围:报名查询!$B$7:$N$43, 第二列
后面单元格和d3 一致
再设计一个简单的打印宏,设置好打印范围等
Sub 打印入学信息表()
ActiveSheet.PrintOut
End Sub
方法同上,不详细解释
5、报名信息打印
c3 =VLOOKUP($K$1,报名存档!$A$2:$N$20,MATCH($B3,报名存档!$A$1:$N$1,0))
以k2内容为标准 查询范围 通过match B3单元格 和存档首列 获取
c4: 同c3类似,
G3=B3 右边的直接饮用左边的数据
閱讀更多 淡墨留餘香 的文章