【发布时间】:2018-03-21 11:16:04
【问题描述】:
我将列名(A、B、C、AB、AC、、、、)存储在字符串变量中。
我的要求是获取列号。在此之前,我想检查给定的列名是否有效。例如AD,AC,DF,ER,FC,KL 有效,而World,kavisuja 无效。
如果我有有效的列名,我可以通过以下代码获得:
Range(ColumnChar & 1).Column
【问题讨论】:
-
检查字符串是(1个字符)还是(2个字符)或者(3个字符和
-
你用的是什么版本的excel?您可以使用正则表达式(字符串等于或小于 3 个属于 [A-Z] 范围的字符)。如果第一个字符是“X”,那么第二个必须是“F”或更小,第三个字符不能超过“D”
-
@YowE3K 这里为什么我们检查(3 个字符和
-
当您可以将您的范围分配给一个变量并查看它是否有效时,您似乎会遇到很多麻烦? (例如
On Error Resume NextSet rng = NothingSet rng = Range(your_range_string)On Error GoTo 0If rng Is Nothing Thensome sort of error processingElsesome sort of processingEnd If -
"XFD"是当前工作表中的最后一列。所以"XFD" < "XFE"是True,但"ZAB" < "XFE"是False。 (P.S. 你甚至可以测试Len(ColumnChar) < 4 And Right("AA" & ColumnChar, 3) < "XFE"然后不必担心为一个和两个字符串做不同的事情。)