'手機號碼
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為,怎么去寫?試過多方式都沒成功
uj5u.com熱心網友回復:
聽不懂啊,有心為你解答,但是完全看不出來要拷貝列的資料格式,能把資料列的格式給個例子嗎?uj5u.com熱心網友回復:
沒聽懂你的資料格式,不過可以按照這樣的方法建個宏,下面的取前11位的代碼for i=4 to 10000
'取前11位
Worksheets(2).Range("I" & i).value=https://bbs.csdn.net/topics/left(Worksheets(1).Range("I" & i).value,11)
next
下面是取后12位的代碼,替換到上邊的位置就可以了
'取后12位
Worksheets(2).Range("I" & i).value=https://bbs.csdn.net/topics/right(Worksheets(1).Range("I" & i).value,12)
uj5u.com熱心網友回復:
樓主給的不是資料格式,是他的代碼。uj5u.com熱心網友回復:
方法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
uj5u.com熱心網友回復:
樓主是哪個國家的?手機號碼“后12位”,難道手機號碼總長度已經超過12位的了?
我們國家的手機號碼才11位呢……
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/136408.html
標籤:VBA
上一篇:關于人臉識別的二次開發???
下一篇:突破950軟體怎么 下載不了
