|
本帖最后由 xdragon 于 2014-8-21 20:42 编辑
张雄友 发表于 2014-8-21 20:21
您帮我看看,红字代码哪里用得对不对? 要不要改成其它?
Sub 人性化选择问题()
你要选择区域的画,代码就没这么容易了。需要考虑不是第一行开始,还有选择的最后一个单元格有空白单元格的情况。
- Sub 人性化选择问题()
- On Error Resume Next
- Dim arr, st&, en&, rng As Range, n&, m%, i&, j%
- Set rng = Application.InputBox("请选择源区域", "温馨提示", , , , , , 8)
- If rng Is Nothing Then Exit Sub
- n = rng.Row - 1: m = rng.Column - 1
- rng.UnMerge
- arr = rng.Value
- For j = 1 To UBound(arr, 2)
- For i = 1 To UBound(arr)
- If Len(arr(i, j)) Then
- st = i - 1
- If en Then Range(Cells(en + n, j + m), Cells(st + n, j + m)).Merge
- en = i
- End If
- Next
- If st < en Then Range(Cells(en + n, j + m), Cells(UBound(arr) + n, j + m)).Merge
- st = 0: en = 0
- Next
- End Sub
复制代码 支持多行多列。。。 |
|