VBA方法参数的默认值是什么?

VBA方法参数的默认值是什么?,vba,excel,Vba,Excel,我是vba新手,不知怎么的,我搞不懂这个。我试图找出vba方法参数的默认值是什么,因为我想缩短我的脚本(而不必一直定义它) 例如 Sheets(ComboBox1.Value).Columns(2).Find(What:="Example", _ LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False) 我在一个子程序中使用了很多相同的参数,我

我是vba新手,不知怎么的,我搞不懂这个。我试图找出vba方法参数的默认值是什么,因为我想缩短我的脚本(而不必一直定义它)

例如

Sheets(ComboBox1.Value).Columns(2).Find(What:="Example", _
 LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _ 
 SearchDirection:=xlNext, MatchCase:=False)
我在一个子程序中使用了很多相同的参数,我想省去每次写出来的麻烦。如果它们是默认值,我可以直接删除它们。但是我在任何地方都找不到这个方法的默认值

所以我想出了自己的定义

Public Function FindVal(What As Variant, Optional After As Variant, _ 
   Optional LookIn As Variant = xlValues, Optional LookAt As Variant = _     
   xlPart, Optional SearchOrder As Variant, Optional SearchDirection As _ 
   Variant = xlNext, Optional MatchCase As Boolean = False, Optional _ 
   MatchByte As Boolean, Optional SearchFormat As Variant)
FindVal = Find(What=What, After=After, LookIn=LookIn, LookAt=LookAt, _ 
   SearchOrder=SearchOrder, SearchDirection=SearchDirection, _
   MatchCase=MatchCase, MatchByte=MatchByte, SearchFormat=SearchFormat)
End Function
但我相信有更简单的方法,对吗


非常感谢您的帮助

MSDN是你的朋友。只需在谷歌上搜索“Range.Find”

例如:

Ctrl+I
是一种快捷方式,如果您不想每次都去MSDN,您需要它。 这是当您选择“替换”并按“Ctrl+I”键时得到的结果:

另外,在键入参数时,等待参数显示,默认值为=而默认值正好是这个值。请注意,对于find等方法,有很多可选参数,但只有少数具有默认值。这是因为VBA会尝试猜测您想要什么,或者会使用您为这些可选参数指定的最后一个参数,所以如果您开始忽略这些参数,并且开始发生奇怪的事情,请小心。谢谢!msdn确实会显示参数,但并不总是显示默认值。对于
Range.Find
,提到了
MatchCases
有一个默认值,但对于
SearchDirection
则没有(尽管
xlNext
是默认值)。在我看来,如果有默认值的话,增加一个列是非常有帮助的。这也可能给你一些进一步改进脚本的想法: