Sub StartparameterSetzen()
On Error GoTo err
Dim i As Integer
Dim lngAllTab As Long, lngEntTab As Long, lngAdmTab As Long, lngUsrTab As Long
Dim strTWPath As String
strTWPath = ThisWorkbook.Path
'Einträge löschen
For i = 1 To Sheets.Count
With Parameter.Cells(1, 1)
.Offset(i, 0).Value = ""
.Offset(i, 1).Value = ""
.Offset(i, 1).Value = ""
End With
Next i
Parameter.Range("E2:E6").Value = ""
Parameter.Range("K2").Value = ""
Parameter.Range("K3").Value = ""
'Tabellenzähler zurücksetzen
'Tabellennamen in Tabelle schreiben
For i = 1 To Sheets.Count
lngAllTab = lngAllTab + 1
With Parameter.Cells(1, 1)
.Offset(i, 0).Value = Sheets(i).Name
.Offset(1, 4).Value = lngAllTab
Select Case Left(Sheets(i).Name, 2)
Case Is = "A_"
.Offset(i, 1).Value = "Administrationstabelle"
.Offset(i, 2).Value = "Nein"
lngAdmTab = lngAdmTab + 1
.Offset(3, 4).Value = lngAdmTab
Case Is = "E_"
.Offset(i, 1).Value = "Entwicklungstabelle"
.Offset(i, 2).Value = "Nein"
lngEntTab = lngEntTab + 1
.Offset(4, 4).Value = lngEntTab
Case Else
.Offset(i, 1).Value = "Benutzertabelle"
.Offset(i, 2).Value = "Ja"
lngUsrTab = lngUsrTab + 1
.Offset(2, 4).Value = lngUsrTab
End Select
End With
Next i
Parameter.Range("A:C").EntireColumn.AutoFit
Parameter.Range("K2").Value = Trim(strTWPath)
Parameter.Range("K3").Value = Trim(Environ("Username"))
Call fncDateinamenErstellen(lngAllTab, lngEntTab, lngAdmTab, lngUsrTab)
'Hier soll der Wert aus der Funktion übernommen werden
strDateiname = fncDateinamenErstellen
Exit Sub
err:
'Errorhandler
MsgBox "Es gab einen Fehler mit der Fehlernummer: " & err.code & vbLf & "und der Fehlerbeschreibung:" & vbLf & err.Description, vbOKOnly + vbCritical, strFM
End Sub
Private Function fncDateinamenErstellen(ByVal lngAnzAllTab As Long, lngAnzEntTab As Long, _
lngAnzAdmTab As Long, lngAnzUsrTab As Long) As String
Const strDateiBez As String = "FR_Mitgliederliste", strUS As String = "_", strBL As String = "\" _
, strDot As String = ".", _
strDateiEndung As String = "xslm", strEMTAG As String = "qad", strVersion As String = "Ver"
Dim strDateiSuffix As String, strEMAbfrage As String, strDateinameBauVorne, _
strDateinameBauHinten
strDateiSuffix = Format(Now(), "yymmdd")
strEMAbfrage = Parameter.Range("N1")
strDateinameBauVorne = strDateiSuffix & strUS & strDateiBez & strUS & strVersion & strUS & _
lngAnzAllTab & strDot & lngAnzUsrTab & strDot & lngAnzAdmTab & strDot & lngAnzEntTab
strDateinameBauHinten = strDot & strDateiEndung
Select Case strEMAbfrage
Case Is = "Ja"
fncDateinamenErstellen = strDateinameBauVorne & strUS & strEMTAG & _
strDateinameBauHinten
Case Else
fncDateinamenErstellen = strDateinameBauVorne & strDateinameBauHinten
End Select
End Function
strDateiname ist eine Globale Variable, deshalb nicht im Sub deklariert.
Meine Frage, wie übernehme ich den Wert der Funktion in diese Variable, so wie ich es geschrieben habe zeigt er mir immer die Fehlermeldung an: Fehler beim Kompilieren, Argument ist nicht optional.
Wer kann mir da helfen? Die Funktion macht genau das was sie soll, das habe ich bereits getestet, weiß nur nicht, wie ich den Wert ins sub bekomme
Danke schon mal