ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 彭希仁

[原创] 常用工具8.5 兼容64位系统

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-24 09:18 | 显示全部楼层
本帖已被收录到知识树中,索引项:其他插件和工具
anymole 发表于 2018-4-23 11:05
老大的8.5版有BUG是否会更新啊.期盼.

是兼容性问题吗?

TA的精华主题

TA的得分主题

发表于 2018-4-26 20:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-5-2 22:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请问版主:我在用汇总:将”地区“选为“分类字段”,对“销量”进行“计数”,如何不计空白单元格?

TA的精华主题

TA的得分主题

发表于 2018-5-2 22:34 | 显示全部楼层

请问版主:我在用汇总:将”地区“选为“分类字段”,对“销量”进行“计数”,如何不计空白单元格?

工作簿1.rar

59 KB, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2018-5-2 22:38 | 显示全部楼层
如果对空白单元格计数的话,那么平均值是不是=求和/计数,那平均值就不对了,偏小了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-5-3 09:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
傲雪 发表于 2018-5-2 22:38
如果对空白单元格计数的话,那么平均值是不是=求和/计数,那平均值就不对了,偏小了。

是这样的,程序不太好照顾一些特殊要求,那么程序就要太多选项了,不过你可以间接来实现,

TA的精华主题

TA的得分主题

发表于 2018-5-3 11:44 | 显示全部楼层
现在像版主这么无私的人不多了,都是打着旗号,闷头赚钱的

TA的精华主题

TA的得分主题

发表于 2018-5-3 17:47 | 显示全部楼层
怎么间接实现?
Sub sckh(x, d1)
    Dim i As Long
    Dim j As Long
    Dim lng As Long
    Dim lng2 As Long
    On Error GoTo ren
    If x < 0 Then x = 1
    lng = ActiveSheet.UsedRange.Rows.count
    lng2 = ActiveSheet.UsedRange.Columns.count
    ReDim arr(1 To lng, 1 To 1)
    rng = Cells(x, 1).Resize(lng, lng2)
    For i = 1 To lng
        For j = 1 To lng2
            If rng(i, j) <> "" And d1.Exists(j & "a") Then
                arr(i, 1) = i
                Exit For
            End If
        Next
    Next
    Cells(x, lng2 + 1).Resize(lng, 1) = arr
    For j = 1 To UBound(arr) - 3
        If arr(j, 1) = "" Then Exit For
    Next j
    j = j - 1
    Cells(x + j, 1).Resize(lng - j, lng2 + 1).Sort Key1:=Cells(x + j, lng2 + 1), Order1:=xlAscending
    z = Cells(Rows.count, lng2 + 1).End(xlUp).Row + 1
    Rows(z & ":" & lng + 2).Delete
    Columns(lng2 + 1).Delete
    Exit Sub
ren:        '错了就换最原始的方法删除空行
    On Error GoTo ren1
    If i > lng Then
        j = 0
        For i = UBound(arr) To 1 Step -1
            If arr(i, 1) = 0 And j = 0 Then j = i
            If arr(i, 1) > 0 And j > 0 Then
                If j - i = 1 Then
                    Rows(x + j - 1).Delete
                Else
                    Rows(x + i & ":" & x + j - 1).Delete
                End If
                j = 0
            End If
        Next i
        If j > 0 Then
            If j = 1 Then
                Rows(x + j - 1).Delete
            Else
                Rows(x & ":" & x + j - 1).Delete
            End If
        End If
        If lng2 < Columns.count Then Columns(lng2 + 1).Delete = ""
    End If
ren1:
End Sub
是这一段代码吧?
我没调明白,可以帮忙调整一下吗?我是初学者,我的工作中经常要用到求平均值(其中经常有空白单元格),麻烦帮帮忙,多谢了!

TA的精华主题

TA的得分主题

发表于 2018-5-3 20:22 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请您帮帮忙,我的数据量较大,您的这个工具用着非常方便,我没有其他的"多字段分类汇总"求平均值的方法。请帮帮忙,多谢了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-5-4 09:00 | 显示全部楼层
如果是多列    先用    有列字段转换成没有列字段(制作人:彭希仁)  再删除空格  再用汇总即可
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-26 16:26 , Processed in 0.048211 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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