Excel中使用一个声明variables在另一个子

我想在这里做的是使用我声明的“vSelection”在另一个小组,但它似乎并没有工作。 也许任何人都可以帮助我?

这是我宣布的地方。

Public Sub cmdBladeren_Click() 

 Dim vSelection As Variant vSelection = Application.GetOpenFilename("Graphics files (*.gif), *.gif") 

 If vSelection = False Then MsgBox "Selecteer een foto!" Exit Sub End If End Sub 

这是我想要使用它的地方

 Private Sub btnOK_Click() Dim rngRange As Range Dim rngProduct As Range Dim lTop As Long Dim lLeft As Long Dim oShape As Shape Set rngRange = Range("C2:O100") For intteller = 1 To 7000 If rngRange.Cells(intteller).Interior.Color = RGB(146, 208, 80) Then Set rngProduct = rngRange.Cells(intteller) rngProduct.Interior.Color = RGB(193, 130, 67) lTop = rngProduct.Top lLeft = rngProduct.Left 

  Set oShape = ActiveSheet.Shapes.AddPicture(vSelection, True, True, lLeft, lTop, 100, 192) 

 rngProduct.Offset(1, 0).Value = Me.txtNaamProduct.Value Exit For Else End If Next Unload frmNieuwProduct End Sub 

您需要了解variables的范围

范围如何声明variables

仅限过程 – 通过在使用variables的过程中使用Dim或Static语句

仅模块 – 通过在模块中的第一个Sub或Function语句之前使用Dim语句

所有模块中的所有过程 – 通过在模块中的第一个Sub或Function语句之前使用Public语句