Vba 在Excel中提取数据并在其他工作表中转换/格式化数据

Vba 在Excel中提取数据并在其他工作表中转换/格式化数据,vba,excel,Vba,Excel,我是新来的,被认为是程序员最好的网站的人推荐到这个网站。我也认为是 我不熟悉VBA和Excel宏。 我想用一个有13列和1000行的电子表格做以下事情 确定A列至J列中的唯一项 将唯一项目移动到新图纸 将新工作表上的数据从列转换为行 将唯一项隔开(行将由要固定的数据确定,其下的数据不同) 根据B列到J列中的唯一项对原始数据进行排序 并在列后面使用唯一项和数据填充先前创建的新工作表 为每个填充的数据创建小计 以下是格式: A B C D E F

我是新来的,被认为是程序员最好的网站的人推荐到这个网站。我也认为是

我不熟悉VBA和Excel宏。 我想用一个有13列和1000行的电子表格做以下事情

  • 确定A列至J列中的唯一项
  • 将唯一项目移动到新图纸
  • 将新工作表上的数据从列转换为行
  • 将唯一项隔开(行将由要固定的数据确定,其下的数据不同)
  • 根据B列到J列中的唯一项对原始数据进行排序
  • 并在列后面使用唯一项和数据填充先前创建的新工作表
  • 为每个填充的数据创建小计
  • 以下是格式:

    A B C D E F G ... L M 1 Mike mazer Male White London SE Barman ... 36 4.52 A B C D E F G。。。我是 1 Mike mazer男白人伦敦东南酒吧招待。。。36 4.52
    你的问题有很多部分。如果你把这些部分分开,只是问一些给你带来困难的事情,这可能是最容易的

    尽管如此,如果您已经可以手动处理此问题,我建议您只使用excel记录一个宏(您可以在Visual Basic工具栏上找到此函数),该宏运行所有步骤,然后在vba编辑器中打开宏,以便稍后调整代码


    当然,如果你在中间的任何一个步骤上遇到困难,你总是可以问另一个问题。这里的人很乐意帮忙。希望对您有所帮助。

    是的,这可以通过记录常用Excel命令的Excel宏来完成。我建议先熟悉宏记录器,然后转到superuser.com学习可能需要录制的任何Excel命令

    步骤1-2可通过以下步骤完成:

    我个人记录了很多excel命令,只是为了看看它会输出什么样的VB代码。这是学习VB的好方法

    看起来您需要为第3步“透视”数据(在excel透视表上阅读)


    对于7,查看Data>SubTotal命令。它有几种不同的配置方法。

    您可以使用Application.WorksheetFunction.Transpose()函数来翻转值

    示例:对于整行

    Application.WorksheetFunction.Transpose("A1":"A1".End(xlToLeft))
    

    谢谢你,凯文德斯。我已经完成了步骤1和步骤2。对第4步和第5步有什么建议吗?谢谢,兰斯。请你给我转置属性中的参数好吗。我试图选择包含转置数据的新闻纸中的所有数据,并从A(1,1)开始向下转换所有数据。在一个基于一行的快速示例中编辑了许多参数,您的参数正是要转换的范围,当然,您希望将其指定给正确反向标注的范围。您可以使用xldown作为列,有很多方法可以在excel中获取范围。谢谢Shaka。我已经解决了1,2,希望是3。你有关于4-6的线索吗?许多感谢我最初的想法是,你可以通过玩自动过滤器(位于“数据”菜单中的“过滤器”下)来达到目的。我不太明白你想做什么,但自动筛选是一个非常强大的工具,可以对数据进行排序。当然,现在你已经在你的问题上取得了一些进展,你总是可以问另一个问题。