我正在尝试通过创建不同的宏来增强我的初学者VBA技能。我目前正在制作战舰游戏。我想创建一个非连续范围的联合,它将作为名称管理器下的“referto”添加。然后我将使用它来确定射击镜头是否与这些区域相交。我决定通过名称管理器这样做,因为从我在网上找到的,无论变量的范围如何,变量都会在关闭一本书时失去价值。如果情况并非如此,我很想知道如何在关闭一本书时保留变量值。 (每个玩家将“开火”然后关闭下一个玩家的书。)如果这很重要:有两张纸(玩家的每张纸),并且范围通过用户和输入框保存在变量中。我注意到这不包括地址的Sheet名称部分,我想这会在以后引起问题。我已经能够让名称管理员添加这个联盟,但是指的是五个范围内的所有#n / a,我不记得我是怎么把它弄到那里因为我一直在调整代码试图得到它上班。这是我尝试过的主要两个镜头,我认为应该有效。
Names.Add Name:="P1AllShipsOffset", RefersTo:Union(Player1! & carrierrange2, _
Player1! & battleshiprange2, Player1! & cruiserrange2, Player1! & submarinerange2, _
Player1! & destroyerrange2), Visible:=False
Names.Add Name:="P1AllShipsOffset", RefersTo:Union(carrierrange2, battleshiprange2, _
cruiserrange2, submarinerange2, destroyerrange2), Visible:=False