나는 나의 새로운 VBA 코드에 약간의 문제가 복사 할 때 여기에 VBA
가 무슨 일이야입니다 .. 모든 앞에 0을 잃는 : 을 나는 데이터베이스를 포함하는 두 개의 시트 (+1가 엑셀을). 시트 1은 전화 번호 G에 050-7080-6030/301-123-456/06-1234-4567 등의 전화 번호를 포함합니다.이 번호를 시트 2에 복사하고 동시에 "-"(나는 테이블을 생성함으로써 이것을 달성했습니다 - 다양한 이유에서 아래 코드를 참조하십시오.) 나는 단순히 값을 붙이기 위해 복사하는 부분에 녹음을 사용했다.이 값은 단지 잘 동작하지만, Sheet 2에서는 두 번째 매크로를 실행 한 후에 모든 선행 0을 잃어 버렸다. 전체 시트 (둘 다) 및 심지어 NumberFormat = 같은 VBA 코드에 대한 텍스트로 셀 서식을 적용하는 시도했다 ... 그러나 아무것도 작동하는 것. 어떤 생각이 어떻게 해결할 수 있습니까? 미리 감사드립니다! 문제는 Excel에서 교체를 처리하는 방식에 발생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
접두어를 붙이는 궁극적 인 해결 방법을 시도해 봤니? 아포스트로피 (작은 따옴표)로? –