Vba 忽略括号按字母顺序对字符串排序
我有八个不同的变量,可以有值也可以没有值。它们看起来像这样:Vba 忽略括号按字母顺序对字符串排序,vba,Vba,我有八个不同的变量,可以有值也可以没有值。它们看起来像这样: A= "h" B= "(z)" C= "a" D= "" E= "[st]" F= "" G= "xx" H= "(t)" 我需要它们按字母顺序排列(必须包括括号): 我知道如何把它们放在一根绳子里,以及如何把“,”放在正确的地方 我如何按字母顺序排列它们,而忽略括号 要排除emtpy值并为每个值添加逗号,请执行以下操作: If IsEmpty(HH) = False Then HHH = HH.Value & "," 为
A= "h"
B= "(z)"
C= "a"
D= ""
E= "[st]"
F= ""
G= "xx"
H= "(t)"
我需要它们按字母顺序排列(必须包括括号):
我知道如何把它们放在一根绳子里,以及如何把“,”放在正确的地方
我如何按字母顺序排列它们,而忽略括号
要排除emtpy值并为每个值添加逗号,请执行以下操作:
If IsEmpty(HH) = False Then HHH = HH.Value & ","
为了将它们放在一起,我使用了“&”函数
要删除最后一个逗号,请使用:
If Right$(StrHoribez, 1) = "," Then StrHoribez = Left$(StrHoribez, Len(StrHoribez) - 1)
字母排序可以在这些步骤之间进行
我怎样才能做到这一点?可能有数组,但我没有使用这些数组的经验。使用Excel工作表:
使用
Replace()
删除非文本字符结果是否必须包含非文本字符?您将其标记为Excel问题。您可以将这些值放入Excel工作表中,进行排序,然后再次检索。对于VBA排序数组:@D_Bester,谢谢您的评论。在Excel中排序时,它会将所有带括号的变量放在一起,而不是忽略它。此外,这也必须在将来自动工作。我扔掉了Excel标签。对不起,如果这让人困惑的话。
StrHoribez = BBB & CCC & DDD & EEE & FFF & GGG & HHH & III
If Right$(StrHoribez, 1) = "," Then StrHoribez = Left$(StrHoribez, Len(StrHoribez) - 1)