0

新しい 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
4

1 に答える 1