VBA编程:EXCEL中Range与Cells作为对象使用时的区别.doc
文本预览下载声明
VBA编程:EXCEL中Range与Cells作为对象使用时的区别
本例是魔乐移动精灵的手机通讯录导出备份文件,我们可借此文件在电脑上进行操作,然后再还原到手机,效率极高。这里我要达到以下目的:一、输入的是移动公司做的虚拟缩短号,我单位是69+手机号3位尾数;二、根据“表示为”将“姓”和“名”分开分别填到A和B列。图1是原始文件,图2是计算后的文件。通过VBA编程解决,程序如下:
图1
图2
在“计算短号”命令控件中输入以下程序
Dim n As Long
Private Sub CommandButton1_Click()
For n = 2 To 300
If Sheet1.Cells(n, 38).Value = Then End 38列就是AL
Sheet1.range(a n) = Left(Sheet1.range(AL n), 1)
Sheet1.Cells(n, 2).Value = Trim(Right(Sheet1.Cells(n, 38).Value, 10))
If Sheet1.range(g n) = 同事 Then Sheet1.range(l n) = 69 Right(Sheet1.range(j n), 3)
Next
End Sub
注意:表示单元格时,range是用字符表达的,如“A1”,“B3”等,引号要用半角或英文状态下。而cells是用数字表达的,如“A1”是1行1列cells(1,1),“B3”是3行2列cells(3,2)。
If Sheet1.Cells(n, 38).Value = Then End 判断第N行,38列即AL列,是否为空,真就结束,假就继续,有这一句判断,For n = 2 To 300中的300可以设大一点没有关系。Sheet1.range(a n) = Left(Sheet1.range(AL n), 1)和 Sheet1.Cells(n, 2).Value = Trim(Right(Sheet1.Cells(n, 38).Value, 10))语句都是截取字符串,分别用了range()和cells(),仔细体会其差别。
显示全部