2016 - 2024

感恩一路有你

Excel数据如何快速排列

浏览量:4605 时间:2024-01-30 08:27:31 作者:采采

修法布施得聪明智慧,多分享让生活更美好。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. 【数据排列】宏按扭工具操作开始的实例操作过程如下图:

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。