2017-05-16 1 views
0

Excel에서 선택한 범위를 곱하기 위해 사용중인 매크로를 단순화하고 싶습니다. 종종 SAP에서 데이터를 내보내고 그 값은 텍스트 형식으로 작성됩니다. 그들을 숫자로 바꾸는 쉬운 방법은 1을 곱하는 것입니다. 때로는 -1이나 다른 숫자로 값을 곱할 필요가 있습니다. 필자가 필요로하는 매크로를 만들었지 만, 보시다시피 빈 셀을 찾고, 값을 쓰고, 선택한 범위를 곱하고 값을 삭제해야합니다. 빈 셀을 찾아서 그 안에 아무것도 쓰지 않고 매크로를 만들고 싶습니다.선택한 범위에 VBA를 통해 Excel에서 선택된 숫자를 곱하는 방법

Sub macro() 
    Dim Cinitel As Integer 
    Dim PocetRadku As Long 
    Dim PocetSloupcu As Integer 

    Cinitel = InputBox("Enter a number to multiply with") 

    PocetSloupcu = Range("a1").CurrentRegion.Columns.Count 
    PocetRadku = Range("a1").CurrentRegion.Rows.Count 

    Cells(PocetRadku + 1, PocetSloupcu) = Cinitel 
    Cells(PocetRadku + 1, PocetSloupcu).Copy 

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _ 
     SkipBlanks:=True, Transpose:=False 

    Cells(PocetRadku + 1, PocetSloupcu) = "" 

    Calculate 
End Sub 

데이터 객체를 사용하여 클립 보드에 값을 입력 할 수 없습니다.

나는 이런 식으로 뭔가를 내놓았다하지만 분명히 작동하지 않습니다 : 당신은 날

Sub macro1() 
    Dim myString As String 
    Dim number As Integer 

    number = InputBox("Enter a number to multiply with") 
    myString = Selection.Address 
    myString.Formula = Application.Evaluate("=" & myString & "*" & number) 

도와 드릴까요?

+0

을 그냥'할 수 없습니다 Selection.NumberFormat = "0"'당신은 곱셈기가 필요하면'Selection.Value = Selection.Value * (-1) ' – Wolfie

답변

0

이 시도 ..

Sub test1() 

    Dim rng As Range, nbr as integer 

    Set rng = Selection 
    nbr = InputBox("Enter a number to multiply with") 
    rng.Value = Evaluate("IF(" & rng.Address & "<>""""," & _ 
       rng.Address & "*" & nbr & ","""")") 

    Set rng = Nothing 

End Sub 
관련 문제