新しい VBA コードに少し問題があります。
これが何が起こっているかです:私は2つのシート(データベースを含む+1)があるExcelを持っています。シート 1 の列 G には、050-7080-6030 / 301-123-456 / 06-1234-4567 などの形式で電話番号が含まれています。これをシート 2 にコピーすると同時に、「-」を削除する必要があります (さまざまな理由から、テーブルを作成することでこれを達成しました-以下のコードを参照してください-)。コピー部分の記録を使用して値として貼り付けましたが、これは問題なく機能しますが、シート 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