多语言展示
当前在线:1245今日阅读:181今日分享:30

Excel数据如何快速排列

修法布施得聪明智慧,多分享让生活更美好。excel在处理数据时由列变成行,将行变成列,可以用【复制】数据,【选择粘贴】对话框勾选“转置”而达到。工作中如一列或一行数据分几列几行输出时excel无内置操作,如下图。下面用VBA处理玩转excel数据快速排列。
工具/原料

Excel VBA

方法/步骤
1

打开Microsoft Office Excel 2007,按下快捷键ALT+F11打开VBA(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。

2

然后插入了一个模块1,在代码框中复制如下代码:Option Base 1Sub 数据排列() '2019-9-29 21:42:58 Dim r As Long, c As Long, yn, mb As Range, nb(), i As Long, j As Long, k As Long  Set mb = Application.InputBox(Prompt:='选择要排列数据的单元格:', Type:=8)  yn = MsgBox('排列方式:按先行后列(是),按先列后行(否)', vbYesNo)  k = 0  If yn = vbYes Then        r = Application.InputBox(Prompt:='输入排列数据行数:', Type:=1)        c = Abs(Int(-1 * mb.Count / r))        ReDim nb(r, c)        For j = 1 To c            If k > mb.Count Then Exit For             For i = 1 To r                 k = k + 1                 If k > mb.Count Then Exit For                 nb(i, j) = mb.Cells(k).Value             Next i         Next j  Else         c = Application.InputBox(Prompt:='输入排列数据列数:', Type:=1)         r = Abs(Int(-1 * mb.Count / c))         ReDim nb(r, c)        For i = 1 To r            If k > mb.Count Then Exit For             For j = 1 To c                 k = k + 1                 If k > mb.Count Then Exit For                 nb(i, j) = mb.Cells(k).Value             Next j         Next i  End If  Set mb = Application.InputBox(Prompt:='选择输出的一个单元格:', Type:=8)   Range(mb, mb.Offset(r - 1, c - 1)) = nbEnd Sub

3

需数据排列运行上面宏代码可以达到你想要的排列,怎样运行宏呢?方法一,菜单栏中鼠标点【视图】,列表中找到【宏】,然后鼠标点【宏】的下箭头显示下拉列表,找到【查看宏】并鼠标点下,显示“宏”对话框,选宏名“数据排列”,鼠标点右边【执行】运行该宏,显示输入对话框,“选择要排列数据的单元格”,选择排列数据的单元格“ABCDEF”后,【确定】,再显示选择对话框“排列方式:按先行后列(是),按先列后行(否)”,这里的“先行后列”是先排完行再排列,“先列后行”是先排完列再排行。选“是”,显示输入对话框,要求“输入排列数据行数”,输1行,【确定】,再显示输入对话框,要求“选择输出的一个单元格”,选F7单元格后,【确定】,在F7单元格显示排列一行数据“ABCDEF”。

4

方法二:为了方便操作,在工作表上面制作一个操作运行宏的命令按键。操作方法是点工具栏最右边箭头显示下拉列表,找到【其它命令(M)】点下,打开“Excel选项”对话框,在“从下列位置选择命令(C):”下拉箭头选【开发工具选项卡】,在列表框中显示列表中选择【插入控件】,然后对话框中【添加(A)>>】按扭,在右边工具栏列表显示增加一个“插入控件”,点【确定】。这样在快速访问工具栏多了一个【插入控件】按扭工具。然后点下该工具,显示下拉列表“表单控件”选最左上第一个【按扭(窗体控件)】,然后在表格中光标变十字,点下按住鼠标左键不放生成方框再松开左键,弹出“指定宏”对话框,选宏名“数据排列”,点【确定】,选表中【按扭2】改名为【数据排列】按键,直接点该按扭可以运行该宏。

5

【数据排列】宏按扭工具操作开始的实例操作过程如下图:

推荐信息