将stringvariables传递给MSExcel VBA
我试图build立一个macros,将从一个命名的范围中读取单元格值,然后通过添加一个前缀来修改该值,然后将其传递给Range调用。
基本上,我有一个下拉菜单用于select一个层,然后执行macros时,它应该select一个表,然后取消隐藏范围的基础上。
Dim rCell As Range Dim StrSheetSelect As String Set rCell = Range("ProjectTier") Dim Tier As String Dim rTier As Range ' Sheet 1 - Assess and Initiate Set Tier = "AI+'rCell'" Set rTier = Tier StrSheetSelect = "1. Assess and Initiate" Sheets(StrSheetSelect).Select ActiveSheet.Range("Tier").Select Selection.EntireColumn.Hidden = False ActiveSheet.Range("Tier").AutoFilter Field:=1, Criteria1:="<>NA", Operator:=xlAnd
我在“设置层”function中出现“需要对象”错误。 一般来说,我对excel vba和vb很不熟悉
谢谢!
我看到一些问题。 首先,“设置”仅用于对象。 在VBA中string是内置types,而不是对象。 所以抛出错误的行应该开始:
Tier = "AI ...
然后,RHS是一个文字string,但它看起来像试图从rCell获取值。 另外,连接string使用'&'而不是'+'。 尝试类似
Tier = "AI" & rCell.Value
然后将其转换为一个范围,你需要像这样的东西:
Set rTier = Range(Tier)
希望有所帮助