VBA – SAP Nummernformat per Button in Excel

Wer viel mit SAP arbeitet, und diverse Materialnummern ausleitet, muss viel mit Excel arbeiten. Da im R/3 die Materialnummern nicht immer im vorgeschriebenen Format ausgegeben werden, müssen die im Nachhinein für die weiteren Abläufe neu formatiert werden, dass kostet Zeit und Nerven. Mit dem kleinen XLA, welches ich hier bereit stelle, werden all markierten Bereiche auf Numerisch geprüft und falls diese Prüfung true ist, werden die Bereiche als SAP-Nummer (000000-0000-000) formatiert. Diese Anwendung muss man natürlich nicht nur für SP nutzen. Die Abfrage des markierten Bereiches kann man auch in anderen Anwendungen gebrauchen.

Screenshot SAP-Nr in ExcelWer viel mit SAP arbeitet, und diverse Materialnummern ausleitet, muss viel mit Excel arbeiten. Da im R/3 die Materialnummern nicht immer im vorgeschriebenen Format ausgegeben werden, müssen die im Nachhinein für die weiteren Abläufe neu formatiert werden, dass kostet Zeit und Nerven. Mit dem kleinen XLA, welches ich hier bereit stelle, werden all markierten Bereiche auf Numerisch geprüft und falls diese Prüfung true ist, werden die Bereiche als SAP-Nummer (000000-0000-000) formatiert.
Diese Anwendung muss man natürlich nicht nur für SP nutzen. Die Abfrage des markierten Bereiches kann man auch in anderen Anwendungen gebrauchen.

Installation des XLA:

  1. Das XLA in euren AddIns-Ordner kopieren (Documents and Settings\USER\Application Data\Microsoft\AddIns)
  2. Das icon unter c:\icons\ ablegen
  3. MS Excel starten
  4. Menu: Extras --> AddIns
  5. SAP-Nr auswählen
  6. Nun gibt es in der Format-Leiste einen neuen Button "SAP", Bereich mit Zahlen etc. markieren und Button clicken

Download:

Download als ZIP-Datei: SAPNr.zip - 2 KByte

VBA-Code:

VBA in der Arbeitsmappe:


Option Explicit

Private Sub Workbook_Open()
    Symbolleiste_erweitern
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Symbol_Loeschen
End Sub

VBA im Modul:


Option Explicit
Dim CB As Object, picPath, myPic
Const SAP = "SAP-Nr"

Sub Symbolleiste_erweitern()
    Symbol_Loeschen
    picPath = "c:\icons\"
    Set myPic = stdole.StdFunctions.LoadPicture(picPath & "sap.jpg")
    Set CB = Application.CommandBars("Formatting").Controls.Add(msoControlButton)
    With CB
        .Caption = SAP
        .Picture = myPic
        ' .FaceId = 66
        .OnAction = "Wandeln"
        .Visible = True
    End With
End Sub

Sub Symbol_Loeschen()
    On Error Resume Next
    Application.CommandBars("Formatting").Controls(SAP).Delete
    On Error GoTo 0
End Sub

Sub Wandeln()
Dim Z, S, c As Object
    'Z = ActiveCell.Row
    'S = ActiveCell.Column
    For Each c In Selection
        c.Value = Format(c.Value, "000000-0000-000")
    Next c
End Sub

Kommentare sind geschlossen.