Excel数据如何快速排列
修法布施得聪明智慧,多分享让生活更美好。excel在处理数据时由列变成行,将行变成列,可以用【复制】数据,【选择粘贴】对话框勾选“转置”而达到。工作中如一列或一行数据分几列几行输出时excel无内置操作,如下图。
VBA处理玩转excel数据快速排列
1. 打开Microsoft Office Excel 2007,按下快捷键ALT F11打开VBA(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。
2. 然后插入了一个模块1,在代码框中复制如下代码:
Option Base 1
Sub 数据排列()
Dim r As Long, c As Long, yn, mb As Range, nb(), i As Long, j As Long, k As Long
Set mb (Prompt:"选择要排列数据的单元格:", Type:8)
yn MsgBox("排列方式:按先行后列(是),按先列后行(否)", vbYesNo)
k 0
If yn vbYes Then
r (Prompt:"输入排列数据行数:", Type:1)
c Abs(Int(-1 * / r))
ReDim nb(r, c)
For j 1 To c
If k > Then Exit For
For i 1 To r
k k 1
If k > Then Exit For
nb(i, j) mb.Cells(k).Value
Next i
Next j
Else
c (Prompt:"输入排列数据列数:", Type:1)
r Abs(Int(-1 * / c))
ReDim nb(r, c)
For i 1 To r
If k > Then Exit For
For j 1 To c
k k 1
If k > Then Exit For
nb(i, j) mb.Cells(k).Value
Next j
Next i
End If
Set mb (Prompt:"选择输出的一个单元格:", Type:8)
Range(mb, (r - 1, c - 1)) nb
End Sub
3. 需要数据排列时运行上面宏代码可以达到你想要的排列。方法一,菜单栏中鼠标点【视图】,列表中找到【宏】,然后鼠标点【宏】的下箭头显示下拉列表,找到【查看宏】并鼠标点下,显示“宏”对话框,选宏名“数据排列”,鼠标点右边【执行】运行该宏,显示输入对话框,“选择要排列数据的单元格”,选择排列数据的单元格“ABCDEF”后,【确定】,再显示选择对话框“排列方式:按先行后列(是),按先列后行(否)”,这里的“先行后列”是先排完行再排列,“先列后行”是先排完列再排行。选“是”,显示输入对话框,要求“输入排列数据行数”,输1行,【确定】,再显示输入对话框,要求“选择输出的一个单元格”,选F7单元格后,【确定】,在F7单元格显示排列一行数据“ABCDEF”。
4. 方法二:为了方便操作,在工作表上面制作一个操作运行宏的命令按键。操作方法是点工具栏最右边箭头显示下拉列表,找到【其它命令(M)】点下,打开“Excel选项”对话框,在“从下列位置选择命令(C)”下拉箭头选【开发工具选项卡】,在列表框中显示列表中选择【插入控件】,然后对话框中【添加(A)】按扭,在右边工具栏列表显示增加一个“插入控件”,点【确定】。这样在快速访问工具栏多了一个【插入控件】按扭工具。然后点下该工具,显示下拉列表“表单控件”选最左上第一个【按扭(窗体控件)】,然后在表格中光标变十字,点下按住鼠标左键不放生成方框再松开左键,弹出“指定宏”对话框,选宏名“数据排列”,点【确定】,选表中【按扭2】改名为【数据排列】按键,直接点该按扭可以运行该宏。
5. 【数据排列】宏按扭工具操作开始的实例操作过程如下图:
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。