前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ExcelVBA由标题组和所在列数据为dic的key

ExcelVBA由标题组和所在列数据为dic的key

作者头像
哆哆Excel
发布2022-10-31 15:43:44
5370
发布2022-10-31 15:43:44
举报
文章被收录于专栏:哆哆Excel

我们在多条件求和时,由于条件不定,想组和条件为dic 的key,我想达到的目的是,任意输入标题,查找到标题所在列,再循环数据,把所在的列组合为dic 的 key ,再进行求和或计数,

今天自定义一个函数,以后有用

输入【单位】【级】

输入【单位】【班】

输入【单位】【级】【班】

【代码】

代码语言:javascript
复制
Sub 多条件求和()
    Dim myR As range, brr()
    With Worksheets("VBA多条件求和")
        arr = .range("A1").CurrentRegion
        arr1 = Application.Index(arr, 1, 0)
        Set myR = .range("O1").CurrentRegion
        brr = StrToArray(arr1, myR)
        For i = 2 To UBound(arr)
        sjoin = Join(Application.Index(arr, i, brr), "")
            Debug.Print sjoin
        Next i
    End With
End Sub
Function StrToArray(inarr, rng)
    Dim rr As range, t_n%, t_m%, t_Array()
    ReDim t_Array(1 To rng.Count)
    On Error Resume Next
    t_n = 1
    For Each rr In rng
        t_m = Application.WorksheetFunction.Match(rr.Value, inarr, 0)
        If Err = 0 Then
            t_Array(t_n) = t_m
            t_n = t_n + 1
        Else
            MsgBox "有数据不对"
            StrToArray = Array(False, False)
            Exit Function
        End If
    Next
    StrToArray = t_Array
    On Error GoTo 0
End Function
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档