2017-09-19 2 views
0

기존 수식에 문자를 추가하는 방법에 대한 답변을 이미 찾았습니다. 여기서 "O31 : R36"범위의 기존 수식 끝에 "/ 1000"을 추가합니다.Excel의 범위에서 여러 수식 수정

Sub formatCells() 
    For Each cell In Worksheets("Comparison").Range("O31:R36") 
     cell.Formula = cell.Formula & "/1000" 
    Next cell 
End Sub 

변경 사항을 취소하기 위해 매크로를 만들려고 할 때 문제가 발생합니다. SendKeys 메서드를 사용하려고하지만 잘못된 결과가 발생합니다. 이 코드 블록은 Excel 워크 시트에서 F2 키를 눌러 시뮬레이션하려고 할 때 VBA에서 개체 브라우저를 엽니 다. 그렇다면 어떻게 키를 워크 시트에 보낼 수 있습니까? 나는 엑셀 2010

을 사용하고
Sub unFormatCells() 
    For Each cell In Worksheets("Comparison").Range("O31:R36") 
     ActiveCell.Application.SendKeys "{F2}" 
     ActiveCell.Application.SendKeys "{BS 5}" 
    Next cell 
End Sub 
+1

당신은 단순히 당신이 VBA했던 아무것도 실행 취소-명령을 사용할 수 없습니다. – FunThomas

+0

그렇게 할 수는 없습니다. 수식 문자열 자체를 수정해야합니다. – serakfalcon

+0

VBA로 수행 한 작업을 취소 할 수 없다는 것을 알고 있습니다. 그럴 경우를 대비하여 수식을 다시 설정하는 매크로를 만들고 싶습니다. @serakfalcon, 어떻게 수식 문자열에 액세스 할 수 있습니까? – Samppa

답변

0

솔루션 :

Sub unFormatCells()  
    For Each cell In Worksheets("Comparison").Range("O31:R36") 
     cell.Formula = Replace(cell.Formula, "/1000", "") 
     cell.NumberFormat = "#,##0" 
    Next cell 
End sub