VBA - аргумент не является необязательной ошибкой в ​​коде - PullRequest
0 голосов
/ 14 июля 2020

Я хотел бы написать код VBA, который проверяет, есть ли в ячейке изображение и печатает ли она что-нибудь (может быть что угодно, в данном случае я выбрал число 1) в той же строке, что и изображение, в столбце # 6.

Я продолжаю получать ошибку «Аргумент не является необязательным» в первой строке подпункта. Любопытно, может ли кто-нибудь мне помочь! Спасибо !!

Function CellImageCheck(CellToCheck As Range) As Integer
' Return 1 if image exists in cell, 0 if not

    Dim wShape As Shape

    For Each wShape In ActiveSheet.Shapes
        If wShape.TopLeftCell = CellToCheck Then
            CellImageCheck = 1
        Else
            CellImageCheck = 0
        End If
    Next wShape

End Function

Sub testFunction()
Dim i As Integer
Application.ScreenUpdating = False
For i = 3 To 10 Step 1
    If CellImageCheck(Cells(i, 1)) Then
        Cells(i, 6) = CellImageCheck
    Else
    End If
Next i
End Sub

1 Ответ

0 голосов
/ 14 июля 2020

Согласно моему комментарию:

Function CellImageCheck(CellToCheck As Range) As Boolean
' Return True if image exists in cell, False if not
    CellImageCheck = False
    
    Dim wShape As Shape
    For Each wShape In ActiveSheet.Shapes
        If wShape.TopLeftCell.Address = CellToCheck.Address Then
            CellImageCheck = True
            Exit For
        End If
    Next wShape

End Function

Sub testFunction()
    Application.ScreenUpdating = False
    With Worksheets("Sheet1") 'Change this to the sheet being tested.
        Dim i As Long
        For i = 3 To 10 Step 1
            Dim bl As Boolean
            bl = False
            bl = CellImageCheck(.Cells(i, 1))
            
            If bl Then .Cells(i, 6) = bl
        Next i
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...