求大大帮忙解决一下小小的问题列获取前几位!
'手机号码
Range("I4:I10000").Copy
Worksheets(1).Range("I4:I10000").SpecialCells(xlCellTypeVisible).Copy Worksheets(2).Range("I4")
'联系电话
Range("I4:I10000").Copy
Worksheets(1).Range("I4:I10000").SpecialCells(xlCellTypeVisible).Copy Worksheets(2).Range("H4")
背景:现在软件导出的excel表,表1内的 I列 内有手机号码和座机号码,点击转换后会自动复制此列到表2,但是因为是拷贝全部可见的,现在我只想联系电话取表1内的I列 前11位,手机号码取表2的后12为,怎么去写?试过多方式都没成功 该回复于2013-10-30 09:06:31被管理员删除 听不懂啊,有心为你解答,但是完全看不出来要拷贝列的数据格式,能把数据列的格式给个例子吗? 没听懂你的数据格式,不过可以按照这样的方法建个宏,下面的取前11位的代码
for i=4 to 10000
'取前11位
Worksheets(2).Range("I" & i).value=left(Worksheets(1).Range("I" & i).value,11)
next
下面是取后12位的代码,替换到上边的位置就可以了
'取后12位
Worksheets(2).Range("I" & i).value=right(Worksheets(1).Range("I" & i).value,12)
楼主给的不是数据格式,是他的代码。 方法1:用for...next结构完成
方法2:用“分列”方法也可以完成
Sub Test()
''第一步:提取前11位字符
Sheet1.Range("i4:i10000").TextToColumns Destination:=Sheet1.Range("k4"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 2), Array(8, 2)), TrailingMinusNumbers:=True
''第二步:将分列后的字符复制到sheet2(上一步好像无法直接做到)
Sheet1.Range("k4:k10000").Copy Sheet2.Range("i4") ''复制前面11位
Sheet1.Range("l4:k10000").Copy Sheet2.Range("j4") ''复制剩余部分
End Sub
楼主是哪个国家的?
手机号码“后12位”,难道手机号码总长度已经超过12位的了?
我们国家的手机号码才11位呢……
补充:VB , VBA