我的新 VBA 代码有一点问题..
这是发生了什么:我有一个 excel,其中有两张表(+1 包含一个数据库)。表 1 在 G 列中包含以下格式的电话号码:050-7080-6030 / 301-123-456 / 06-1234-4567 等。我需要将其复制到表 2,同时删除“-”(我通过创建一个表来实现这一点 - 参见下面的代码 - 出于各种原因)。我只是使用复制部分的记录将其粘贴为一个值 - 这工作得很好 - 但是,在工作表 2 上,我在运行第二个宏后丢失了所有前导零。我尝试将单元格格式作为整个工作表(两者)的文本,甚至像 NumberFormat = ... 这样的 vba 代码,但似乎没有任何效果。知道如何解决这个问题吗?提前致谢!以下是代码:
Sub copy()
'copy
Rows("4:6").Select
Selection.copy
Sheets("Sheet2").Select
Range("A4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Sub Multi_FindReplace()
Dim wks As Worksheet
Dim fndList As Integer
Dim rplcList As Integer
Dim tbl As ListObject
Dim myArray As Variant
Set wks = Sheets("Sheet2")
Set tbl = Worksheets("DBs").ListObjects("Phone")
Set TempArray = tbl.DataBodyRange
myArray = Application.Transpose(TempArray)
fndList = 1
rplcList = 2
With wks
For x = LBound(myArray, 1) To UBound(myArray, 2)
.Range("G3:I100").Replace What:=myArray(fndList, x), Replacement:=myArray(rplcList, x), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, _
SearchFormat:=False, ReplaceFormat:=False
Next x
End With
End Sub