本帖最后由 aman1516 于 2021-3-2 12:39 编辑
字符串 t 为:
t = "D18,D15,D22,D23,D24,D25,D12,D11,D10,D7,D4,D3,D27"
各字符代表单元格,无序不规则,如何将其中连续的单元格(t)设置成如下格式:
t = "D3:D4,D7,D10:D12,D15,D18,D22:D25,D27"
附件就不上了,请教下老师如何处理?
3月1日补充:
当字符串存在两种格式时,如:t = "D18,D15,D1:D3,D22,D23,D24,D25,D12,D11,D10,D7,D4,D27:D32"
还是 准提部林 老师的最适用(能排序,唯一缺点是要添加批注,若表格对应单元格有批注时就会产生冲突),
其他的方法在字符串处理时又复杂了许多,若不考虑排序,则还是直接用 Union 方法简单些:
- Sub t99()
- Dim t As String, rng As Range, ran As Range
- t = "D18,D15,D1:D3,D22,D23,D24,D25,D12,D11,D10,D7,D4,D27:D32"
- For Each ran In Range(t)
- If rng Is Nothing Then Set rng = ran Else Set rng = Union(rng, ran)
- Next
- MsgBox rng.Address(0, 0)
- End Sub
复制代码
|