EXCEL 如何将空白格去除并自动从左至右,从上至下进行排列
如下:
A B C D E F
1 2 3
4 5 6 7
8 9
1 2 3 4 5
调整为
A B C D E F
1 2 3 4 5 6
7 8 9 1 2 3
4 5
如果分别对奇数行、偶数行进行排列呢
EXCEL 如何将空白格去除并自动从左至右,从上至下进行排列
答案:3 悬赏:0 手机版
解决时间 2021-02-01 06:46
- 提问者网友:浮克旳回音
- 2021-02-01 02:01
最佳答案
- 五星知识达人网友:西风乍起
- 2021-02-01 03:17
运行此宏:
Sub Macro1()
'
' Macro1 Macro
' 宏由 cnmhdzc 录制,时间: 2012-6-7
'
'思路,将要操作的区域有效数据保存到数组,然后按顺序填充到指定区域
On Error GoTo errorlab
Dim i, j, m, vcnt As Integer
Dim ccnt, scnt As Integer
Dim temp()
ccnt = ActiveSheet.UsedRange.Columns.Count '获取已用区域的列数
scnt = ActiveSheet.UsedRange.Cells.Count '获取已用区域的单元格数
ReDim temp(scnt)
m = 0
For Each Ce In ActiveSheet.UsedRange.Cells
If Ce.Value2 <> "" And Not IsNull(Ce) Then
temp(m) = Ce.Value2 '将有效数据存到数组
m = m + 1
End If
Next Ce
vcnt = m '有效数据个数
Sheets.Add '添加工作表
ccnt = InputBox("输入目标区域的列数", "", ccnt) '获取填充区域的列数
ccnt = Int(ccnt)
m = 0
For i = 1 To Int(vcnt / ccnt) + 1
For j = 1 To ccnt
If m > (vcnt - 1) Then Exit Sub '赋值完毕退出程序
Cells(i, j) = temp(m)
m = m + 1
Next j
Next i
errorlab:
MsgBox (Error)
End Sub
Sub Macro1()
'
' Macro1 Macro
' 宏由 cnmhdzc 录制,时间: 2012-6-7
'
'思路,将要操作的区域有效数据保存到数组,然后按顺序填充到指定区域
On Error GoTo errorlab
Dim i, j, m, vcnt As Integer
Dim ccnt, scnt As Integer
Dim temp()
ccnt = ActiveSheet.UsedRange.Columns.Count '获取已用区域的列数
scnt = ActiveSheet.UsedRange.Cells.Count '获取已用区域的单元格数
ReDim temp(scnt)
m = 0
For Each Ce In ActiveSheet.UsedRange.Cells
If Ce.Value2 <> "" And Not IsNull(Ce) Then
temp(m) = Ce.Value2 '将有效数据存到数组
m = m + 1
End If
Next Ce
vcnt = m '有效数据个数
Sheets.Add '添加工作表
ccnt = InputBox("输入目标区域的列数", "", ccnt) '获取填充区域的列数
ccnt = Int(ccnt)
m = 0
For i = 1 To Int(vcnt / ccnt) + 1
For j = 1 To ccnt
If m > (vcnt - 1) Then Exit Sub '赋值完毕退出程序
Cells(i, j) = temp(m)
m = m + 1
Next j
Next i
errorlab:
MsgBox (Error)
End Sub
全部回答
- 1楼网友:拾荒鲤
- 2021-02-01 05:08
这个是可以做到的,只是好象现成的方法没有办法实现,必须手工做。
建议是写一段宏来实现,很方便,也很快。再有问题发我吧
- 2楼网友:第四晚心情
- 2021-02-01 04:23
这个很简单,上面的菜单栏有一个图标,你选中单元格点一下图标就可以了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯