Recht so – Links rum!

Wer aus dem ALV-Grid Zahlen kopieren möchte, der erlebt eine Überraschung, wenn im Grid negative Werte dargestellt werden:

2015-10-05_19-53-12

Copy&Paste oder Export

Die Ausrichtung wird korrekt vorgenommen, wenn du das gesamte Grid exportierst oder Excel-Inplace öffnest.

Manchmal möchte man aber nur einen markierten Teil kopieren (STRG+Y / Markieren / STRG+C).

Mit folgendem Visual-Basic-Makro „mivorenali – MInus VOn REchts NAch LInks“ kannst du das Vorzeichen von rechts nach links setzen und das Feld wird wieder als Zahl formatiert. Einfach den gewünschten Zellenbereich markieren und das Makro starten.

Sollte es ein sehr großer Bereich sein, ist es evtl. sinnvoll, die Aktualisierung des Arbeitsblattes auszuschalten:

Application.ScreenUpdating = False

Code

Sub mivorenali()
    
   
  Dim objCell As Range
  Dim vntValue As Variant
 
  If TypeOf Selection Is Excel.Range Then
    'Application.ScreenUpdating = False
    
    'Durchlaufe alle markierten Zellen
        For Each objCell In Selection

            'Wert der Zelle an Variable übergeben
            vntValue = objCell.Value
            
            'Wenn der Wert nicht leer ist
            If Not IsEmpty(vntValue) Then
            If Right(vntValue, 1) = "-" Then
             objCell.Value = "-" & Left(vntValue, Len(vntValue) - 1)
             objCell.NumberFormat = "General"
             objCell.Value = CDbl(objCell.Value)
             End If
            End If
            
        Next
            
    'Application.ScreenUpdating = True
  End If
    
    
End Sub
image_pdfimage_print