|
yuzha 发表于 2013-5-17 11:09
谢谢ligh1298给了我另外一个VB的程序,我试过了,也可以用的。
但是因为我是VB的新手,或者说连新手都称 ...
'我也是一VBA小白,可能说的不是那么准。
Sub Macro3()
Dim R%, k%, sht1 As Worksheet, sth2 As Worksheet '申明变量
Set sht1 = Sheets("Pre-Questionnaire") '以下可用sht1替代 Sheets("Pre-Questionnaire")
Set sht2 = Sheets("统计汇总") '以下可用sht2替代Sheets("统计汇总")
R = sht2.[b65536].End(xlUp).Row + 1 '统计汇总表中B列有数据的最大行号加一
If R < 4 Then R = 5
With sht2 '这部分你懂,是数据的写入
.Cells(R, 1) = sht1.Range("C4")
.Cells(R, 2) = sht1.Range("j27")
.Cells(R, 3) = sht1.Range("k27")
.Cells(R, 4) = sht1.Range("n27")
.Cells(R, 5) = sht1.Range("o27")
.Cells(R, 6) = sht1.Range("p27")
.Cells(R, 7) = sht1.Range("q27")
.Cells(R, 8) = sht1.Range("r27")
.Cells(R, 9) = sht1.Range("s27")
.Cells(R, 10) = sht1.Range("t27")
.Cells(R, 11) = sht1.Range("u27")
.Cells(R, 12) = sht1.Range("b21")
End With
For Each rn In sht2.Range("b4:b" & R - 1) '遍历统计汇总表的B列第4行及以下有数据单元格
k = k + 1 '计数、累加
sht2.Cells(k + 4, 1) = k '得到序号
Next
sht2.[c1] = k '在C1单元格统计出参与人数
sht1.Range("i27:u27").ClearContents '清空
sht2.Activate '激活“统计汇总表”
MsgBox "谢谢参与,信息已经保存"
End Sub |
|