0
일부 Excel 워크 플로를 자동화하기 위해 VBA를 잠시 사용하고 있습니다. 워크 시트를 만들고 반환하는 함수가 있습니다.VBA 함수의 반환 값을 설정하는 중 오류가 발생했습니다.
Dim ws As Worksheet
Dim wb As Workbook
Set wb = Application.ActiveWorkbook
Set ws = makeNewWorksheet(wb)
기능은 다음과 같습니다 :
Function makeNewWorksheet(wb) As Worksheet
Dim wsName As String
Dim ws As Worksheet
Dim newWs As Worksheet
wsName = "Bounced " & Format(Now, "dd-mm-yyyy")
For Each ws In wb.Worksheets
If ws.Name = wsName Then
Set newWs = ws
Exit For
End If
Next
If newWs Is Nothing Then
Set ws = wb.Sheets.Add
With ws
.Name = wsName
.Move after:=Sheets(Sheets.Count)
End With
End If
makeNewWorksheet = ws
End Function
내가 마지막 줄 (makeNewWorksheet = ws
)에 함수의 반환 값을 할당 할 때, 나는 오류가 발생 :
Object variable or With block variable not set
이 상황에서 찾을 수있는 온라인 문서가 없습니다. 모든 것이 정의되고 ws
변수에 값이 있습니다.
편집 : Re. 받아 들인 대답은 아래에있다. Here's은 set
키워드에 대한 설명입니다.
덕분에, 내가 어떤 BASIC 변형을 사용했습니다 이후 오랜 시간이되었습니다. 난 그냥'set' 키워드를 찾아 위의 관련 질문에 연결했습니다. – edoloughlin