gpt4 book ai didi

VBA:根据数据中的类别拆分excel文件

转载 作者:行者123 更新时间:2023-12-04 21:52:01 26 4
gpt4 key购买 nike

本质上,我们想要创建一个 VBA 代码,为每种类型的商店(我们数据集中的列/变量)自动创建工作簿。

例如,我们有一个包含下表的源工作簿:

Store   Seller    Item     Price
A | Youtube | Banana | 5,00
B | Youtube | Apple | 6,00
A | Google | Apple | 7,00
C | Google | Pear | 5,00
B | Amazon | Citron | 4,50

我们想要使用上表的 VBA 代码实现的是三个单独的工作簿,分别用于存储类型 A、B 和 C。工作簿需要具有存储类型的名称。所以它看起来像:
~ A.xls ~
Store Seller Item Price
A | Youtube | Banana | 5,00
A | Google | Apple | 7,00

~ B.xls ~
Store Seller Item Price
B | Youtube | Apple | 6,00
B | Amazon | Citron | 4,50

~ C.xls ~
Store Seller Item Price
C | Google | Pear | 5,00

我尝试了一种非常粗糙的方法(见下文),但缺少一些东西:
  • 高效循环
  • Windows(“Map4”).Activate搞砸了一个潜在的循环😊
  • 以及根据 ‘Type of store’ 命名文件的方法

  • Sub Macro1() 

    ActiveSheet.Range("$A$1:$A$8" & "$C$1:$C$8").AutoFilter Field:=2,
    Criteria1:="aa"
    Workbooks.Add

    Windows("Test_split file.xlsm").Activate
    Range("A1:C8").Select
    Selection.Copy
    Windows("Map4").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False

    ActiveWorkbook.SaveAs Filename:="C:\Users\bjprent\Documents\aa.xlsx", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close


    ActiveSheet.Range("$A$1:$C$8").AutoFilter Field:=2, Criteria1:="bb"
    Workbooks.Add

    Windows("Test_split file.xlsx").Activate
    Range("A1:C8").Select
    Selection.Copy
    Windows("Map4").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False

    ActiveWorkbook.SaveAs Filename:="C:\Users\bjprent\Documents\bb.xlsx", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close

    End Sub

    提前感谢您的帮助! :)

    最佳答案

    这是手动执行此操作的方法:

  • 创建数据透视表
  • 将商店类型拖动到过滤器(页面字段)
    地区
  • 将卖家和商品拖到行字段区域
  • 将价格拖动到值区域
  • 现在单击功能区的“分析”选项卡并选择
    “选项”、“显示报告过滤器页面”。
  • 选择商店类型并单击
    好的。
  • 关于VBA:根据数据中的类别拆分excel文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52316224/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com