をコピーするとき、私は私の新しいVBAコードで若干の問題を持っているすべての先行ゼロを失う: 私はデータベースが含まれている2枚(+1があるExcelを持っています)。シート1には列Gの電話番号が050-7080-6030/301-123-456/06-1234-4567などの形式で含まれています。これをシート2にコピーし、同時に「 - 」を削除する必要があります私はテーブルを作成することでこれを達成しました。さまざまな理由から、以下のコードを参照してください。私は単に複写部分の記録を使って値として貼り付けましたが、シート2では2番目のマクロを実行した後に先行ゼロをすべて失います。私はシート全体(両方)とNumberFormat =のようなvbaコードでもテキストをセル形式で適用しようとしましたが、何も動作しないようです。どのようにこれを解決するためのアイデア?前もって感謝します!ここ はコードです:VBA - ここ</p> <p>は何が起こっているのか..です
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
コピーする前にSheet2のセルをテキストとしてフォーマットすると問題なく動作します。 –
私はあまりにも、しかし、それは動作しないと思った。私はそれをシート全体に適用しようとしましたが、列だけ、セル。それは毎回同じ結果です。 – llorcs
プレフィックスの究極の回避策を試しましたか?アポストロフィ(一重引用符)で –