Powerpointer
Powerpointer

Reputation: 13

Compile Error - Argument Not Optional

I am getting error as Compile Error: Argument Not Optional when running vba code pointing towards the line. MsgBox (RemoveFirstChar)

Code:

Sub test()
Dim Currworkbook As Workbook
Dim CurrWKSHT As Worksheet
Dim Filename As String
Dim BCName As String
Dim Str As String

FFolder = "C:\user"
CurrLoc = "File3"

If CurrrLoc = "File3" Then
    CurrLoc = FFolder & "\" & CurrLoc
    Set FSobj = CreateObject("Scripting.FileSystemObject")
    On Error Resume Next
    Set FFolderObj = FSobj.GetFolder(CurrLoc)
    If Err.Number > 0 Then
      '
    End If
    For Each BCObj In FFolderObj.Files
        'BCName = Right(BCObj.Name, (Len(BCObj.Name) - InStrRev(BCObj.Name, "\", 1)))
        If IsNumeric(Left(BCObj.Name, 4)) <> True Then
            Call RemoveFirstChar(BCObj.Name)
            'Str = RemoveFirstChar
            MsgBox (RemoveFirstChar)  '--->Error: Compile Error: Argument Not Optional 
        Else
            MsgBox (BCObj.Name)
        End If
    Next

End If



End Sub

Public Function RemoveFirstChar(RemFstChar As String) As String
Dim TempString As String
TempString = RemFstChar
If Left(RemFstChar, 1) = "1" Then
    If Len(RemFstChar) > 1 Then
        TempString = Right(RemFstChar, Len(RemFstChar) - 1)
    End If
End If
RemoveFirstChar = TempString
End Function

Upvotes: 1

Views: 480

Answers (1)

user4039065
user4039065

Reputation:

RemoveFirstChar is a user defined function that requires a non-optional string as a parameter.

Public Function RemoveFirstChar(RemFstChar As String) As String
     ....
End Function

I think you want to get rid of the Call RemoveFirstChar(BCObj.Name) then use,

MsgBox RemoveFirstChar(BCObj.Name)

Upvotes: 1

Related Questions