2016-04-29 4 views
0

Gibt es eine Möglichkeit Dezimalwert nach 2 Punkte oder rund 2 ZiffernExcel-VBA-Runde der Nachkommastellen für 2 Punkte oder ganze Blatt

ich unten Code versucht haben, zu entfernen, hat Anzeige geändert, aber Zellwert ist mit dezimal nur

Selection.NumberFormat = 0 #

Beispielwert - 212582,397228849

+0

Ich möchte für das gesamte Blatt nicht für eine Zelle gelten – JGK

+0

Es ist möglich, aber für die gesamte Arbeitsmappe, indem Sie 'Range.NumberFormat =" 0.00 "' und 'ActiveWorkbook.PrecisionAsDisplayed = True" –

+0

Dank @FlorentB. Es funktioniert gut nach der Anwendung PrecisionAsDisplayed True – JGK

Antwort

1

Sie können das Format einer bestimmten Spalte ändern:

Range("A1").EntireColumn.NumberFormat = "#.00" '---> here Column is A 

Oder wenn Sie für eine Reihe Format ändern:

Sub rounding() 
    Dim r As Range 
    Set r = ActiveWorkbook.Worksheets("Sheet1").Range("A1:E20") '--->enter your range here 
    r.NumberFormat = "#0.00" 
    ActiveWorkbook.PrecisionAsDisplayed = True 
End Sub 
+0

HI Dies ist der Code, den ich versucht habe, aber Problem ist, es ist nur ein Display, wenn ich versuche, den Wert von Zellen (1,1) .Value es zeigt den vollen Dezimalwert. – JGK

+0

Gibt es trotzdem PrecisionAsDisplayed = True zu einem anderen Blatt – JGK

+0

Weil ich bereits vorhandene Arbeitsmappe geöffnet und getan habe, also möchte ich diese PrecisionAsDisplayed dort anwenden Wenn ich versuche, objBasesheet.PrecisionAsDisplayed = True zeigt das Objekt nicht unterstützt – JGK

0

ActiveWorkbook.PrecisionAsDisplayed = True dieses Stück Code nach Nach dem Hinzufügen des Formatwechsel dann ist es gut funktioniert

Danke Jungs

Sub rounding() 
    Dim r As Range 
    Set r = ActiveWorkbook.Worksheets("Sheet1").Range("A1:E20") '--->enter your range here 
    r.NumberFormat = "#0.00" 
ActiveWorkbook.PrecisionAsDisplayed = True 
end sub 
0

versuchen, dies unter

Sub decimalcheck() 
    Dim a As Integer 
    Debug.Print Format(Range("G3").Value, "#.00") 
End Sub 
Verwandte Themen