全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1599|回复: 6

GPT也没吹的这么神啊,一个VBA写了一个小时了

[复制链接]
发表于 2023-4-22 10:47:53 | 显示全部楼层 |阅读模式
一直在报错,一直再改,是不是我的方式不对?
  1. 使用excel VBA编写一个宏,名字为"数据分析",存放在当前文档
  2. 要求如下:
  3. 将当前sheet的E列,F列,G列在新的sheet"analyse"中进行数据透视,如果已经存在sheet"analyse",则覆盖.
  4. 将E列放入"行"
  5. 将F列和G列放入"值",并且都为求和项
复制代码
发表于 2023-4-22 10:48:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-4-22 10:50:22 | 显示全部楼层
代码越长 功能越复杂 它离谱的程度越高。
发表于 2023-4-22 10:51:39 | 显示全部楼层
人家还是个几个月的小宝宝,已经相当不错了
发表于 2023-4-22 11:34:00 来自手机 | 显示全部楼层
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
发表于 2023-4-22 11:35:16 | 显示全部楼层
换成英文描述要比中文靠谱的多。有时候对中文描述执行的结果大相径庭。
 楼主| 发表于 2023-4-22 11:51:45 | 显示全部楼层
nmdx 发表于 2023-4-22 11:34
Sub Data 透视当前工作表的 E、F、G 列到新的 Sheet"analyse"中 ()  
      
    ' 设置变量  

感谢,但是似乎不行哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-4 11:42 , Processed in 0.061092 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表