ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 请教:从选择的编号起显示的问题

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-26 16:51 | 显示全部楼层
VBA万岁 发表于 2014-5-26 15:38
即:
Option Explicit

谢谢!您的代码够我学习一段日子了,不懂时再请教。

TA的精华主题

TA的得分主题

发表于 2014-5-26 17:04 | 显示全部楼层
鄂龙蒙 发表于 2014-5-26 16:51
谢谢!您的代码够我学习一段日子了,不懂时再请教。

谢谢你的鲜花!
我只是在他人(2楼)代码的基础上稍加几句而已,功不在我。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-26 17:44 | 显示全部楼层
VBA万岁 发表于 2014-5-26 17:04
谢谢你的鲜花!
我只是在他人(2楼)代码的基础上稍加几句而已,功不在我。

关键几句,那怕一句,我求了很长时间了,也没弄出来。再次谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-26 18:15 | 显示全部楼层
VBA万岁 发表于 2014-5-26 15:39
附件:

再请教一下:

下面的附件是用数组字典代码写的,有两个问题想请教一下。
模拟表.rar (24.43 KB, 下载次数: 8)

TA的精华主题

TA的得分主题

发表于 2014-5-26 19:10 | 显示全部楼层
鄂龙蒙 发表于 2014-5-26 18:15
再请教一下:

下面的附件是用数组字典代码写的,有两个问题想请教一下。

Private Sub ComboBox1_Change()
Dim ITM As ListItem
Dim x As Range
Dim d, r&, i&, j&, k&, sn, arr, brr(), m&
Set d = CreateObject("Scripting.Dictionary")
    With Worksheets("sheet1")
          r = Sheet1.[E:E].Find("*", , xlValues, , , xlPrevious).Row   '有数据的最后行数
          arr = .Range("B5:I" & r)
          m = Range("E:E").Find(ComboBox1.Text).Row - 4
          ReDim brr(1 To UBound(arr) + 1, 1 To 8)
                For k = m To UBound(arr)
                    If k > 0 Then      '这个判断怎么加?-------另一个问题是当选择“编号”1时,第1行不显示。
                            i = i + 1
                            brr(i, 1) = arr(k, 2): brr(i, 2) = arr(k, 3): brr(i, 3) = arr(k, 5)
                            brr(i, 4) = arr(k, 6): brr(i, 5) = arr(k, 7): brr(i, 6) = arr(k, 8)
                            sn = sn + brr(i, 6) * 1
                     End If
                     brr(i + 1, 4) = "    合     计"     '没有上面   K>1  的判断,到这里显示----越界
                     brr(i + 1, 6) = sn
               Next k
      End With
             UserForm1.ListView1.ListItems.Clear
        For i = 1 To UBound(brr)
            '添加记录
            Set ITM = ListView1.ListItems.Add()
            '添加内容
            ITM.Text = brr(i, 1)
            ITM.SubItems(1) = brr(i, 2)
            ITM.SubItems(2) = brr(i, 3)
            ITM.SubItems(3) = brr(i, 4)
            ITM.SubItems(4) = brr(i, 5)
            ITM.SubItems(5) = brr(i, 6)
       Next i
    Set ITM = Nothing
End Sub

TA的精华主题

TA的得分主题

发表于 2014-5-26 19:11 | 显示全部楼层
VBA万岁 发表于 2014-5-26 19:10
Private Sub ComboBox1_Change()
Dim ITM As ListItem
Dim x As Range

请测试附件:
模拟表.zip (24.59 KB, 下载次数: 29)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2015-1-29 17:17 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 12:32 , Processed in 0.037846 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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