小试vbs对excel操作
由于工作需要,小试了一下excel的vbs,还蛮好用的,就是又要接触新语言。其实吧,以前也学过vb所以入门很快,就不算什么了。
先来说下需求吧,很简单,就是有一个工作表需要重排,按照模板的需要进行生成。
比如有一个电话表,有姓名和电话。现在要按照部门来分类,已经有一个部门人员姓名的模板了,现在只需要把电话表的对应姓名的电话,填到第二个部门人员姓名的模板就可以了。
下面是写的一段代码,电话默认在第四列,填到第二个表的第五列。假设表最大行数有700行,从第二行开始匹配。第四行为姓名列。
Private Sub CommandButton1_Click()
'使用要点,需要注意4、5列为同样的单元格式,不要有文本和数字穿插
Dim icell As Integer
Dim icell2 As Integer
icell2 = 2
For icell = 2 To 700
'如果为空,则跳过
If Sheet2.Cells(icell2, 4).Value = "" Then
icell2 = icell2 + 1
If icell2 = 700 Then
Exit For
End If
End If
If Sheet1.Cells(icell, 4).Value = "" Then
icell = icell + 1
If icell = 700 Then
Exit For
End If
End If
'如果姓名相同,把原姓名标红,表示已经填到模板表中
If Sheet1.Cells(icell, 4).Value = Sheet2.Cells(icell2, 4).Value Then
Sheet1.Cells(icell, 5).Font.Color = -16776961 '颜色 红
'给模板表赋值
Sheet2.Cells(icell2, 5).Value = Sheet1.Cells(icell, 5).Value
'模板表行数加一
icell2 = icell2 + 1
'电话表回退
icell = 2
End If
Next icell
End Sub
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
这个主题我总找不到最新的更新文章在哪。。。 :twisted:
这个主题不更新了吧,就是这样子了
其实,我的意思是。。。。。 你更新的最新文章。。。。我找不到。。。
恩恩,其实中间那些就是了,有日期哈,不过的确不容易看到新的
呵呵,不知道关了上面那四个方框是不是好点
:arrow: 我老找不到。。。