Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 158
  • Last Modified:

Passing a optional argument

Hi experts
I have 5 mshflexgrids on a form 3 are contained in pictureboxs I am trying adjust the grids widths, based on the column widths and am trying to also set the picture widths as optional argument. The code below works fine if i pass the picture argument, but fails if with don't with a "Object variable not set" error message. How can i correct this?

Sub AdjustGridWidth(grd As MSHFlexGrid, Optional pic As PictureBox)
    Dim i As Integer
    Dim iWidth As Integer
   
 With grd
    For i = 1 To .Cols - 1
    iWidth = iWidth + .ColWidth(i) + 13
    .Width = iWidth
   Next i
 End With
   
  If IsMissing(pic) Then
    Exit Sub
   End If
   
    With pic
    pic.Width = iWidth
    End With
 
   
    End Sub
0
isnoend2001
Asked:
isnoend2001
2 Solutions
 
Patrick MatthewsCommented:
Replace:

  If IsMissing(pic) Then
    Exit Sub
   End If

with:

  If pic Is Nothing Then
    Exit Sub
   End If

IsMissing only works whne the argument is defined as Variant.
0
 
PaulHewsCommented:
Try this instead.  IsMissing only works with variants.  (See the help.)
Sub AdjustGridWidth(grd As MSHFlexGrid, Optional pic As PictureBox = Nothing)
    Dim i As Integer
    Dim iWidth As Integer
    
    With grd
        For i = 1 To .Cols - 1
            iWidth = iWidth + .ColWidth(i) + 13
            .Width = iWidth
        Next i
    End With
    
    If Not pic Is Nothing Then
        With pic
            pic.Width = iWidth
        End With
    End If
End Sub

Open in new window

0
 
isnoend2001Author Commented:
Thanks both work perfect
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now