全球主机交流论坛

标题: GPT也没吹的这么神啊,一个VBA写了一个小时了 [打印本页]

作者: 邪恶的抱抱    时间: 2023-4-22 10:47
标题: GPT也没吹的这么神啊,一个VBA写了一个小时了
一直在报错,一直再改,是不是我的方式不对?
  1. 使用excel VBA编写一个宏,名字为"数据分析",存放在当前文档
  2. 要求如下:
  3. 将当前sheet的E列,F列,G列在新的sheet"analyse"中进行数据透视,如果已经存在sheet"analyse",则覆盖.
  4. 将E列放入"行"
  5. 将F列和G列放入"值",并且都为求和项
复制代码

作者: Boos    时间: 2023-4-22 10:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: 职业菜鸟    时间: 2023-4-22 10:50
代码越长 功能越复杂 它离谱的程度越高。
作者: 暗夜精灵    时间: 2023-4-22 10:51
人家还是个几个月的小宝宝,已经相当不错了
作者: nmdx    时间: 2023-4-22 11:34
Sub Data 透视当前工作表的 E、F、G 列到新的 Sheet"analyse"中 ()  
      
    ' 设置变量  
    Dim sht As Worksheet  
    Dim wb As Workbook  
    Dim ws As Worksheet  
    Dim AnalyseSheet As Worksheet  
      
    ' 定义工作表  
    Set sht = ThisWorkbook.Sheets("Sheet1")  
    Set wb = ThisWorkbook  
    Set ws = wb.Sheets("analyse")  
      
    ' 设置数据透视表工作表  
    Set AnalyseSheet = wb.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count))  
      
    ' 设置数据透视表工作表参数  
    Set 透视表工作表 = AnalyseSheet.Range("A1").CurrentRegion  
    透视表工作表.AutoFilter  
    透视表工作表.SortMethod = xlSortOnCells  
    透视表工作表.SortFields.Add Key:=透视表工作表.Range("A1"), SortOn:=xlSortOnValues  
      
    ' 将当前工作表中的 E 列、F 列和 G 列的数据透视到新的 Sheet"analyse"中  
    透视表工作表.Range("E1").CurrentRegion.Copy sht.Range("A1")  
    透视表工作表.Range("F1").CurrentRegion.Copy sht.Range("B1")  
    透视表工作表.Range("G1").CurrentRegion.Copy sht.Range("C1")  
      
    ' 删除新工作表中的重复行  
    ws.Range("A1:C1").DeleteDuplicates xlBlanks  
      
    ' 保存新的工作表  
    wb.SaveAs AnalyseSheet.Range("A1"), xlExcel12  
      
End Sub
作者: wuxudd    时间: 2023-4-22 11:35
换成英文描述要比中文靠谱的多。有时候对中文描述执行的结果大相径庭。
作者: 邪恶的抱抱    时间: 2023-4-22 11:51
nmdx 发表于 2023-4-22 11:34
Sub Data 透视当前工作表的 E、F、G 列到新的 Sheet"analyse"中 ()  
      
    ' 设置变量  

感谢,但是似乎不行哈




欢迎光临 全球主机交流论坛 (https://loc.516000.xyz/) Powered by Discuz! X3.4