如何使用所有可用标题的列表根据标题对列进行排序?

贾里德·史密斯

我收到了几个不同的 Excel 电子表格,其中包含多达 30 个不同的列标题。我真的只需要每个电子表格中大约 8 或 10 列。我厌倦了左右滚动找到我需要的列。我想要一个宏,它会弹出一个对话框,其中包含所有可用的标题。我想选择我想要的标题,然后从左到右剪切和粘贴它们,使它们彼此相邻。

我是 VBA 的新手并试图学习它,但这有点超出我的理解。帮助任何人?

我已经找到了每次都以相同的方式组织我的列的方法,但每个电子表格都有不同的列和顺序,因此我需要能够选择它们。

爱编码

我建议使用带有列表框的用户表单,您可以在其中选择标题。你可以试试下面的代码。

要求:Userform ListBox > Multiselect Property 应该是 = 1 Button > 将选中的数据加载到新的工作表

Dim mySH As Worksheet
Dim oSH As Worksheet 'Output Worksheet


Private Sub cmd_load_Click()

Dim i As Integer
Dim col_count As Integer
col_count = 1
Dim col_header As String
Dim ns_srow As Integer
ns_srow = 1

'LOOP THRU ALL ITEMS IN LISTBOX AND GET ALL SELECTED
For i = 0 To lst_header.ListCount - 1
    If lst_header.Selected(i) Then
        col_header = lst_header.List(i)

        'FIND THE COLUMN HEADER POSITION AND TRANSFER TO NEWSHEET THE DATA
        For a = 1 To mySH.Cells(1, Columns.Count).End(xlToLeft).Column
            If mySH.Cells(1, a).Value = col_header Then
                For b = 1 To mySH.Cells(Rows.Count, a).End(xlUp).Row
                    oSH.Cells(ns_srow, col_count).Value = mySH.Cells(b, a).Value
                    ns_srow = ns_srow + 1
                Next b
                col_count = col_count + 1
                ns_srow = 1
                Exit For
            End If
        Next a
    End If
Next i

MsgBox "Data Completed"
End


End Sub

Private Sub UserForm_Initialize()

Set mySH = ThisWorkbook.Sheets("Data") 'name of your raw data worksheet
Set oSH = ThisWorkbook.Sheets("Output") 'output worksheet
'Assuming that column header is at row 1
For a = 1 To mySH.Cells(1, Columns.Count).End(xlToLeft).Column
    lst_header.AddItem mySH.Cells(1, a).Value
Next a

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用列表对多索引数据透视表的列标题进行排序

根据 perl 中的标题对 CSV 列值进行排序

如何根据列值对列表进行排序

如何获取JavaScript以对所有浏览器中的链接都可用的列表进行排序?

QML如何仅通过单击列标题对tableView进行排序

使用 jQuery 对带有标题的表格进行排序

如何根据标题类型对列进行取整

如何使用空标题名称对AG-Grid中的列进行排序

将列标题(非特定位置)与列内容进行匹配,并获取所有行标题

如何将所有列标题名称插入到qsqltablemodel表的列表中?

Selenium-Java-如何断言/验证页面上的所有链接是否正常工作,获取标题并根据预期标题进行验证

无法使用 Python WebScraping 从列表中获取所有标题

将嵌套的小标题的所有列取消嵌套到小标题列表

按标题名称对列进行排序

按列标题对SQL结果进行排序?

如何使用函数来分析所有小标题中的所有行,将我的数据放在小标题列表中?

如果在同一列表中找到标题,则根据标题对列进行分组。熊猫蟒

如何将列表与数据框列标题进行比较并替换标题的名称?

根据标题列表创建汇总列

如何使用参数列表(小标题)进行函数调用

根据标题中的浮点后缀对数据框中的列进行排序

根据一个列 ID、标题对两个表进行排序

如何遍历jQuery Datatables中的所有列标题

如何通过排除标题根据日期字段对数据进行排序

在Java中按列标题对2D列表进行排序

如何使用js获取所有标题标签值

如何为网站的所有页面使用单个标题标签

如何使用MediaWiki API获得所有Wikipedia文章标题?

如何根据某些列对列表字典进行排序?