Hallo,
ich möchte mein bestehendes Makro nur durch drei bestimmte User ausführen lassen, nicht durch jeden.
Beispiel:
User darf ausführen: IDeutz + SWiebers + AMoeller
User darf nicht ausführen: RBrunzel
Das Makro wird ausgeführt, indem ein Bild in der Tabelle angeklickt wird. Das Makro ist dem Bild zugewiesen.
Sub NEU_Logomate_csv()
'
' NEU_Logomate_csv Makro
' CSV für LM speichern
Dim Ausgabepfad As String
Dim Ausgabedatei As String
Dim lngLetzte As Long
Dim lngSpalte As Long
Dim Zeile As String
Dim VollZeile As String
Dim Trennzeichen As String
Dim z As Long
'Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
'Ausgabepfad wird festgelegt
Ausgabepfad = "\\192.168.50.9\LogoMate_Transfer\LogoMate\Daten\Manuell\Aktionen\"
'Trennzeichen wird festgelegt
Trennzeichen = ";"
'Ausgabepfad und Dateinamen für Ausgabedatei erstellen - Ausgabename anpassen
Ausgabedatei = Ausgabepfad & "Aktmg_" & Date & "_" & Worksheets("Aktionsplanung").Range("X4").Value & "_" & Worksheets("Aktionsplanung").Range("X2").Value & ".csv"
With Worksheets("Logomate")
'letzte Zeile des Tabellenblatts ermitteln
lngLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
'Falls Ausgabedatei bereits besteht, wird diese gelöscht
If Dir(Ausgabedatei) <> "" Then Kill (Ausgabedatei)
'Datei Öffen zur Ausgabe
Open Ausgabedatei For Output As #1
For z = 1 To lngLetzte
For lngSpalte = 1 To 8
Zeile = Trim(.Cells(z, lngSpalte).Text)
Zeile = Replace(Zeile, Trennzeichen, "") 'ggf in Text vorkommendes Trennzeichen wird gelöscht
VollZeile = VollZeile & Zeile & Trennzeichen
Next lngSpalte
'Ausgabe in Datei
VollZeile = Left(VollZeile, Len(VollZeile) - 1) 'Letzten Semicolon abschneiden
If Len(Replace(VollZeile, Trennzeichen, "")) > 0 Then Print #1, VollZeile
VollZeile = ""
Next z
End With
Close #1 'Datei schliessen
'Bildschirmaktualiserung
If Application.Ready Then
Application.ScreenUpdating = True
End If
'Abschlussmeldung
MsgBox "Aktion speichern übertragen", 64
End Sub
Kann jemand helfen?
Danke und Gruß,
Colatrink