|
比如,我现在有个变量里面的单元格是 A4,A3933:A3934,我想去掉第一个单元格,只得到A3933:A3934,类似union的反向作用。
我试过直接处理文字,通过address的取字符操作,一般情况下倒是可以得到正确结果,只是遇到A4:A18这种,我原来想要的是A5:A18,但是这么做的结果就只得到了A18。。。。。。。。
我再能想到的方法是用for循环挨个弄了,不过想想就一点也不美
请问大大们有没有别的方法啊
- Sub tt()
- Dim Temp As Range, Temp1 As Range
- Set Temp = Range("$A$1:$B$5,$C$3:$D$5,$F$1:$F$2")
- ' Set Temp = Range("$A$1,$C$3:$D$5,$F$1:$F$2")
- ' Set Temp = Range("$C$3:$D$5")
- ' Set Temp = Range("$C$3")
- p = InStr(Temp.Address, ",")
- If p = 0 Then fst = Temp.Address Else fst = Left(Temp.Address, p - 1) '第一个字符
- Set Temp1 = Range(fst): n = Temp1.Cells.Count
- If n > 1 Then Set Temp1 = Range(Temp1.Cells(2), Temp1.Cells(n)) Else Set Temp1 = Nothing
- If p = 0 Then
- If Not Temp1 Is Nothing Then Set Temp = Temp1
- Else
- If Not Temp1 Is Nothing Then Set Temp = Union(Temp1, Range(Mid(Temp.Address, p + 1))) Else Set Temp = Range(Mid(Temp.Address, p + 1))
- End If
- Debug.Print Temp.Address
- End Sub
复制代码
|
|