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.
Installation des XLA:
- Das XLA in euren AddIns-Ordner kopieren (Documents and Settings\USER\Application Data\Microsoft\AddIns)
- Das icon unter c:\icons\ ablegen
- MS Excel starten
- Menu: Extras –> AddIns
- SAP-Nr auswählen
- 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