永发信息网

EXCEL 如何将空白格去除并自动从左至右,从上至下进行排列

答案:3  悬赏:0  手机版
解决时间 2021-02-01 06:46
  • 提问者网友:浮克旳回音
  • 2021-02-01 02:01
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

如果分别对奇数行、偶数行进行排列呢
最佳答案
  • 五星知识达人网友:西风乍起
  • 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
全部回答
  • 1楼网友:拾荒鲤
  • 2021-02-01 05:08
这个是可以做到的,只是好象现成的方法没有办法实现,必须手工做。 建议是写一段宏来实现,很方便,也很快。再有问题发我吧
  • 2楼网友:第四晚心情
  • 2021-02-01 04:23
这个很简单,上面的菜单栏有一个图标,你选中单元格点一下图标就可以了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯