excel - 用vba排序
解决方案
我可能最好在创建数组之前删除空范围,但这是分配名称的一种方法:
将范围加载到数组中,然后遍历数字并查找空范围。这假设我们正在使用列“A”和“B”(1 和 2),从顶部开始。
Sub test()
Dim arr As Variant
Dim lastRow As Long, i As Long, j As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
arr = Application.Transpose(Range("B2:B" & lastRow))
Range("B2:B" & lastRow).Clear
j = 1
For i = 2 To lastRow
Cells(i, 2) = arr(j)
j = j + 1
If j >= UBound(arr) Then Exit For
While arr(j) = "" And j < UBound(arr)
j = j + 1
Wend
While Not Cells(i, 1).Value = ""
i = i + 1
Wend
Next i
End Sub
任何剩余的名称都将被删除
推荐阅读
- count - PowerBI:获取客户数量
- powershell - 如何在 PowerShell 自定义对象道具值返回上添加日期格式?
- google-sheets - 如果特定文本等于 Google 表格中的某些内容,则删除直到特定文本的所有后续行值
- r - 如何根据 ifelse 条件在 RShiny 中显示单个图?
- sql-server - Always On 故障转移集群实例和日志传送
- javascript - 从上一页键入脚本类型
- html - 使用单选按钮为输入表单重置 HTML 的 CSS
- python - 在 python3 中从 SQLlite3 中删除
- python - Python Lambda 错误——没有名为“zope.interface”的模块
- css - 当我在 nodejs 中转到 localhost/about/{randomtext} 时,CSS 文件未应用于 404 错误页面